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

questions and answers

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

Questions and Answers

Q: Какова мотивация Boost QVM? Почему бы просто не использовать uBLAS/Eigen/CML/GLM/etc?

A: Основной областью Boost QVM являются графические и имитационные приложения в реальном времени, поэтому это не полная библиотека линейной алгебры. В то время как (естественно) существует некоторое совпадение с такими библиотеками, QVM делает акцент на 2, 3 и 4-мерных операциях с нулевыми накладными расходами (отсюда специфические для домена функции, такие как Swizzling).

Q: Как шаблон qvm::vec (или qvm::mat, или qvm::quat) сравнивается с векторными типами из других библиотек?

A: Шаблон qvm::vec никоим образом не является центральным для векторных операций, определенных QVM. Операции предназначены для работы с любым типом вектора, определяемым пользователем, или с типами векторов 3-й стороны (например, D3DVECTOR), в то время как шаблон qvm::vec является просто типом возврата по умолчанию для выражений, которые используют аргументы различных типов, которые были бы несовместимы за пределами QVM. Например, если deduce_mat2 не был специализирован, вызов cross с определяемым пользователем типом vec3 и определяемым пользователем типом float3 возвращает qvm::vec.

Q: Почему QVM не использует [] или () для доступа к векторным и матричным элементам?

A: Потому что он предназначен для работы с определенными пользователями типами, а стандарт C++ требует, чтобы эти операторы были членами. Конечно, если определяемый пользователем тип определяет оператор [] или оператор(), они доступны для использования с другими функциями QVM, но QVM определяет свой собственный механизм доступа к векторным элементам , а также Swizzling.


See also: Boost QVM

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:03:08/0.024830102920532/1