对于绕坐标轴的旋转比较简单,绕X轴旋转1 0 0 10 cos(a) -six(a) 00 sin(a) cos(a) 00 0 0 1绕Y轴旋转cos(a) 0 six(a) 10 1 0 0-sin(a) 0 cos(a) 00 0 0 1绕Z轴旋转矩阵cos(a) -six(a) 0 0sin(a) cos(a) 0 00 0 1 00 0 0 1 但是对于绕任意轴旋转就比较复杂了, 主要分为以下步骤, 步一, 将直线旋转成为一个坐标轴重合 1.1 选择取线上任一点, 将直接平移至原点(如果该一定通过原点,则该步可约去), 平移矩阵为A 1.2 将直线绕Z轴回转至XZ或者YZ(任选一)平面内, 旋转矩阵为B 1.3 将直线绕Y(如果1.2直线在XZ)或者X(1.2直线在YZ)旋转至X轴或Y轴, 旋转矩阵为C步二, 绕步一重合的坐标轴进行旋转步三, 执行步一的逆变换 3.1 求C的逆变换矩阵c1, 依据1.3绕的那个轴转逆变换 3.2 求B的逆变换矩阵b1, 绕Z进行逆变换 3.3 求A的逆变换矩阵a1, 平移逆变换最终可得结果.需要注意的是, 如果是自己作计算过程, 以上过程全部假定坐标系不动.如果是在一些图形接口上做, 比如opengl上做, 它们是坐标在动的, 所以处理过程一定要分清楚是哪一种情况.
温馨提示:答案为网友推荐,仅供参考