如何围绕另一个对象旋转一个对象,例如围绕另一个对象旋转一个对象?最好使用 GL.Rotate 和尽可能少的数学!
GL.Rotate
定义了一个绕(0, 0)旋转的旋转矩阵。如果您想绕枢轴旋转(pivotX
,pivotY
),您必须:
例如:
GL.Translate(pivotX, pivotY, 0); // 3. move back
GL.Rotate(angle, 0, 0, 1); // 2. rotate
GL.Translate(-pivotX, -pivotY, 0); // 1. move pivot to (0, 0)
另请参阅如何在变换中使用枢轴点