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/

Reply via email to