|
Hi,
I am using this code to move and rotate a satellite :
Matrix3f transyz = new Matrix3f(
0, 1, 0,
0, 0,
1,
1, 0,
0); Transform3D te = new
Transform3D (transyz, new Vector3d(0,0,0), 1);
TransformGroup satellite =
new TransformGroup (te);
...
satellite.addChild(...);
... RotPosPathInterpolator
path = new RotPosPathInterpolator (alpha, satellite, te, knots,
orientations, positions);
path.setSchedulingBounds (bounds);
satellite.addChild
(path);
The orientations and the positions are arrays of Quad4f and
Point3f in the ECI (geocentric) coordinate system.
The x-axis of the ECI system is the z-axis of Java3d, y-axis of ECI
is x-axis of Java3d and z-axis of
ECI is the y-axis of Java3D. That's why I need the matrix
transyz.
I can see that the Transform3d is doing the expected job for the
positions, but not for the quaternions.
My question is then :
Does the Transform3D te transform also the orientations in my code or
should I transform them differently ?
If you are interested, you can have a look at my program here :
Thanks.
|