我想旋转一个3D对象。在此网站上http://paulbourke.net/geometry/rotate/

第一步说:

(1)转换空间,使旋转轴穿过原点

“空间”是什么意思?是我物体上的每一点吗?如果是这样,他提供的矩阵仅意味着当我将其乘以该矩阵时,所有点最终将为0,0,0。这意味着旋转矩阵将不起作用。

#1 楼

不,他说的是从顶点位置减去立方体的位置,以便将立方体放置在原点。

如果将立方体放置在(10,30,15),则减去

下一步,旋转顶点。

最后,将位置再次添加到顶点,以便框回到原来的位置,但是顶点已经绕着盒子的位置旋转了。

像这样进行旋转会使对象旋转到位。

如果在旋转之前没有减去位置,该物体将绕原点旋转,而不是在原地旋转。

评论


$ \ begingroup $
谢谢,您对它的解释非常好,我能够直观地理解您刚刚写的内容。另外,很抱歉这么晚回复。 -萨米
$ \ endgroup $
– S.A
17-2-16在17:08



#2 楼

通常在3d中有旋转物体,但您有一个轴心。对于旋转矩阵,假定枢轴位于原点(0; 0; 0)。这意味着如果枢轴不在(0; 0; 0),则必须移动该对象上的所有点,使其保持原样。
可以通过减去枢轴的位置以及之后的位置来轻松完成此操作。
因此平移空间意味着您移动所有点,使枢轴点位于原点。
所有点将不再是(0; 0; 0 ),只是感动。
希望对您有所帮助!