给定x、y、z旋转矩阵的定义,如何将它表示为一个完整的矩阵?只需将x、y和z矩阵相乘即可。
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浮点值,稍后我会将其转换为矩阵,以便与其他平移/缩放/旋转组合。
从这里的答案来看,我可以假设如果我做这样的事情:
Rotation rotation; rotation.SetX(45); rotation.SetY(90); rotation.SetZ(180);
那么应用旋转的顺序实际上非常重要?或者在使用旋转类时,接受它们按照x、y、z的顺序应用是安全的吗?