【发布时间】:2011-01-26 14:24:53
【问题描述】:
我现在有一个物体,我绕着垂直 (Y) 轴在一个圆圈中移动。我想旋转这个对象,使其始终与圆的切线对齐,我该怎么做?不确定将 sin/cosine/tan 的哪个组合用作 glRotatef 的第一个参数...
谢谢!
【问题讨论】:
我现在有一个物体,我绕着垂直 (Y) 轴在一个圆圈中移动。我想旋转这个对象,使其始终与圆的切线对齐,我该怎么做?不确定将 sin/cosine/tan 的哪个组合用作 glRotatef 的第一个参数...
谢谢!
【问题讨论】:
glRotatef 的第一个参数是角度,以弧度为单位(因此 0 表示不旋转,PI 会前后翻转,2*PI 会一直旋转回原始方向)。
您可能已经通过反复试验自己回答了这个问题,而花费的时间比提出问题所需的时间还短。
请注意,如果您选择旋转中心作为圆心而不是对象的中心,则不需要单独的平移步骤。
【讨论】:
sin、cos 或tan 中的任何一个。角度是这些函数的参数。无论您之前在计算位移时传递给sin 和cos 的角度是什么,都应该是您应该传递给glRotatef 的角度。 glRotatef 将根据需要在内部使用 sin 和 cos。