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