Angus Dorbie (dorbie++at++sgi.com)
Fri, 17 Sep 1999 10:52:02 -0700
On the other half of your question, where do we not use standard math
notation w.r.t. the multiplication order? If you ignore the unrelated
row column issue where do we use the notation you find objectionable. I
see the pfVec3 man page lists v*m for the xform operations is this your
objection?
The pre multiplication and post multiplication are supported in the
matrix library so you can do either which just flips the matrix order.
Pre multiplication vs post multiplication of matrices depends on your
traversal order through the graph. Top down vs bottom up you can
construct the same matrix using the appropriate multiplication order.
Then transforming a vertex will go from object to world space of from
world to eye space depending on the combination of traversal order and
multiplication order. For model matrix only (ignoring inverse view
matrix complications).
Cheers,Angus.
Larry Ramey wrote:
>
> >From the performer insight page page:
>
> The standard order of transformations for a hierarchical scene involves
> postmultiplying the transformation matrix for a child by the matrix for
> the
> parent. For instance, assume your scene involves a hand attached to an
> arm attached to a body. To get a transformation matrix H for the hand,
> postmultiply the arm's transformation matrix (A) by the body's (B): H =
> AB. To transform the hand object (at location h in hand coordinates) to
> body coordinates, calculate h' = hH.
>
> OK, This SOUNDS nice, but anyone who knows matrix math KNOWS you can't
> multiply
>
> 0
> 1 * 4x4 Matrix
> 0
> 1
>
> Now you CAN do
>
> 0
> 1
> 4x4 Matrix * 0
> 1
>
> I am assumeing that this wierdness might have something to do with the
> fact that performer matrices print out their translation elemnets in the
> 4th row instead of the 4th column like a NORMAL GL matrix.
>
> Can someone PLEASE explain in what freaking order the DCS(SCS,FCS) in a
> scene graph are multiplied in!!!! I would greatly appreceate it if the
> word Postmuliply wasn't used at all. Please, Please, Please use normal
> MATH notation. (4x4)*(column vector) = (transformed vector)
>
> If am not an idiot, but something about performer math is really
> odd........
>
> Please if you can CC a copy to my address as I only get info performer
> in digest mode.
>
> Thank you in advance.
>
> ---------------------------------------------------------------
> Larry E. Ramey ramey++at++ccpo.odu.edu
> 757-683-3439 (CAVE) 757-683-5335 (VEL Lab)
> "I eat weirder things than you in my cereal" - Zaphod Bebblebrox
> "Maybe life is like a ride on a freeway/
> dodgeing bullets while your trying to find your way" - Offspring
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
--
"One of the best-known folk theorems of software engineering is that
60% to 75% of conventional software projects are either never
completed or rejected by their intended users. If that range is
anywhere near true (and I've never met a manager of any experience
who disputes it) then more projects than not are being aimed at goals
which are either (a) not realistically attainable, or (b) just plain
wrong."
Eric S. Raymond - The Cathedral and The Bazaar
For advanced 3D graphics Performer + OpenGL based examples and tutors:
http://www.dorbie.com/
This archive was generated by hypermail 2.0b2 on Fri Sep 17 1999 - 10:52:08 PDT