我一直在开发一个小应用程序,它可以通过移动设备或平板电脑的陀螺仪控制立方体 map 全景图的旋转。我终于让它工作了,尽管是粗略的。我的解决方案涉及将来自陀螺仪的欧拉 Angular 转换为旋转矩阵,并将这些矩阵传递给各种修改矩阵。
现在我已经完成了这项工作,我希望平滑动画。我在想最好在一个数组中收集旋转数据,然后取它们的平均值。但是,我完全不确定该怎么做。
我可以对旋转矩阵或欧拉 Angular 本身进行平均吗?或者我是否需要将数据转换为四元数,然后应用某种平均函数?
任何帮助都会很棒。谢谢!
最佳答案
Can I average the rotational matrices, or the euler angles themselves?
没有。
Or am I going to need to convert the data into Quaternions and then apply some kind of averaging function?
是的,只有四元数适合内推/外推。参见 45:05 here (David Sachs, Google Tech Talk) .
我没有像您正在寻找的那样进行平滑处理,但无论如何,只有四元数是合适的。
Quaternion Slerps are commonly used to construct smooth animation curves ...
来自 Wikipedia, Slerp .
关于javascript - 用欧拉 Angular 或旋转矩阵平均旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24144445/