PDA

View Full Version : matrix-rotation problem


<seb>
2003.03.06, 04:28 PM
hi!

i am doing the following:
i have an object, position and orientation are stored
in a translationMatrix and a rotationMatrix. when rendering
the object, i compose a transformationMatrix with them.

now i want to rotate the object around its own z-axis.
i try to do that by multiplying the rotationMatrix with another
rotationMatrix representing a rotation around the z-axis.

but my object rotates around (0/0/0), not the objects position!
i seem to have followed the example i found in the article from
diana gruber, but the effect i get is not the one i wanted ...
what is wrong?

:)
sebastian

Tycho
2003.03.06, 05:39 PM
You have to rotate your object while it's still centered around the origin, and then translate it.

kelvin
2003.03.06, 06:26 PM
yeah, reverse the order of the matrix multiplies.

idealy if you're going to have 4 transforms, namely:
Location (translate)
Rotation (around a local origin offset)
Scale (around the same local origin offset)
Origin offset (translate)

you want to use the gl(Scale/Rotate/Translate) in the above order when setting up your matrix. Then just draw your polygons as if unscaled/rotated at the origin.