Hi Mohammed!
It is esier then you describe.
The A matrix is actually constant. The center of the object should be
calculated only once, when the object is just created , and no
transformation is aplied to
it yet.
All further transformations are present in T matrix, so what this formula
does is first return the object to it creation place (T^(-1)) move it from
its creation place
to the origin (A^(-1)) then rotate the object (R), then move it back to
objects creation place (A), and apply the objects transformation (T). This
complex operation, performed as single matrix multiplication will result
in object rotation in place. The same technique will zoom the object in
place if instead of R matrix you will use S matrix that scales the object
.
Boris.
On Tue, 24 Oct 2000, Mohammed Akacem wrote:
> Hi Boris,
> I unterstand now what you mean.
> to get the A matrix I can use the BoundingBoxcenter Ok , but when the user translate
> the object again I would have to get the new Center and to calculate the new A matrix
> again(I am using the MouseRotate, MouseTranslate and MouseZoom classes)I think it
> would be complicated to keep track of the Center coordinate since it is being changed
> at different places I would then need a sort of globale variable don't you think so?
>
> Mohammed
>
> Epelman Boris schrieb:
>
> > Hi Mohammed!
> >
> > I do not think that what you are sying is possible,
> > but the way I suggested you need to calculte the matrix
> >
> > T*A*R*A^(-1)*T^(-1)
> >
> > first and then multiply the transform attached to your object by this
> > matrix as a single operation. In that way you perform only one
> > multiplication
> > by the matrix, thing that you anyway want to do if you are rotating the
> > object.
> > Hope it helps,
> >
> > Boris Epelman
> >
> > On Tue, 24 Oct 2000, Mohammed Akacem wrote:
> >
> > > Hi Boris,
> > >
> > > my point is that I don't want to translate the object to the origine because my
> > > objects kann have 500.000 triangles or more( and that will cost me too much
> > > time). Until now I have translated my objects to the origine and it works fine(
> > > andthat is done with the A Matrix you suggest I should use). What I was
> > > thinking about is(I don't know if this is possible) to translate the coordinate
> > > origin to the center of the boundingbox und rotate my objects(using the
> > > MouseRoate behavior).
> > >
> > > Mohammed
> > >
> > > Epelman Boris schrieb:
> > >
> > > > Hi!
> > > >
> > > > You need to perform the following transformation:
> > > >
> > > > T*A*R*A^(-1)*T^(-1)*M
> > > > where
> > > >
> > > > M is your object
> > > > T is the object's transform that holds all bthe transformations performed
> > > > on the object tillnow.
> > > > A this matrix brings the center of the object to (0,0,0) if the object was
> > > > not originally created at the origin.
> > > > R your rotation matrix
> > > >
> >> > Tell me if it helped.
> > > >
> > > > Boris
> > > >
> > > > ===========================================================================
> > > > To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> > > > of the message "signoff JAVA3D-INTEREST". For general help, send email to
> > > > [EMAIL PROTECTED] and include in the body of the message "help".
> > >
> > > ===========================================================================
> > > To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> > > of the message "signoff JAVA3D-INTEREST". For general help, send email to
> > > [EMAIL PROTECTED] and include in the body of the message "help".
> > >
> >
> > ===========================================================================
> > To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> > of the message "signoff JAVA3D-INTEREST". For general help, send email to
> > [EMAIL PROTECTED] and include in the body of the message "help".
>
> ===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
> of the message "signoff JAVA3D-INTEREST". For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
>
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".