If you are like me, you will be thrilled to read this page : opengl transforms, great article, made me understand the concept of local space and the world space
If you work with 3dsmax, blender, autocad, lightwave, etc you will likely works with axes, you use this axes to translate, rotate, scale your models, even per-element base(vertices, faces, polygons, edges).
There is a concept which helps me a lot to program transformation, and that is the local axes, the forward, up, and left axes which is locally for our object. If you put your matrix data using OpenGL conventions (column major) and you save your transformation to your object, then the elements :
- local-x (default 1,0,0) would be (m0, m1, m2)
- local-y (default 0,1,0) would be (m4, m5, m6)
- local-z (default 0,0,1) would be (m8, m9, m10)
- and your object translation would be (m12, m13, m14)
But remember this matrix represents your modelview (that is your model matrix * view matrix)
okayh, now, what is this model matrix, and view matrix?