6

我想以gluSphere圆周运动围绕固定点旋转 a,就像行星围绕太阳运行一样。

最好使用 glRotatef 或 glTranslate 吗?如果是这样,我应该按什么顺序打电话给他们?

4

3 回答 3

4

您必须同时做一些事情:

  • 确保gluSphere它“面向”固定点,以便相对于球体向前平移使您更靠近其轨道中心
  • glTranslatefgluSphere向前到您希望它旋转的点
  • glRotatef您希望球体运行的方向
  • glTranslatef就像你向前一样向后

这样,您的球体与中心的距离保持不变,但会在一个不错的轨道上“围绕”翻译。

于 2009-04-24T15:28:05.790 回答
2

平移远离中心,然后一直旋转

于 2009-04-24T15:20:20.193 回答
-2

glRotatef 将当前矩阵乘以旋转矩阵。这可以(给定正确的向量)做你正在尝试的事情。

glTranslatef 将当前矩阵乘以一个平移矩阵,这将有效地“移动”对象,而不是旋转它,所以它不会是你想要的。

于 2009-04-24T15:17:05.537 回答