我很难找到如何在不改变轴方向的情况下旋转两个轴的对象。 我只需要局部旋转,首先围绕X轴,然后围绕Y轴(仅举例说明,不论变换整个坐标系,只围绕对象,围绕哪个轴进行多少次变换无关紧要)。 问题是,如果我使用glRotatef arround X轴,轴也旋转,这就是我不想要的。 我有一堆关于它的文章,但它似乎仍然缺少一些东西。 感谢您的帮助。OpenGL ES在固定坐标系统中旋转
要在这里有一些示例代码,它是这样的
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(rotX, 1.0f, 0.0f, 0.0f);
glRotatef(rotY, 0.0f, 1.0f, 0.0f);
drawObject();
但这也变换坐标系。
谢谢你的建议,我已经试过这一点,但它没有工作,我认为这个问题是在某一步,我旋转角落找寻其旋转坐标系统,然后在相同的步骤X轴这个旋转是使用已经绕着X轴旋转的坐标系来完成的,所以它不是我所需要的。也许我之前解释过这个不好或不清楚。 或者你认为问题在别的地方? – Jenicek 2010-05-24 17:47:15
啊,我明白了,所以你想围绕全球的Y轴旋转,而不是本地的Y轴。这不是表达旋转的常用方式,而且我不知道该怎么做。你可以尝试颠倒X和Y旋转的顺序,看看它是否对你的应用更有意义。 – Thomas 2010-05-24 18:43:22
是的,你是对的。我知道这并不常见,我只是在尝试一些东西,而我在这一点上陷入了困境:)也许我会弄明白,我会尝试再次玩它:)感谢您的回复:) – Jenicek 2010-05-24 19:12:37