一些库将四元数表示为 (w,x,y,z),将实部定位为第一个元素。
而其他的一些库则将其 表示为 (x,y,z, w)。
QuaternionConvention | Simulator/Library |
---|---|
wxyz | MuJoCo, SAPIEN, CoppeliaSim, IsaacSim, Gazebo, Blender, Taichi, Transforms3d, Eigen, PyTorch3D, USD |
xyzw | IsaacGym, ROS 1&2, IsaacSim Dynamic Control Extension, PhysX, SciPy, Unity, PyBullet |
除了四元数的约定之外,必须认识到,包括 Unity 和 Unreal Engine 4 在内的几种流行游戏引擎都在左手坐标系框架内运行。在这个系统中,正 x 轴向右延伸,正 y 轴向上上升,正 z 轴向前延伸。这些游戏引擎不仅在游戏开发中起着关键作用,而且还可用作各种研究领域的模拟器。
相反,大多数模拟引擎采用右手坐标系。左手坐标系和右手坐标系之间的区别是开发过程中需要考虑的一个重要方面。
在集成不同的库和工具时,坐标系约定的这种变化可能会导致空间计算和视觉表示的差异。因此,在这些系统中保持一致性是确保项目结果准确可靠的关键。
来源
Rotation Representation in 3D