Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C/C++;_C++_Math_Quaternions - Fatal编程技术网

C++ C/C++;

C++ C/C++;,c++,math,quaternions,C++,Math,Quaternions,在C/C++中有好的四元数计算库吗 旁注:有好的教程/例子吗?我已经用谷歌搜索了它,并且浏览了前几页,但也许你有一些来自compsci的演示/实验室,或者你可以/愿意分享的数学课程 谢谢您可以尝试使用Boost,这通常是一个很好的开始。他们对此有自己的看法 至于示例,请查看Boost附带的文档和单元测试。DirectX和其他几个3D库都有自己的功能 在我看来,学习四元数是如何工作的最好方法是自己苦读数学。Wikipedia页面包含您需要的所有公式。我从中编写了自己的四元数库:)(它在Haskel

在C/C++中有好的四元数计算库吗

旁注:有好的教程/例子吗?我已经用谷歌搜索了它,并且浏览了前几页,但也许你有一些来自compsci的演示/实验室,或者你可以/愿意分享的数学课程


谢谢

您可以尝试使用Boost,这通常是一个很好的开始。他们对此有自己的看法

至于示例,请查看Boost附带的文档和单元测试。

DirectX和其他几个3D库都有自己的功能


在我看来,学习四元数是如何工作的最好方法是自己苦读数学。Wikipedia页面包含您需要的所有公式。我从中编写了自己的四元数库:)(它在Haskell中,所以我不想麻烦发布它。)

有关四元数的文档,请查看3D图形教科书。它们只是矩阵,使用乘法而不是计算昂贵的三角法产生3D旋转效果。

我是irlicht四元数类的爱好者。它是zlib许可的,并且很容易从Irrlicht提取:


有一个Eigen,一个数学和几何知识的模板库,用于Blender和KDE程序,它在一个.h文件中定义了一个光滑的四元数类


信息和

如果您决定自己动手,或者确实想了解代码背后的数学原理(对调试很有用),我强烈推荐。它看起来很原始,但解释很彻底,也很容易理解,他还提供了一些代码。

如果你使用四元数,这个网站非常重要。它有所有的算法,一步一步,等价,简化,不同语言的代码样本。在本页之后,我自己完成了大部分功能。我更喜欢那样,而不是下载图书馆。函数很容易编程,您可以边编程边学习

作为例子,我建议你检查这个四元数乘法的C++函数:

有一个简单的C/G对象库,其中包含各种向量、矩阵、四元数等计算的SIMD优化,这在3D图形中很常见。

使用DirectX和图形很好。学习可以产生一些吸引人的视觉效果。如果你找不到图书馆,你自己做其实并不难。我没有问题,我的it数学培训非常有限(计算机科学商业学位,而不是纯科学)。第二个环节不幸夭折。