Yes, that helps a lot. Thanks, Jeremy
--- David Spilling <[EMAIL PROTECTED]> wrote: > From "Matrix_implementation.cpp" (slightly edited) > > mat = [ r00 r01 r02 a > r10 r11 r12 b > r20 r21 r22 c > tx ty tz d ] > We note that this matrix can be split into three > matrices. > mat = rot * trans * corr, where rot is rotation > part, trans is translation > part, and corr is the correction due to perspective > (if any). > rot = [ r00 r01 r02 0 > r10 r11 r12 0 > r20 r21 r22 0 > 0 0 0 1 ] > trans = [ 1 0 0 0 > 0 1 0 0 > 0 0 1 0 > tx ty tz 1 ] > corr = [ 1 0 0 px > 0 1 0 py > 0 0 1 pz > 0 0 0 s ] > where the elements of corr are obtained from linear > combinations of the > elements of rot, trans, and mat. > [px py pz s] will be [0 0 0 1] if mat was composed > only of rotations, > scales, and translations (which is common). > > Internally, matrix is a float (or double ) [4][4], > i.e. [ROW][COL]. If you > set a Matrix via a pointer to 16 floats, then the > row/col order will look > like this: > > 0 1 2 3 > 4 5 6 7 > 8 9 10 11 > 12 13 14 15 > > Does that help? > > David > > _______________________________________________ > osg-users mailing list > [email protected] > http://openscenegraph.net/mailman/listinfo/osg-users > http://www.openscenegraph.org/ ____________________________________________________________________________________ Get your own web address. Have a HUGE year through Yahoo! Small Business. http://smallbusiness.yahoo.com/domains/?p=BESTDEAL _______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
