Opengl旋转一点

时间:2011-10-03 06:56:19

标签: opengl rotation

我想在opengl中旋转一个形状,但我想在某个点旋转它。也就是说,我有一个圆柱体,我想旋转它,看起来它在底部旋转,旋转'尺寸'增加,直到物体落到地面。我如何在opengl中进行这种旋转?

1 个答案:

答案 0 :(得分:3)

  1. 翻译成原点
  2. 旋转
  3. 翻译
  4. 因此,如果你想围绕(a,b,c)旋转,你可以在步骤1中翻译(-a,-b,-c),在步骤3中翻译(a,b,c)。

    (顺便说一句,不要害怕操作次数。内部所做的只是将变换矩阵乘以三次,但是转换顶点的管道不知道你做了多少次操作,它仍然只是使用最后一个矩阵。使用矩阵进行转换的魔力。)