Re: Moving Camera on a moving frame of the scene

New Message Reply Date view Thread view Subject view Author view

Robert Wolfe (rwolfe++at++dciem.dnd.ca)
Tue, 26 Jan 1999 13:08:07 -0500


I have a related follow-on question which should respond in part to
Guenter's queries.

Angus Dorbie wrote:
>
> Robert Wolfe wrote:
> >
> > Hi,
> >
> > I am fairly certain that there is an error in the following
> > paragraph of manpage doc from pfNode.
> > Can somebody identify the error please ?
> >
> > //////////////////////////////////////////
> > The transformation of a pfDCS affects all its children. As the
> > hierarchy is traversed from top to bottom, each new matrix is pre-
> > multiplied to create the new transformation. For example, if DCSb
> > is below DCSa in the scene graph, any geometry G below DCSa is
> > transformed as G*DCSb*DCSa.
> > /////////////////////////////////////////
> >
> > What then would be the correct order of multiplication of a point
> > defined in the local coordinate system of the geometry G with the
> > parent DCSs in order to produce the point in world coordinates ?
> >
> > (My guess is G*DCSb*DCSa if I have correctly identified the error
> > above).
>
> But this is what is stated above, there is no error. You are correct
> about the object to world xform. This paragraph is discussing
> *modelling*
> transformation which is what DCS' & SCS' do, modelling transformation
> converts from object to 'world' coords. In OpenGL it is concatenated
> with viewing transformation, but performer hides this.
>
> I don't really understand your confusion, you seem to understand the
> transformation process.
>

I expected the example above to say "any geometry G below DCSb" which I
still believe is what is meant. Otherwise, how do you know what the
relationship between DCSb and any geometry below DCSa?

The other thing I am confused about is the order of application of
the DCS matrices to the geometry G to bring its vertices, say, from
their local face-value values to the global coordinate system above
DCSa in the scene graph. I don't understand the above notation
'G*DCSb*DCSa' and its relationship to pre-multiplication.
Does this mean that I could transform G vertices in the following
order:

pfVec3 Gvertex;
Gvertex.xformPt(Gvertex, *(DCSbPtr->getMatPtr()));
Gvertex.xformPt(Gvertex, *(DCSaPtr->getMatPtr()));

in order to obtain world coordinates for G ?

Thanks

Robert
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com

Guenter Schreiber wrote:
>
> Hi pfAll,
>
> I am using Performer to visualize Robot worlds, and now I'm having the
> problem
> to simulate a handcamera of a robot. I know, which frame of the robot is
> the moving
> one, which is a tree of some pfDCS'es. So, I'd like to find out the
> exact
> position of the moving frame in Basecoordinates.
> How can I do that.
> I tried the Callback functions with pfTraverser. But I found out, that
> the respective Callback function has not been called too often - even
> the robot moved.
> So a jumping camera resulted.
> Is there another possibility to inquire the resulting Transformation of
> some successive
> pfDCSes, like in Inventor with a SoMatrixAction ?
>
> And- by the way, what is the difference between
> pfGetModelMat
> pfGetViewMat
> pfGetProjMat
> -- more exact, where's the documentation, which transformation is which.
> >From where starts pfGetModelMat?
> I assume at the first Node of my scene, and it goes until my Node.
> If the node is a Transformation, is it included ?
>
> Has anybody dealt with this problem? Any clues ?
>
> Bye for now, and thanks in advance
>
> Günter Schreiber
>
> --
> Enjoy life -- enjoy juggling - God gave you that creativity.
> ...
> o o . .
> O o o O . O .
> |/ \| \|/
> | | |
> / \ / \ / \
> ______________________________________________________________
> | Dipl.-Ing. Günter Schreiber | phone: *49/*8153/28/1183 |
> | German Aerospace Center | fax: *49/*8153/28/1134 |
> | Institute for Robotics and | email: | /|
> | System Dynamics | Guenter.Schreiber++at++dlr.de
> --------
> | P.O. Box 1116 | priv: / | |
> /
> | 82230 Wessling | Katja_Guenter.Schreiber++at++gmx.de ---+-+--
> |________ http://www.robotic.dlr.de/Guenter.Schreiber _________| |/
>
> It is unlawful to use this email address for unsolicited ads
> (USC Title 47 Sec.227). I will assess a US$500 charge for
> reviewing and deleting each unsolicited ad.
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com

-- 
Robert Wolfe, consultant
Simulation and Training
Defence and Civil Institute of Environmental Medicine
1133 Sheppard Ave., W.,
Toronto, Ontario
CANADA
M3M 3B9
(416) 635-2065 
robert.wolfe++at++dciem.dnd.ca

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Tue Jan 26 1999 - 10:09:46 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.