我正在寻找以下问题的解决方案:
我有一个球移动到屏幕的右上角。也就是说,它向右和向上的速度是相同的。
为了模拟它的旋转,它沿X轴和Y轴有一个角速度 - 它们也是相等的。
到目前为止,此工作正常。我现在的问题是在显示器上正确地旋转球:我正在使用OpenGL和一个简单的球体球。
现在我的天真方法是使用
glRotate(rx, 1, 0, 0); // rotate about x axis
glRotate(ry, 0, 1, 0); // rotate about y axis
但这不符合我的预期:第二次轮换取决于第一轮。再想一想,这就像我习惯的那样。但现在我正在寻找一种通过独立应用两种旋转来正确旋转球的解决方案。
我也尝试使用四元数但没有成功。我甚至不确定我是否得到了完全错误的方法,我的方法是“在某种程度上围绕x旋转,然后一些关于y”是有道理的。
非常感谢任何“启发”。
谢谢!
答案 0 :(得分:0)
在这种情况下,glRotate(rr, 1,1,0);
如何绕任意向量(1,1,0)旋转。