我想以gluSphere
圆周运动围绕固定点旋转 a,就像行星围绕太阳运行一样。
最好使用 glRotatef 或 glTranslate 吗?如果是这样,我应该按什么顺序打电话给他们?
您必须同时做一些事情:
gluSphere
它“面向”固定点,以便相对于球体向前平移使您更靠近其轨道中心glTranslatef
gluSphere
向前到您希望它旋转的点glRotatef
您希望球体运行的方向glTranslatef
就像你向前一样向后这样,您的球体与中心的距离保持不变,但会在一个不错的轨道上“围绕”翻译。
平移远离中心,然后一直旋转
glRotatef 将当前矩阵乘以旋转矩阵。这可以(给定正确的向量)做你正在尝试的事情。
glTranslatef 将当前矩阵乘以一个平移矩阵,这将有效地“移动”对象,而不是旋转它,所以它不会是你想要的。