图形编程中,旋转的三种表示方法分别是:矩阵、欧拉角和四元数。
本文总结这三种表示方法的特点:
性质 | 矩阵 | 欧拉角 | 四元数 |
---|---|---|---|
在坐标系间转换 | 能 | 不能 | 不能 |
连续或增量旋转 | 能,但是转换速度慢 | 不能 | 能,转换速度快 |
插值 | 基本不能 | 能,但可能遇到万向锁问题 | 能,且能平滑插值 |
易用程度 | 难 | 易 | 难 |
存储 | 9个数 | 3个数 | 4个数 |
对给定方位表达方式是否唯一 | 是 | 不是,对同一方位有无数种表达 | 不是,对同一方位有两种表达 |
可能导致非法 | 矩阵蠕变 | 任意三个数都能构成合法的欧拉角 | 可能会出现误差积累,从而产生非法的四元数 |