如果我执行positionVector*worldMatrix
,则位置将转换为世界空间。
但是,如果我在3d空间方面反过来(worldMatrix*positionVector
)会发生什么呢?
我注意到结果与第一个不同。我已经在矩阵上搜索过,数学上他们解释了很多,但是没有解释过,至少我找不到它。
最佳答案
正如其他人指出的那样-交换乘法的顺序等效于乘以转置。碰巧,旋转矩阵是一种特殊的矩阵,称为orthogonal matrices,它为您提供了许多整洁的属性。
最有趣的可能是矩阵的转置是它的逆。对于您的世界,变换乘以逆就等于在世界空间中占据一个位置并将其拉入与变换相关联的对象的局部坐标中。
例如,考虑一个在世界上任意定向的盒子-与世界逆变换相乘可能(当然,完全取决于应用程序:))将您置于一个与轴对齐的空间中,如果您有兴趣寻找与在框的局部空间中进行计算的其他对象将使此操作更加容易。