首页 >> 大全

三维空间中的旋转变换

2023-06-21 大全 43 作者:考证青年

1、绕坐标旋转公式

(1)绕Z轴旋转

(2)绕X轴旋转

(3)绕Y轴旋转

以上的矩阵变换公式为 : P' = P * mat;

2、绕任意轴旋转的公式:

给定具有单位长的

,则物体绕OA轴旋转变换的矩阵表示可确定如下:

3、绕任意轴旋转在Ogre中实现

Ogre::Matrix3 I = Ogre::Matrix3::IDENTITY;
Ogre::Matrix3 A = I, B = I, M = I;// (x,y,z) 是任意轴旋转到坐标原点的方向向量
A[0][0] = x * x;	A[0][1] = x * y;	A[0][2] = x * z;
A[1][0] = y * x;	A[1][1] = y * y;	A[1][2] = y * z;
A[2][0] = z * x;	A[2][1] = z * y;	A[2][2] = z * z;
B[0][0] =  0;		B[0][1] = -z;		B[0][2] = y;
B[1][0] =  z;		B[1][1] =  0;		B[1][2] = -x;
B[2][0] = -y;		B[2][1] =  x;		B[2][2] =  0;M = A + (I - A) * Ogre::Math::Cos(angle) + B * Ogre::Math::Sin(angle);
M = M.Transpose();// Trans is translate matrix
Ogre:: Matrix4 result = Trans.inverse() * Ogre::Matrix4(M) * Trans; 

4、Ogre中实现注意的问题

上述公式中的矩阵式按行表示的,而Ogre中的矩阵是按列表示的,因此最终的公式需要变化一下,即

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了