0

基本上,我在这里对使用 OpenGL 和 C++ 的多个点的旋转问题有些困惑。

如何在(42,42)和(-42,42)的旋转点旋转简单的矩形?我的盒子从点 (46,0) 移动到 (46,42) 并在旋转点 (42,42) 旋转 +90 度到 (42,46) (这里没有说明其他 3 个点,因为它们是相对的到第一点)。

然后我的盒子从 (42,46) 移动到 (-42,46) 并在 (-42,42) 处做了一个简单的 90 度。最后我的盒子移动到点(-46,42)。从 (-46,42) 移动到 (-46,0)。

我尝试使用glPushMatrix(), glTranslatef(42,42,0), glRotatef(theta2, 0.0, 0.0, 1.0), glTranslatef(-42,-42,0). 但它只适用于第一个旋转点。对于下一个旋转点,它似乎不起作用。有什么办法可以解决这个问题吗?

4

0 回答 0