【问题标题】:Matrix transformation - rotate about object origin矩阵变换 - 围绕对象原点旋转
【发布时间】:2014-10-15 06:01:30
【问题描述】:

使用以下代码,我沿 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()。我现在如何实现同样的目标?

【问题讨论】:

标签: math matrix 3d


【解决方案1】:

好的,我自己想出了解决方案。 我只需要在每一帧都将其旋转回来,然后移动它,而不是将其旋转回来。 原因是,旋转改变了对象相对轴。所以翻译 也沿着这个新轴移动。沿着原点或“旧”轴移动, 只需要在此之前重置旋转。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多