矩阵变换 - 围绕对象原点旋转

时间:2014-10-14 21:21:39

标签: math matrix 3d

使用以下代码,我沿x轴移动一个物体,并相对于每一帧的位置旋转它。

quad.getModel().setIdentity();
quad.getModel().scale(new Vector3f(10, 10, 10));
quad.getModel().translate(new Vector3f(x, 0, 0));
quad.getModel().rotate(x * 2, new Vector3f(0, 1f, 0f));

现在我要删除model.setIdentity()。我现在怎么能做同样的事情呢?

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。 我只需要每帧旋转一次,然后移动它,而不是将其旋转回去。 原因是,旋转会改变对象相对轴。所以翻译 也沿着这个新轴移动。沿着原点移动,或者," old"轴, 只需要在此之前重置旋转。