Neutralise
Neutralise

Reputation: 329

Opengl rotation at a point

I want to rotate a shape in opengl, but I want to rotate it at a point. Namely I have a cylinder and I want to rotate it so it looks like it is spinning at the bottom and the spin 'size' increases until the object falls to the ground. How would I do this kind of rotation in opengl?

Upvotes: 1

Views: 4223

Answers (1)

Damon
Damon

Reputation: 70106

  1. Translate to the origin
  2. Rotate
  3. Translate back

So, if you want to rotate around (a,b,c), you would translate (-a,-b,-c) in step 1, and (a,b,c) in step 3.

(Don't be afraid of the number of operations, by the way. Internally all you do is multiply the transform matrix three times, but the pipeline that transforms the vertices is agnostic of how many operations you did, it still only uses the one final matrix. The magic of using a matrix for transformation.)

Upvotes: 3

Related Questions