From: Marcin Romaszewicz (marcin++at++asmodean.engr.sgi.com)
Date: 11/09/2001 15:26:42
Yes, you're right. Performer uses row vectors while Thomas is using column
vectors. The transposing of vectors is purely a notational convention, so
while matrices need to be transposed to convert column major operation to
row major, vectors can be used as is - they're not actually 3x1 or 1x3
matrices.
-- Marcin
On Thu, 8 Nov 2001, Erik Brisson wrote:
> On Thu, Nov 08, 2001 at 08:52:44PM +0000, Thomas Proell wrote:
> > I seem to have a problem with the performer mathematics. The Performer
> > Matrix Operations are not compatible with mine ;-)
> ...
> > matrix.preTrans(2, 3, 4, matrix)
> > for(i=0; i<3; i++)
> > {
> > matrix.getRow(i, &x, &y, &z, &m);
> > printf("%d %d %d %d \n", x, y, z, m);
> > }
> >
> > This gives me the result:
> >
> > a b c d
> > e f g h
> > i j k l
> > 2 3 4 1
> >
> > What's wrong here? This isn't correct, is it? I have no idea what's
> > going on here :-(
> >
>
> This is correct - the translation component of the transform
> is represented in Performer by M[0][0], M[0][1], M[0][2] in the
> pfMatrix.
>
> If I am making the correct assumptions about you're existing system,
> to make it correspond to Performer you would have to transpose all matrices
> and vectors, and reverse the order of composition, e.g.,
>
> M2 * M1 * v (in your system)
> Transpose(v) * Transpose(M1) * Transpose(M2) (in Performer)
>
> Erik Brisson
> ebrisson++at++bu.edu
> Scientific Computing and Visualization Group
> Boston University
> -----------------------------------------------------------------------
> List Archives, Info, FAQ: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
> -----------------------------------------------------------------------
>
This archive was generated by hypermail 2b29 : Fri Nov 09 2001 - 21:25:28 PST