DEIMOS
Earth Observation Mission CFI Software
Lib Software User Manual
for JAVA
ESA

EECFI.LibFunc Class Reference

Base class for LibFunc objects. More...

Inheritance diagram for EECFI.LibFunc:
EECFI.CfiClass

List of all members.

Public Member Functions

 LibFunc ()
 Class constructor (using satellite enumeration value).

Static Public Member Functions

static native double[][] eulerToMatrix (double eulerAngles[]) throws CfiError
 Get rotation matrix from Euler angles.
static native double[] matrixToEuler (double matrix[][]) throws CfiError
 Get Euler angles from rotation matrix.
static native double[] getRotationAngles (double xsInit[], double ysInit[], double zsInit[], double xsFin[], double ysFin[], double zsFin[]) throws CfiError
 Get rotation angles between two sets of orthonormal right-handed unit vectors.
static native double[][] getRotatedVectors (double xsInit[], double ysInit[], double zsInit[], double angle[]) throws CfiError
 Rotate a set of unit angle vectors.
static native double[][] quaternionsToVectors (double quaternions[]) throws CfiError
 Change from quaternions to vectors.
static native double[] vectorsToQuaternions (double uxVec[], double uyVec[], double uzVec[]) throws CfiError
 Change form vectors to quaternions.
static native double[] quaternionsInterpol (final QuaternionsInterpolationCfg cfg, double time_1, double q1[], double time_2, double q2[], double time_out) throws CfiError
 The method performs, given 2 input quaternions q1 and q2, an interpolation for the requested time, obtaining the interpolated quaternion as output.

Detailed Description

Base class for LibFunc objects.


Constructor & Destructor Documentation

EECFI.LibFunc.LibFunc (  ) 

Class constructor (using satellite enumeration value).


Member Function Documentation

EECFI.LibFunc::eulerToMatrix ( double  eulerAngles[]  )  throws CfiError [static]

Get rotation matrix from Euler angles.

Parameters:
eulerAngles Euler angles.
Returns:
Rotation matrix.
EECFI.LibFunc::getRotatedVectors ( double  xsInit[],
double  ysInit[],
double  zsInit[],
double  angle[] 
) throws CfiError [static]

Rotate a set of unit angle vectors.

Parameters:
xsInit Unitary direction vector along the X-axes of the initial attitude frame.
ysInit Unitary direction vector along the Y-axes of the initial attitude frame.
zsInit Unitary direction vector along the Z-axes of the initial attitude frame.
angle Angles (pitch, roll and yaw) between initial and final Attitude Frames (deg [-180,180)).
Returns:
Unitary direction vector along the X, Y, Z axis of the final attitude frame.
EECFI.LibFunc::getRotationAngles ( double  xsInit[],
double  ysInit[],
double  zsInit[],
double  xsFin[],
double  ysFin[],
double  zsFin[] 
) throws CfiError [static]

Get rotation angles between two sets of orthonormal right-handed unit vectors.

Parameters:
xsInit Unitary direction vector along the X-axes of the initial attitude frame.
ysInit Unitary direction vector along the Y-axes of the initial attitude frame.
zsInit Unitary direction vector along the Z-axes of the initial attitude frame.
xsFin Unitary direction vector along the X-axes of the final attitude frame.
ysFin Unitary direction vector along the Y-axes of the final attitude frame.
zsFin Unitary direction vector along the Z-axes of the final attitude frame.
Returns:
Angles (pitch, roll and yaw) between initial and final Attitude Frames (deg [-180,180)).
EECFI.LibFunc::matrixToEuler ( double  matrix[][]  )  throws CfiError [static]

Get Euler angles from rotation matrix.

Parameters:
matrix Rotation matrix.
Returns:
Euler angles.
EECFI.LibFunc::quaternionsInterpol ( final QuaternionsInterpolationCfg  cfg,
double  time_1,
double  q1[],
double  time_2,
double  q2[],
double  time_out 
) throws CfiError [static]

The method performs, given 2 input quaternions q1 and q2, an interpolation for the requested time, obtaining the interpolated quaternion as output.

Notes:
  • The algorithm to be used for interpolation is given as input in QuaternionsInterpolationCfg structure.
  • Currently the supported algorithms are:
    • Slerp (see details: Slerp)
  • If the requested time is out of the interval defined by the input quaternions, then extrapolation is used and a warning is raised. The extrapolation degrades with the distance to the interval defined by input quaternions. In the following table the degradation for some time distances are shown:
    Time out of interval [seconds] Error in rotation angles [deg]
    (Quaternions time step 1 second)
    Error in rotation angles [deg]
    (Quaternions time step 10 seconds)
    1 0.000005 0.00005
    10 0.0003 0.0005
    100 0.06 0.07
    500 0.96 0.95
    1000 2.3 2.3
Parameters:
cfg Configuration parameters used by interpolation.
time_1 Time for quaternion q1.
q1 First quaternion (for time t1).
time_2 Time for quaternion q2.
q2 Second quaternion (for time t2).
time_out Time interpolation parameter.
Returns:
Result of quaternion interpolation.
EECFI.LibFunc::quaternionsToVectors ( double  quaternions[]  )  throws CfiError [static]

Change from quaternions to vectors.

Parameters:
quaternions Input quaternion vector.
Returns:
Unitary direction vector along the X, Y, Z axis.
EECFI.LibFunc::vectorsToQuaternions ( double  uxVec[],
double  uyVec[],
double  uzVec[] 
) throws CfiError [static]

Change form vectors to quaternions.

Parameters:
uxVec Unitary direction vector along the X-axes.
uyVec Unitary direction vector along the Y-axes.
uzVec Unitary direction vector along the Z-axes.
Returns:
Equivalent quaternion.

Generated on Wed Nov 6 2019 15:43:13 for by doxygen 1.7.1