【发布时间】:2011-04-28 07:12:20
【问题描述】:
鉴于以下 x,y,z 旋转矩阵的定义,我如何将其表示为一个完整的矩阵?简单地将 x、y 和 & 矩阵相乘?
X 旋转:
[1 0 0 0]
[0 cos(-X Angle) -sin(-X Angle) 0]
[0 sin(-X Angle) cos(-X Angle) 0]
[0 0 0 1]
Y 旋转:
[cos(-Y Angle) 0 sin(-Y Angle) 0]
[0 1 0 0]
[-sin(-Y Angle) 0 cos(-Y Angle) 0]
[0 0 0 1]
Z 旋转:
[cos(-Z Angle) -sin(-Z Angle) 0 0]
[sin(-Z Angle) cos(-Z Angle) 0 0]
[0 0 1 0]
[0 0 0 1]
编辑:我有一个单独的旋转类,其中包含一个 x、y、z 浮点值,我稍后将其转换为矩阵以便与其他平移/缩放/旋转结合。
从这里的答案来看,我可以假设如果我这样做:
旋转旋转; 旋转.SetX(45); 旋转.SetY(90); 旋转.SetZ(180);
那么,应用旋转的顺序实际上真的很重要吗?或者假设在使用旋转类时,您接受它们以 x、y、z 顺序应用它们是否安全?
【问题讨论】:
-
这是here的回答。