【问题标题】:Rotation in three js is not correct三个js中的旋转不正确
【发布时间】:2014-05-19 05:59:33
【问题描述】:

我正在尝试使用 three.js 旋转网格。我已经设置了欧拉顺序“ZXY”。现在,如果我将 X 旋转 90 度并应用 Y 或 Z 旋转,它会显示相同的结果。虽然我认为旋转 Y 和 Z 的结果应该不同。

这种情况称为云台锁定。你可以在three.js在线编辑器上轻松产生这个问题

http://threejs.org/editor/

将 1.570 放入 Z 旋转,然后更改 Y 和 X 的旋转值。您可以看到两者将产生相同的输出,这在应用程序中不应该发生。

【问题讨论】:

  • 欧拉角不是唯一的。不同的欧拉三元组可以导致相同的方向。库工作正常。

标签: rotation three.js


【解决方案1】:

您正在处理的东西被称为万向节锁。当您使用欧拉角时会发生这种情况。由于欧拉角表示不明确,许多欧拉三元组可能会导致相同的旋转。重要的是应用 3 个角度 x、y 和 z 的顺序。 例如: 旋转 90 度。绕 x 等于绕 y 旋转 180 度,然后绕 x 旋转 -90 度。 为避免这种情况,请使用四元数进行旋转。

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 2013-11-12
    • 2023-03-20
    • 1970-01-01
    • 2016-03-25
    • 2012-08-02
    • 2014-05-19
    • 2021-08-27
    • 2019-01-10
    相关资源
    最近更新 更多