Wiimote 方向作为 3D 矢量
我想知道是否可以将加速度计读数转换为 3D 矢量,因为 Wiimote 有 3 个加速度计。
我知道提取俯仰/横滚的技巧,但它只使用 X 和 Z 加速度计,并且存在万向节锁定问题。
我想要的是一个完整的 3D 矢量,它可以转换为四元数旋转表示。
I wonder if it is possible, as the Wiimote has 3 accelerometers, to convert the accelerometers readings to a 3D vector.
I know the trick to extract pitch/roll, but it only uses the X and Z accelerometers, and has the gimbal lock problem.
What I would like is a full 3D vector, that can be converted to a quaternion rotation representation.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
进一步考虑一下,加速度计值是我正在寻找的向量的分量......您只需将参考向量和该向量之间的最短弧表示为四元数即可。
例如,如果 Accel 是包含加速度计值的(归一化)向量:
我选择 {0, 0, 1} 作为参考向量,因为它是加速度计在“静止位置”的值(Wiimote 放在桌子上,指向您)。
这提供了与 X/Z 加速度计俯仰/滚动转换相同的运动,但在垂直位置没有万向节锁定。
唯一的问题是你无法获得有关地球重力轴旋转的信息......我想这就是 MotionPlus 的用途。
Thinking about it further, the accelerometers values are the components of the vector I was looking for... You only have to express the shortest arc between a reference vector and this vector as a quaternion.
For example, if
accel
is a (normalized) vector containing the accelerometer values:I chose {0, 0, 1} as the reference vector, because it is the values of the accelerometers at "rest position" (Wiimote on a table, pointing towards you).
This gives the same kind of movements the X/Z accelerometers pitch/roll conversion does, but without gimbal lock at vertical positions.
The only problem is you don't get information about rotations made on the earth gravity axis... I guess this is what the MotionPlus is made for.