Implemented. It works, but...

For little angles I get:
Setting angles <0.0,0.5699999999999998,0.0>
Back-calculated euler angles are alpha=0.0, beta=0.5699999999999998,
gamma=0.0

but when I pass the PI/2 rotation:
Setting angles <0.0,-2.1600000000000006,0.0>
Back-calculated euler angles are alpha=-3.141592653589793,
beta=-0.9815926535897926, gamma=-3.141592653589793

I know the result is the same, but...
Any further suggestion? Otherwise I'll keep it like that.


Mark Whitehorn wrote:
 A good reference for this sort of thing is Chapter 2 of "Introduction to
 Robotics Mechanics and Control" by John J. Craig (Addison Wesley).  Here's
 equation 2.66 from section 2.8:

 beta = atan2(-r_31, sqrt(r_11^2 + r_21^2))
 alpha = atan2(r_21/cos(beta), r_11/cos(beta))
 gamma = atan2(r_32/cos(beta), r_33/cos(beta))

 alpha, beta, gamma are ZYX Euler angles for the 3x3 rotation matrix
r_ij...

It's just trigonometry.
Just... ;-)


Good luck with the PhD,
I'll need it....

Fabrizio

Mark



----- Original Message -----
From: "Fabrizio NUNNARI" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, June 17, 2003 9:48 AM
Subject: [spam: 07.00/05.00] [JAVA3D] Transform3D and angles issue



Hello,

I'm getting confused by the tons of methods of the Transform3D class.
Is it possible to retrieve the rotational component stored in a matrix?
I mean "just the three angles around the three axes".

I normally use the (misleading, at least for me) .setEuler(Vector3d
euler) method. I'm looking for an equivalent .getEuler(Vector3d euler)

one.


I also saw a .set(AxisAngle4d a1). I never tried it, but a corresponding
.get(AxisAngle4d a1) doesn't exist.

Finally, there is the copule .get/.set(Quat4d rot), but I haven't been
able to understand the relation between the stored (normalized) values
and angles value.

What's the difference between .setEuler(Vector3d), .set(AxisAngle4d) and
.set(Quat4d rot) ????



The purpose? I have an object moved/rotated by a TransfromGroup. I want
to rotate it around a generic axes and then retrieve and print out the
resulting rotation angles (in the "Euler" form).

Is it possible?


thanks, Fabrizio NUNNARI

--
Fabrizio Nunnari (nunnarif at di.unito.it)
PhD Student - Computer Science Department - Torino - Italy
http://www.di.unito.it/~nunnarif/



===========================================================================

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".



--
Fabrizio Nunnari (nunnarif at di.unito.it)
PhD Student - Computer Science Department - Torino - Italy
http://www.di.unito.it/~nunnarif/

===========================================================================
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".

Reply via email to