Hello,

In project SIRIUS (CNES), we would like to slightly modify the Rotation
class so it can fit our needs, and to create an independant Quaternion
class.

- Quaternion : We need to separate these two notions : the quaternion
and the rotation representation, because we have to be able to access
directly to a quaternion as a mathematical object, not only as a
rotation quaternion.

- Rotation : 
 - We would like to base the rotation upon the new Quaternion object.
 - We would like to use the CCSDS convention (the same as ESA projects)
for the rotation quaternion : 
        if Q represents a rotation, applied to a vector X giving the
vector X', we have : X' = Q.X.Qt (Qt =  conjugate(Q) ).
 -> As the actual rotation (based upon 4 double q1/2/3/4) does not use
this convention, we propose to modify the getters/setters (getQi /
setQi) to preserve compatibility and to add a getQ that returns a
quaternion compliant with CCSDS convention.

This feature can be summed up in 3 points :
- create a Quaternion class (mathematical object)
- modify the Rotation class to use this quaternion, with the CCSDS
convention
- modify the actual methods in Rotation class to preserve compatibility

The Quaternionn class should be placed in the geometry.euclidian.threed
package.

Thanks in advance for your advice about this feature. Please also tell
us the best way to communicate on such features (mailing list or/and bug
tracker ?).


 
Best regards,
 
Yannick TANGUY

CNES - DCT/SB/SP - SIRIUS Project
Product Owner for the core libraries    

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to