Thy the code below. You will see that setting a translation makes the
rotation values wrong. Translation values are not even present in a
Matrix3d, so how can this be??

Try comment the "t.set(new Vector3d(10,0,10));" line out, and observe
the different result.

import javax.media.j3d.*;
import javax.vecmath.*;

public class RotationTest {

public RotationTest() {
}

public static void main(String[] args) {
 Transform3D t= new Transform3D();
 Matrix3d rotationScale = new Matrix3d();
 AxisAngle4d rotation = new AxisAngle4d(0, -1, 0, Math.PI/2);
 System.out.println(rotation);
 t.set(new Vector3d(10,0,10));
 t.setRotation(rotation);
 t.setScale(0.5d);
 t.getRotationScale(rotationScale);
 rotation.set(rotationScale);
 System.out.println(rotation);
}
}

Test result:
(0.0, -1.0, 0.0, 1.5707963267948966)
(0.0, -1.0, 0.0, 2.0344438552856445)


Any workaround will be appreciated

Regards
Nikolai

----------------------------------------------
Nikolai V. Christensen, Computer Engineer,
Simulation and Training department
IFAD, Forskerparken 10A, DK-5230 Odense M
Denmark, EU
Phone: +45 63 15 71 31 Fax: +45 65 93 29 99
WWWeb: http://www.ifad.dk
e-mail: [EMAIL PROTECTED]
----------------------------------------------

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