Base class for LibFunc objects.
More...
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:
-
- Returns:
- Euler angles.
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 Thu Nov 17 2016 07:52:44 for by 1.7.1