在我的 OpenGL 应用程序中,我需要使用 ArcBall 旋转来使用鼠标旋转对象。
阅读这篇文章后,我意识到我必须使用四元数 - http://www.gamedev.net/page/resources/_/technical/math-and-physics/quaternion-powers-r1095
我在这里找到了一个易于使用的实现 - http://www.codeproject.com/KB/openGL/virtualtrackball.aspx
但我的问题是我还需要在保存的两个状态之间为我的对象设置动画。那是 -
状态(1)=(位置 X1,位置 Y1,位置 Z1,旋转 1);
状态(2)=(位置 X2,位置 Y2,位置 Z2,旋转 2);
*这些“旋转”是旋转矩阵
动画分n步完成。
类似于此视频中显示的内容 - http://www.youtube.com/watch?v=rrUCBOlJdt4
如果我对三个轴(滚动、俯仰、偏航)使用 3 个单独的角度,我可以轻松地插入角度。但是,由于 ArcBall 使用旋转矩阵,我如何插入 State 1 和 State2 之间的旋转?
有什么建议么 ?