Hi Frederic,

First thing to clear up is the being C++ you are tied to keeping the
variable to write to the left hand side, so write:

 C = A*B

Next thin got clear up is that in matrix maths you can have row major
or column major matrices, and each one has the opposite mulitplation
ordering.  The OSG uses row major, whereas OpenGL books/documentation
use column major these days.

 http://www.opengl.org/resources/faq/technical/transformations.htm

Its just a case of convention though.

Robert.

On 7/11/06, Drolet, Frederic (LTI) <[EMAIL PROTECTED]> wrote:




Hello everyone,



I've read the discussion on that matter in the mail archives but I didn't
get an actual solution to my problem. Don, you were surprised that this
issue didn't come up more often… Well there it is !



I'm simply trying to multiply two matrices (for a more complex problem !
:P), let's say A * B = C. In matrix A, I have a global scale at value (3,3).
In matrix B, I have a translation. Because matrices are transposed, I don't
get the correct result by doing A*B directly because translation is affected
by the global scale. If I understand well, what I actually have to do is B *
A = C to get the accurate result ? So every mathematical operations with
matrices have to be inverted like this ?



Thanks !



Frederic Drolet
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to