|
http://www.cnblogs.com/soroman/archive/2006/09/19/509597.html 3D空间中的旋转可用旋转矩阵、欧拉角或四元数等形式来表示,他们不过都是数学工具,其中在绕任意向量的旋转方面,旋转矩阵和四元数两种工具用的较多,欧拉角由于存在万向节死锁等问题,使用存在限制。 所求问题: 1.用四元数工具: 其中,p',q,p,q-1均为四元数。q由向量q扩展,为q=(cos(theta/2),sin(theta/2)*q),p由向量p扩展,为p=(0,x,y,z),q-1为q的逆,因为q为单位四元数,所以q-1=q*=(cos(theta/2),-sin(theta/2)*q)。 (这个结论的证明过程可以在网上找到。这里略去。) c=cos(theta), s=sin(theta),t=1-c. 比较来看,还是使用四元数的效率要高出一些,这在要变换的点的数目越大时,体现的越明显。实际上,有很多3D引擎为了利用四元数运算的高效率性,一般先将矩阵转换成四元数后进行运算再转回为矩阵后,再传给DirectX或OpenGL库函数。 |
(转载)探讨:物体绕任意向量的旋转-四元数法VS.旋转矩阵法的性能比较
最新推荐文章于 2025-08-14 12:05:51 发布
本文探讨了3D空间中物体绕任意向量旋转的两种数学工具——四元数与旋转矩阵,并通过时间复杂度分析比较了两者的运算效率。
部署运行你感兴趣的模型镜像
(转载)探讨:物体绕任意向量的旋转-四元数法VS.旋转矩阵法的性能比较
2009-01-07 16:08
您可能感兴趣的与本文相关的镜像
Stable-Diffusion-3.5
图片生成
Stable-Diffusion
Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率
2041

被折叠的 条评论
为什么被折叠?



