【发布时间】:2020-08-27 08:46:58
【问题描述】:
我正在阅读有关 XNA 中的 2D 相机的信息,并偶然发现了这个用于创建变换矩阵的函数。
public Matrix get_transformation(GraphicsDevice graphicsDevice)
{
_transform = // Thanks to o KB o for this solution
Matrix.CreateTranslation(new Vector3(-_pos.X, -_pos.Y, 0)) *
Matrix.CreateRotationZ(Rotation) *
Matrix.CreateScale(new Vector3(Zoom, Zoom, 1)) *
Matrix.CreateTranslation(new Vector3(ViewportWidth * 0.5f, ViewportHeight * 0.5f, 0));
return _transform;
}
我似乎无法理解为什么矩阵从左到右相乘,而实际上它们不应该从右到左相乘(右是要应用的第一个转换)?我似乎无法掌握这实际上是如何工作的。任何见解都会非常有帮助。
谢谢
【问题讨论】:
标签: c# matrix camera xna transformation