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:
Just... ;-)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.
I'll need it....
Good luck with the PhD,
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/
toTo unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
of the message "signoff JAVA3D-INTEREST". For general help, send email
[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".
