0

我正在尝试使用 System.Numerics.Matrix4x4 和 SDL2 旋转立方体以进行图形输出。我很难理解矩阵旋转的概念。

我可以做到,就像这样:

matrix *= Matrix4x4.CreateRotationX(deg);
matrix *= Matrix4x4.CreateRotationY(deg);
matrix *= Matrix4x4.CreateRotationZ(deg);

然后我在立方体中的点上使用 Vector3.Transform() 并在它们之间画线。看起来……好吧,它在原地旋转。但是我如何获得透视?如何让相机融入其中?

这个方法怎么样:

matrix *= Matrix4x4.CreateFromAxisAngle(new Vector3(2, 2, 2), (float)rad);

我不确定我应该如何在那里使用向量,或者它应该做什么。我的立方体奇怪地生长和伸展......参见当矩阵在立方体上应用 10、45 和 90 度时的图片:

https://www.dropbox.com/s/hui5jvky7cexciq/10_45_90.png?dl=0

我应该如何正确地做到这一点?

4

0 回答 0