我有 2 个旋转矩阵(我们称它们为 A 和 B),其中:
A = 1 0 0
0 0 -1
0 1 0
和
B = -1 0 0
0 0 -1
0 -1 0
这基本上只是相机旋转以查看其后方的旋转。 显然我不能直接对矩阵中的值进行插值,因为它看起来很奇怪。 我尝试将矩阵转换为欧拉角,从而产生 2 组 X、Y、Z 角度,并尝试根据 X、Y、Z 角度每个分量之间的最小距离确定要使用的角度。这肯定会导致我想要的旋转,但我想不出一种合适的方法来确定在哪些角度之间进行插值,因为有时导致最小误差的角度集会导致绕错误的轴旋转。 我也尝试过四元数,但这基本上给了我相同的结果。谁能指出我正确的方向?
最佳答案
使用四元数 (SLERP)。旋转矩阵和欧拉角都不适合插值。
参见 45:05 here (David Sachs, Google Tech Talk) .
关于opengl - 在旋转矩阵之间插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5580283/