对于一个项目,我想用 C++ 做一个非常简单的毕达哥拉斯计算。一个物体配备了一个 IMU 传感器,该传感器提供四元数旋转或欧拉角。我想知道的是对象下方三角形的对边。:
我想知道 X 轴和 Y 轴的三角形的这些边(黑色箭头):
这非常简单,除了对象可以旋转。当物体旋转时,我仍然想在世界空间中使用 X 和 Y 轴(黑色箭头),但是当偏航时,IMU 的欧拉角为我提供了局部空间中的俯仰和滚动(红色箭头):
在偏航时我仍然可以通过什么方式获得世界空间角度(黑色箭头),以便能够计算我的简单毕达哥拉斯计算?如果我不能得到它们,有没有办法使用四元数计算我想要的对边?