iDevGames Forums
matrix-rotation problem - Printable Version

+- iDevGames Forums (http://www.idevgames.com/forums)
+-- Forum: Development Zone (/forum-3.html)
+--- Forum: Graphics & Audio Programming (/forum-9.html)
+--- Thread: matrix-rotation problem (/thread-7253.html)



matrix-rotation problem - <seb> - Mar 6, 2003 01: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?

Smile
sebastian


matrix-rotation problem - Tycho - Mar 6, 2003 02:39 PM

You have to rotate your object while it's still centered around the origin, and then translate it.


matrix-rotation problem - kelvin - Mar 6, 2003 03: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.