删除"偏移"两个THREE.js对象之间的旋转

时间:2018-03-04 20:25:45

标签: math three.js rotation quaternions

我有两个独立的传感器,它们以四元数的形式向我的three.js webapp广播(每50ms)它们的旋转。传感器连接在一起,因此它们一起旋转,但是它们的内部(相对)坐标是不同的,所以我的两个三个物体不会同步并且#34;

我想要做的是将按钮的旋转差异存储在按钮上并使用它来“纠正”#34;在此之后,对象的旋转之一不断。

我试图做的事情:

  • 按下按钮计算差异:

    let q1 = object1.getWorldQuaternion();
    let q2 = object2.getWorldQuaternion();
    qDiff = q1.multiply(q2.inverse());
    
  • 更新轮换时,将该差异添加到object1:

    q = recieveQuaternionFromSensor();
    object1.setRotationFromQuaternion(q.multiply(qDiff));
    

上述方法无效,我不确定应该采取哪些不同的方式。

0 个答案:

没有答案