【发布时间】:2023-04-03 05:58:01
【问题描述】:
我想以圆周运动围绕固定点旋转gluSphere,就像行星围绕太阳运行一样。
最好使用 glRotatef 还是 glTranslate?如果是这样,我应该按什么顺序打电话给他们?
【问题讨论】:
我想以圆周运动围绕固定点旋转gluSphere,就像行星围绕太阳运行一样。
最好使用 glRotatef 还是 glTranslate?如果是这样,我应该按什么顺序打电话给他们?
【问题讨论】:
你必须同时做一点:
gluSphere“面向”固定点,以便相对于球体向前平移使您更接近其轨道中心glTranslatef gluSphere 前进到您希望它围绕其旋转的点glRotatef 您希望球体运行的方向glTranslatef 就在你往前的位置上这样,您的球体与中心的距离保持不变,但会在一个不错的轨道上“围绕”平移。
【讨论】:
从中心平移,然后一直旋转
【讨论】:
glRotatef 将当前矩阵乘以一个旋转矩阵。这可以(给定正确的向量)做你正在尝试的事情。
glTranslatef 将当前矩阵乘以一个平移矩阵,这将有效地“移动”对象,而不是旋转它,因此它不会是您想要的。
【讨论】: