我有一个名为Myo Armband的设备,我正在使用它输出的方向数据来控制手臂的位置。在python中(使用Vizard进行渲染)。现在,我有它可以做的地方
arm.setQuat(armbandQuat)
它有点工作。向上和向下是准确的,但是关于垂直轴的旋转每次都以随机方向开始。为了解决这个问题,我做了这样的事情,当你按下空格键时,它会记录偏移的四元数。我想要发生的是,无论何时按下空格,屏幕上的手臂都会进入一组“0' 0位置和围绕垂直轴的所有运动都将相对于此。换句话说,用户将手臂水平按压空间以进行校准。
对于将这两个四元数设置为正确旋转坐标,我需要做什么?最初我认为你可以将两个四元数乘以(或第二个的倒数),但如果一个是0,0,0,0那么手臂将被冻结在0,0,0,0。
如果这更容易,我也可以获得并设置欧拉坐标。看起来,四元数更像是一个完美的旋转系统。
我认为它应该有点简单,但我花了好几个小时查找答案并尝试解决问题,但没有任何作用。