我一直在开发一个小应用程序,它通过移动设备或平板电脑的陀螺仪控制立体地图全景的旋转。我终于让它工作了,虽然很粗略。我的解决方案包括将来自陀螺仪的欧拉角转换为旋转矩阵,并将这些矩阵通过各种修改矩阵。
现在我有了这个工作,我正在寻找平滑动画。我在想最好是在一个数组中收集旋转数据,然后取它们的平均值。但是,我完全不确定如何做到这一点。
我可以平均旋转矩阵或欧拉角本身吗?还是我需要将数据转换为四元数,然后应用某种平均函数?
任何帮助都会很棒。谢谢!
我一直在开发一个小应用程序,它通过移动设备或平板电脑的陀螺仪控制立体地图全景的旋转。我终于让它工作了,虽然很粗略。我的解决方案包括将来自陀螺仪的欧拉角转换为旋转矩阵,并将这些矩阵通过各种修改矩阵。
现在我有了这个工作,我正在寻找平滑动画。我在想最好是在一个数组中收集旋转数据,然后取它们的平均值。但是,我完全不确定如何做到这一点。
我可以平均旋转矩阵或欧拉角本身吗?还是我需要将数据转换为四元数,然后应用某种平均函数?
任何帮助都会很棒。谢谢!
我可以平均旋转矩阵或欧拉角本身吗?
没有。
还是我需要将数据转换为四元数,然后应用某种平均函数?
是的,只有四元数适用于内推/外推。请参阅此处的 45:05 (David Sachs,Google 技术讲座)。
我没有像您正在寻找的那样进行平滑处理,但无论如何,只有四元数是合适的。
四元数 Slerps 通常用于构建平滑的动画曲线...
来自维基百科,Slerp。