我想围绕固定点以圆周运动旋转 gluSphere
,就像行星绕太阳旋转一样。
最好使用 glRotatef 还是 glTranslate?如果是这样,我应该按什么顺序调用它们?
最佳答案
你必须两者都做一些:
- 确保 gluSphere“面向”固定点,这样相对于球体向前平移会使您更接近其轨道中心
glTranslatef
将gluSphere
向前移动到您希望其旋转的点glRotatef
您希望球体绕轨道运行的方向glTranslatef
向后移动到前进的距离
这样,你的球体与中心的距离保持相同,但会在一个很好的轨道上“围绕”平移。
关于OpenGL围绕一个点旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786293/