openGL多点旋转 基本上,我对OpenGL和C++中的多点旋转问题有点困惑。

openGL多点旋转 基本上,我对OpenGL和C++中的多点旋转问题有点困惑。,opengl,Opengl,如何在(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(θ2,

如何在(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(θ2,0.0,0.0,1.0)
glTranslatef(-42,-42,0)
。但它只适用于第一个旋转点。对于下一个旋转点,它似乎不起作用。有什么办法可以解决这个问题吗?

你能不能对运动线上的其他点做同样的反向平移到原点、旋转、反向平移技巧?为什么?他们在互相收缩吗?你的回答把我弄糊涂了。也许是翻译问题?我的意思是,没有理由不能用同样的技巧旋转世界上的每个对象。每个“平移”、“旋转”、“平移”都将应用于当前绑定的VBO-它们互不依赖。