【问题标题】:Direction of rotation or handedness in three.jsthree.js 中的旋转方向或惯用手
【发布时间】:2016-05-31 11:15:55
【问题描述】:

我注意到当我围绕 Z 轴旋转模型时,如下所示:

model.rotateZ(rotatedAngle * Math.PI / 180);

它似乎绕轴逆时针旋转。

  • 这个观察结果准确吗?
  • 这是否记录在某处?我找不到它,可能是我使用了错误的搜索字词。
  • 这是可配置的吗?
  • 最重要的是,管理轮换的最佳做法是什么?

【问题讨论】:

    标签: javascript three.js rotation


    【解决方案1】:

    Three.js 使用right handed system,这意味着逆时针是默认旋转。有关所有轮换规则,请参阅here...

    左手系统(顺时针),右手系统(逆时针)

    然后在你的角度上添加一些东西会逆时针旋转 移除东西顺时针旋转。

    function rotate(){
        mesh1.rotation.z += 0.01;  // rotates counter clockwise
        mesh2.rotation.z -= 0.01;  // rotates clockwise
    }
    

    A Fiddle here to demonstrate

    【讨论】:

    • 谢谢!我希望这在三人组文档中更容易找到。
    • 为了澄清一点,答案图像中显示的坐标系不是THREE.js的坐标系。 THREE.js 是 y+ = 向上,z- = 向前,x+ = 向右。这对于右手坐标系来说是非常典型的。图中显示的是 z+ = 上,y+ = 前,x+ = 右。
    • 如果您想仔细检查您的坐标系,我建议您使用 AxesHelper:threejs.org/docs/#api/en/helpers/AxesHelper
    猜你喜欢
    • 2015-12-27
    • 1970-01-01
    • 2015-02-06
    • 2014-02-27
    • 2013-07-17
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    相关资源
    最近更新 更多