Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Views

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

QVM: Quaternions, Vectors, Matrices

Views

Boost QVM определяет различные шаблоны функций, которые обеспечивают статическое отображение между (возможно, определяемым пользователем) типами кватерниона, вектора и матрицы. Приведенный ниже пример умножает столбец 1 (повышенные индексы QVM всегда основаны на нуле) матрицымна скаляр:

void multiply_column1( float33 & m, float scalar )
{
    col<1>(m) *= scalar;
}

Выражениеcol<1>(m)является значением l неопределенного 3D-вектора, который относится к столбцу 1 изм.. Обратите внимание, однако, что это не создает никаких временных объектов; вместо этогооператор *=выше работает непосредственно со ссылкой нам.

Вот еще один пример, умножающий транспонированный вид матрицы на вектор некоторого определяемого пользователем типаfloat3:

float3 v = {0,0,7};
float3 vrot = transposed(rotx_mat<3>(3.14159f)) * v;

В общем, различные функции представления возвращают ссылки неопределенных, некопируемых типов, которые относятся к исходному объекту. Они могут быть назначены или преобразованы в любой совместимый вектор или тип матрицы.

Подробнее см.Просмотр прокси.

Статья Views раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 23:41:58/0.0078568458557129/1