Table of Contents

Class Kinematics

Namespace
NominalSystems.Maths
Assembly
NominalSystems.Maths.dll

This class defines functions for mathematical calculations regarding rigid bodies

public static class Kinematics
Inheritance
Kinematics

Methods

AddEuler(Vector3, Vector3)

Computes the overall (X-Y-Z) Euler angle vector corresponding to two successive (X-Y-Z) rotations E1 and E2.
Only works for Euler angles of: (1-2-1), (1-3-1), (2-1-2), (2-3-2), (3-1-3), (3-2-3)

public static Vector3 AddEuler(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

AddEuler121(Vector3, Vector3)

Computes the overall (1-2-1) Euler angle vector corresponding to two successive (1-2-1) rotations E1 and E2.

public static Vector3 AddEuler121(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

The rotated Euler

AddEuler123(Vector3, Vector3)

Computes the overall (1-2-3) Euler angle vector corresponding to two successive (1-2-3) rotations E1 and E2.

public static Vector3 AddEuler123(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

AddEuler131(Vector3, Vector3)

Computes the overall (1-3-1) Euler angle vector corresponding to two successive (1-3-1) rotations E1 and E2.

public static Vector3 AddEuler131(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

The rotated Euler

AddEuler132(Vector3, Vector3)

Computes the overall (1-3-2) Euler angle vector corresponding to two successive (1-3-2) rotations E1 and E2.

public static Vector3 AddEuler132(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

AddEuler212(Vector3, Vector3)

Computes the overall (2-1-2) Euler angle vector corresponding to two successive (2-1-2) rotations E1 and E2.

public static Vector3 AddEuler212(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

The rotated Euler

AddEuler213(Vector3, Vector3)

Computes the overall (2-1-3) Euler angle vector corresponding to two successive (2-1-3) rotations E1 and E2.

public static Vector3 AddEuler213(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

AddEuler231(Vector3, Vector3)

Computes the overall (2-3-1) Euler angle vector corresponding to two successive (2-3-1) rotations E1 and E2.

public static Vector3 AddEuler231(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

AddEuler232(Vector3, Vector3)

Computes the overall (2-3-2) Euler angle vector corresponding to two successive (2-3-2) rotations E1 and E2.

public static Vector3 AddEuler232(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

The rotated Euler

AddEuler312(Vector3, Vector3)

Computes the overall (3-1-2) Euler angle vector corresponding to two successive (3-1-2) rotations E1 and E2.

public static Vector3 AddEuler312(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

AddEuler313(Vector3, Vector3)

Computes the overall (3-1-3) Euler angle vector corresponding to two successive (3-1-3) rotations E1 and E2.

public static Vector3 AddEuler313(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

The rotated Euler

AddEuler321(Vector3, Vector3)

Computes the overall (3-2-1) Euler angle vector corresponding to two successive (3-2-1) rotations E1 and E2.

public static Vector3 AddEuler321(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

AddEuler323(Vector3, Vector3)

Computes the overall (3-2-3) Euler angle vector corresponding to two successive (3-2-3) rotations E1 and E2.

public static Vector3 AddEuler323(Vector3 e1, Vector3 e2)

Parameters

e1 Vector3
e2 Vector3

Returns

Vector3

The rotated Euler

AddGibbs(Vector3, Vector3)

Provides the Gibbs vector which corresponds to performing two successive rotations Q1 and Q2 of the corrdinate frame.

public static Vector3 AddGibbs(Vector3 q1, Vector3 q2)

Parameters

q1 Vector3

First rotator

q2 Vector3

Second rotator

Returns

Vector3

AddMRP(Vector3, Vector3)

Provides the MRP vector which corresponds to performing two successive rotations Q1 and Q2 of the coordinate frame.

public static Vector3 AddMRP(Vector3 q1, Vector3 q2)

Parameters

q1 Vector3

The first rotator

q2 Vector3

The second rotator

Returns

Vector3

The output MRP vector between two rotations

AddPRV(Vector3, Vector3)

Provides the principal rotation vector which corresponds to performing two successive principal rotations Q1 and Q2 of the coordinate frame.

public static Vector3 AddPRV(Vector3 qq1, Vector3 qq2)

Parameters

qq1 Vector3

First principal rotation

qq2 Vector3

Second principal rotation

Returns

Vector3

AddQuat(NsQuat, NsQuat)

Provides the Euler parameter vector (Quaternion) which corresponds to performing two successive rotations B1 and B2 of the coordinate frame.

public static NsQuat AddQuat(NsQuat b1, NsQuat b2)

Parameters

b1 NsQuat

The first rotator

b2 NsQuat

The second rotator

Returns

NsQuat

The rotated Quaternion

Ang2MRP(double, double, double)

Converts pitch,roll and yaw angles from degrees to MRP

public static Vector3 Ang2MRP(double pitch, double roll, double yaw)

Parameters

pitch double
roll double
yaw double

Returns

Vector3

BInvEuler121(Vector3)

Returns the 3x3 matrix which relates the derivative of the (1-2-1) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler121(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler123(Vector3)

Returns the 3x3 matrix which relates the derivative of the (1-2-3) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler123(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler131(Vector3)

Returns the 3x3 matrix which relates the derivative of the (1-3-1) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler131(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler132(Vector3)

Returns the 3x3 matrix which relates the derivative of the (1-3-2) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler132(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler212(Vector3)

Returns the 3x3 matrix which relates the derivative of the (2-1-2) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler212(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler213(Vector3)

Returns the 3x3 matrix which relates the derivative of the (2-1-3) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler213(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler231(Vector3)

Returns the 3x3 matrix which relates the derivative of the (2-3-1) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler231(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler232(Vector3)

Returns the 3x3 matrix which relates the derivative of the (2-3-2) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler232(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler312(Vector3)

Returns the 3x3 matrix which relates the derivative of the (3-`-1) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler312(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler313(Vector3)

Returns the 3x3 matrix which relates the derivative of the (3-1-3) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler313(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler321(Vector3)

Returns the 3x3 matrix which relates the derivative of the (3-2-1) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler321(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvEuler323(Vector3)

Returns the 3x3 matrix which relates the derivative of the (3-2-3) Euler angle vector Q to the body angular velocity vector w.
w = [B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvEuler323(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvGibbs(Vector3)

Returns the 3x3 matrix which relates the derivative of Gibbs vector Q to the body angular velocity vector w.
w = 2[B(Q)] ^ (-1) dQ/dt

public static Matrix3 BInvGibbs(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BInvMRP(Vector3)

Returns the 3x3 matrix which relates the derivative of MRP vector Q to the body angular velocity vector w.
w = 4 [B(Q)]^(-1) dQ/dt

public static Matrix3 BInvMRP(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Matrix3

3x3 Matrix

BInvPRV(Vector3)

Returns the 3x3 matrix which relates the derivative of Principal Rotation vector Q to the body angular velocity vector w.
w = [B(Q)]^(-1) dQ/dt

public static Matrix3 BInvPRV(Vector3 q)

Parameters

q Vector3

Input Principal Rotation Vector

Returns

Matrix3

3x3 Matrix

BInvQuat(NsQuat)

Returns the 3x4 matrix which relates the derivative of Euler parameter vector Q to the body angular velocity vector w.

public static Matrix BInvQuat(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter (Quaternion)

Returns

Matrix

3x4 Matrix

BMatEuler121(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (1-2-1) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler121(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler123(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (1-2-3) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler123(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler131(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (1-3-1) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler131(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler132(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (1-3-2) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler132(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler212(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (2-1-2) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler212(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler213(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (2-1-3) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler213(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler231(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (2-3-1) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler231(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler232(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (2-3-2) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler232(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler312(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (3-1-2) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler312(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler313(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (3-1-3) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler313(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler321(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (3-2-1) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler321(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatEuler323(Vector3)

Returns the 3x3 matrix which relates the derivative of the body angular velocity vector w to the derivative of (3-2-3) Euler angle vector Q.
w = dQ/dt = [B(Q)] w

public static Matrix3 BMatEuler323(Vector3 q)

Parameters

q Vector3

Input Euler Angle Vector

Returns

Matrix3

3x3 Matrix

BMatGibbs(Vector3)

Returns the 3x3 matrix which relates the body angular velocity vector w to the derivative of Gibbs vector Q.
dQ/dt = 1 / 2[B(Q)] w

public static Matrix3 BMatGibbs(Vector3 q)

Parameters

q Vector3

Input Gibbs vector

Returns

Matrix3

3x3 matrix

BMatMRP(Vector3)

Returns the 3x3 matrix which relates the body angular velocity vector w to the derivative of MRP vector Q.
dQ/dt = 1/4 [B(Q)] w

public static Matrix3 BMatMRP(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Matrix3

3x3 matrix

BMatPRV(Vector3)

Returns the 3x3 matrix which relates the body angular velocity vector w to the derivative of principal rotation vector Q.
dQ/dt = [B(Q)] w

public static Matrix3 BMatPRV(Vector3 q)

Parameters

q Vector3

Input Principal Rotation Vector

Returns

Matrix3

3x3 matrix

BMatQuat(NsQuat)

Returns the 4x3 matrix which relates the body angular velocity vector w to the derivative of Euler parameter vector Q.
dQ/dt = 1 / 2[B(Q)] w

public static Matrix BMatQuat(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter (Quaternion)

Returns

Matrix

4x3 matrix

DCM2EULER(Matrix3)

Converts the directional Cosine Matrix to Euler Angles

public static Vector3 DCM2EULER(Matrix3 DCM)

Parameters

DCM Matrix3

Returns

Vector3

DCM2Euler121(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(1-2-1) Euler angle set.

public static Vector3 DCM2Euler121(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler123(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(1-2-3) Euler angle set.

public static Vector3 DCM2Euler123(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

[rad] The output euler angle vectorVector3 Euler angle

DCM2Euler131(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(1-3-1) Euler angle set.

public static Vector3 DCM2Euler131(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler132(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(1-3-2) Euler angle set.

public static Vector3 DCM2Euler132(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler212(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(2-1-2) Euler angle set.

public static Vector3 DCM2Euler212(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler213(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(2-1-3) Euler angle set.

public static Vector3 DCM2Euler213(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler231(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(2-3-1) Euler angle set.

public static Vector3 DCM2Euler231(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler232(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(2-3-2) Euler angle set.

public static Vector3 DCM2Euler232(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler312(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(3-1-2) Euler angle set.

public static Vector3 DCM2Euler312(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler313(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(3-1-3) Euler angle set.

public static Vector3 DCM2Euler313(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler321(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(3-2-1) Euler angle set.

public static Vector3 DCM2Euler321(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Euler323(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding(3-2-3) Euler angle set.

public static Vector3 DCM2Euler323(Matrix3 DCM)

Parameters

DCM Matrix3

Input Direction cosine matrix

Returns

Vector3

Vector3 Euler angle

DCM2Gibbs(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding 3x1 Gibbs vector Q.

public static Vector3 DCM2Gibbs(Matrix3 DCM)

Parameters

DCM Matrix3

Input cosine matrix

Returns

Vector3

Vector3 Gibbs

DCM2MRP(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding 3x1 MRP vector Q where the MRP vector is chosen such that |Q| <= 1.

public static Vector3 DCM2MRP(Matrix3 DCM)

Parameters

DCM Matrix3

The input matrix

Returns

Vector3

Vector3 The output MRP vector

DCM2PRV(Matrix3)

Translates the 3x3 direction cosine matrix DCM into the corresponding 3x1 principal rotation vector Q, where the first component of Q is the principal rotation angle phi(0<= phi <= Pi)

public static Vector3 DCM2PRV(Matrix3 DCM)

Parameters

DCM Matrix3

The Input Matrix

Returns

Vector3

The Principle Rotation vector

DCM2Quat(Matrix3)

DCM2Quat Q = DCM2Quat(C) translates the 3x3 direction cosine matrix C into the corresponding 4x1 euler parameter vector Q, where the first component of Q is the non-dimensional Euler parameter Beta_0 >= 0. Transformation is done using the Stanley method.

public static NsQuat DCM2Quat(Matrix3 dcm)

Parameters

dcm Matrix3

The DCM directional cosine matrix

Returns

NsQuat

The Quaternion (Vector4) result

Elem2PRV(NsQuat)

Translates a principal rotation element set R into the corresponding principal rotation vector Q.

public static Vector3 Elem2PRV(NsQuat r)

Parameters

r NsQuat

Principal rotation element set

Returns

Vector3

Vector3 PRV

Euler1(double)

Creates an elementary rotation matrix

public static Matrix3 Euler1(double x)

Parameters

x double

The body axis position

Returns

Matrix3

Returns the elementary rotation matrix about the second body axis.

Euler1212DCM(Vector3)

Returns the direction cosine matrix in terms of the 1-2-1 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler1212DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler1212Gibbs(Vector3)

Translates the (1-2-1) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler1212Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler1212MRP(Vector3)

Translates the (1-2-1) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler1212MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler1212PRV(Vector3)

Translates the (1-2-1) Euler angle vector E into the principal rotation vector vector Q.

public static Vector3 Euler1212PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler1212Quat(Vector3)

Translates the 1-2-1 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler1212Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler1232DCM(Vector3)

Returns the direction cosine matrix in terms of the 1-2-3 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler1232DCM(Vector3 q)

Parameters

q Vector3

[rad] Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler1232Gibbs(Vector3)

Translates the (1-2-3) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler1232Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler1232MRP(Vector3)

Translates the (1-2-3) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler1232MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler1232PRV(Vector3)

Translates the (1-2-3) Euler angle vector E into the principal rotation vector vector Q.

public static Vector3 Euler1232PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler1232Quat(Vector3)

Translates the 1-2-3 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler1232Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler1312DCM(Vector3)

Returns the direction cosine matrix in terms of the 1-3-1 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler1312DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler1312Gibbs(Vector3)

Translates the (1-3-1) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler1312Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler1312MRP(Vector3)

Translates the (1-3-1) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler1312MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler1312PRV(Vector3)

Translates the (1-3-1) Euler angle vector E into the principal rotation vector vector Q.

public static Vector3 Euler1312PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler1312Quat(Vector3)

Translates the 1-3-1 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler1312Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler1322DCM(Vector3)

Returns the direction cosine matrix in terms of the 1-3-2 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler1322DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler1322Gibbs(Vector3)

Translates the (1-3-2) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler1322Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler1322MRP(Vector3)

Translates the (1-3-2) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler1322MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler1322PRV(Vector3)

Translates the (1-3-2) Euler angle vector E into the principal rotation vector vector Q.

public static Vector3 Euler1322PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler1322Quat(Vector3)

Translates the 1-3-2 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler1322Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler2(double)

Creates an elementary rotation matrix

public static Matrix3 Euler2(double x)

Parameters

x double

The body axis position

Returns

Matrix3

Returns the elementary rotation matrix about the second body axis.

Euler2122DCM(Vector3)

Returns the direction cosine matrix in terms of the 2-1-2 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler2122DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler2122Gibbs(Vector3)

Translates the (2-1-2) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler2122Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler2122MRP(Vector3)

Translates the (2-1-2) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler2122MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler2122PRV(Vector3)

Translates the (2-1-2) Euler angle vector E into the principal rotation vector Q.

public static Vector3 Euler2122PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler2122Quat(Vector3)

Translates the 2-1-2 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler2122Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler2132DCM(Vector3)

Returns the direction cosine matrix in terms of the 2-1-3 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler2132DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler2132Gibbs(Vector3)

Translates the (2-1-3) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler2132Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler2132MRP(Vector3)

Translates the (2-1-3) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler2132MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler2132PRV(Vector3)

Translates the (2-1-3) Euler angle vector E into the principal rotation vector Q.

public static Vector3 Euler2132PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler2132Quat(Vector3)

Translates the 2-1-3 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler2132Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler2312DCM(Vector3)

Returns the direction cosine matrix in terms of the 2-3-1 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler2312DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler2312Gibbs(Vector3)

Translates the (2-3-1) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler2312Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler2312MRP(Vector3)

Translates the (2-3-1) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler2312MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler2312PRV(Vector3)

Translates the (2-3-1) Euler angle vector E into the principal rotation vector Q.

public static Vector3 Euler2312PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler2312Quat(Vector3)

Translates the 2-3-1 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler2312Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler2322DCM(Vector3)

Returns the direction cosine matrix in terms of the 2-3-2 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler2322DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler2322Gibbs(Vector3)

Translates the (2-3-2) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler2322Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler2322MRP(Vector3)

Translates the (2-3-2) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler2322MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler2322PRV(Vector3)

Translates the (2-3-2) Euler angle vector E into the principal rotation vector Q.

public static Vector3 Euler2322PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler2322Quat(Vector3)

Translates the 2-3-2 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler2322Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler3(double)

Creates an elementary rotation matrix

public static Matrix3 Euler3(double x)

Parameters

x double

The body axis position

Returns

Matrix3

Returns the elementary rotation matrix about the third body axis.

Euler3122DCM(Vector3)

Returns the direction cosine matrix in terms of the 3-1-2 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler3122DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler3122Gibbs(Vector3)

Translates the (3-1-2) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler3122Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler3122MRP(Vector3)

Translates the (3-1-2) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler3122MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler3122PRV(Vector3)

Translates the (3-1-2) Euler angle vector E into the principal rotation vector Q.

public static Vector3 Euler3122PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler3122Quat(Vector3)

Translates the 3-1-2 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler3122Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler3132DCM(Vector3)

Returns the direction cosine matrix in terms of the 3-1-3 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler3132DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler3132Gibbs(Vector3)

Translates the (3-1-3) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler3132Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler3132MRP(Vector3)

Translates the (3-1-3) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler3132MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler3132PRV(Vector3)

Translates the (3-1-3) Euler angle vector E into the principal rotation vector Q.

public static Vector3 Euler3132PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler3132Quat(Vector3)

Translates the 3-1-3 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler3132Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler3212DCM(Vector3)

returns the direction cosine matrix in terms of the 3-2-1 euler angles. Input Q must be a 3x1 vector of euler angles.

public static Matrix3 Euler3212DCM(Vector3 q)

Parameters

q Vector3

The input Euler angles

Returns

Matrix3

The direction cosine matrix

Euler3212DCM(double, double, double)

Returns the direction cosine matrix in terms of the 3-2-1 euler angles. Input Q must be a 3x1 vector of euler angles.

public static Matrix3 Euler3212DCM(double yaw, double pitch, double roll)

Parameters

yaw double

[rad] The yaw angle

pitch double

[rad] The pitch angle

roll double

[rad] The roll angle

Returns

Matrix3

The direction cosine matrix

Euler3212Gibbs(Vector3)

Translates the (3-2-1) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler3212Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler3212MRP(Vector3)

Translates the (3-2-1) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler3212MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler3212PRV(Vector3)

Translates the (3-2-1) Euler angle vector E into the principal rotation vector Q.

public static Vector3 Euler3212PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler3212Quat(Vector3)

Translates the 3-2-1 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler3212Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Euler3232DCM(Vector3)

Returns the direction cosine matrix in terms of the 3-2-3 Euler angles. Input Q must be a 3x1 vector of Euler angles.

public static Matrix3 Euler3232DCM(Vector3 q)

Parameters

q Vector3

Input Euler angle

Returns

Matrix3

Matrix3 Direction cosine matrix

Euler3232Gibbs(Vector3)

Translates the (3-2-3) Euler angle vector E into the Gibbs vector Q.

public static Vector3 Euler3232Gibbs(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Gibbs vector

Euler3232MRP(Vector3)

Translates the (3-2-3) Euler angle vector E into the MRP vector Q.

public static Vector3 Euler3232MRP(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 MRP vector

Euler3232PRV(Vector3)

Translates the (3-2-3) Euler angle vector E into the principal rotation vector Q.

public static Vector3 Euler3232PRV(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

Vector3

Vector3 Principal rotation vector

Euler3232Quat(Vector3)

Translates the 3-2-3 Euler angle vector E into the Euler parameter vector Q.

public static NsQuat Euler3232Quat(Vector3 e)

Parameters

e Vector3

Input Euler angle

Returns

NsQuat

NsQuat Euler Parameter

Gibbs2DCM(Vector3)

Returns the direction cosine matrix in terms of the 3x1 Gibbs vector Q.

public static Matrix3 Gibbs2DCM(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Matrix3

Matrix3 Directional Cosine Matrix

Gibbs2Euler121(Vector3)

Translates the Gibbs vector Q into the (1-2-1) Euler angle vector E.

public static Vector3 Gibbs2Euler121(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler123(Vector3)

Translates the Gibbs vector Q into the (1-2-3) Euler angle vector E.

public static Vector3 Gibbs2Euler123(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler131(Vector3)

Translates the Gibbs vector Q into the (1-3-1) Euler angle vector E.

public static Vector3 Gibbs2Euler131(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler132(Vector3)

Translates the Gibbs vector Q into the (1-3-2) Euler angle vector E.

public static Vector3 Gibbs2Euler132(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler212(Vector3)

Translates the Gibbs vector Q into the (2-1-2) Euler angle vector E.

public static Vector3 Gibbs2Euler212(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler213(Vector3)

Translates the Gibbs vector Q into the (2-1-3) Euler angle vector E.

public static Vector3 Gibbs2Euler213(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler231(Vector3)

Translates the Gibbs vector Q into the (2-3-1) Euler angle vector E.

public static Vector3 Gibbs2Euler231(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler232(Vector3)

Translates the Gibbs vector Q into the (2-3-2) Euler angle vector E.

public static Vector3 Gibbs2Euler232(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler312(Vector3)

Translates the Gibbs vector Q into the (3-1-2) Euler angle vector E.

public static Vector3 Gibbs2Euler312(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler313(Vector3)

Translates the Gibbs vector Q into the (3-1-3) Euler angle vector E.

public static Vector3 Gibbs2Euler313(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler321(Vector3)

Translates the Gibbs vector Q into the (3-2-1) Euler angle vector E.

public static Vector3 Gibbs2Euler321(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2Euler323(Vector3)

Translates the Gibbs vector Q into the (3-2-3) Euler angle vector E.

public static Vector3 Gibbs2Euler323(Vector3 q)

Parameters

q Vector3

Gibbs vector

Returns

Vector3

Vector3 Euler angle

Gibbs2MRP(Vector3)

translates the Gibbs vector Q1 into the MRP vector Q.

public static Vector3 Gibbs2MRP(Vector3 q1)

Parameters

q1 Vector3

Input Gibbs vector

Returns

Vector3

Vector3 MRP vector

Gibbs2PRV(Vector3)

Translates the Gibbs vector Q1 into the principal rotation vector Q.

public static Vector3 Gibbs2PRV(Vector3 q1)

Parameters

q1 Vector3

Input Gibbs vector

Returns

Vector3

Vector3 Principal rotation vector

Gibbs2Quat(Vector3)

Translates the Gibbs vector Q1 into the Euler parameter vector Q.

public static NsQuat Gibbs2Quat(Vector3 q1)

Parameters

q1 Vector3

The input gibbs vector

Returns

NsQuat

NsQuat Euler parameter

MRP2DCM(Vector3)

Translate the modified rodrigues parameters into the equivalent direction cosine matrix

public static Matrix3 MRP2DCM(Vector3 v)

Parameters

v Vector3

[MRP] The MRP vector

Returns

Matrix3

Matrix3 direction cosine matrix

MRP2Euler121(Vector3)

Translates the MRP vector Q into the (1-2-1) Euler angle vector E.

public static Vector3 MRP2Euler121(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler123(Vector3)

Translates the MRP vector Q into the (1-2-3) Euler angle vector E.

public static Vector3 MRP2Euler123(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler131(Vector3)

Translates the MRP vector Q into the (1-3-1) Euler angle vector E.

public static Vector3 MRP2Euler131(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler132(Vector3)

Translates the MRP vector Q into the (1-3-2) Euler angle vector E.

public static Vector3 MRP2Euler132(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler212(Vector3)

Translates the MRP vector Q into the (2-1-2) Euler angle vector E.

public static Vector3 MRP2Euler212(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler213(Vector3)

Translates the MRP vector Q into the (2-1-3) Euler angle vector E.

public static Vector3 MRP2Euler213(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler231(Vector3)

Translates the MRP vector Q into the (2-3-1) Euler angle vector E.

public static Vector3 MRP2Euler231(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler232(Vector3)

Translates the MRP vector Q into the (2-3-2) Euler angle vector E.

public static Vector3 MRP2Euler232(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler312(Vector3)

Translates the MRP vector Q into the (3-1-2) Euler angle vector E.

public static Vector3 MRP2Euler312(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler313(Vector3)

Translates the MRP vector Q into the (3-1-3) Euler angle vector E.

public static Vector3 MRP2Euler313(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler321(Vector3)

Translates the MRP vector Q into the (3-2-1) Euler angle vector E.

public static Vector3 MRP2Euler321(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2Euler323(Vector3)

Translates the MRP vector Q into the (3-2-3) Euler angle vector E.

public static Vector3 MRP2Euler323(Vector3 q)

Parameters

q Vector3

Input MRP vector

Returns

Vector3

Vector3 Euler angle

MRP2EulerDeg(Vector3)

Converts an MRP to a general Euler angle

public static Vector3 MRP2EulerDeg(Vector3 mrp)

Parameters

mrp Vector3

The MRP value

Returns

Vector3

The Euler angles in degrees

MRP2Gibbs(Vector3)

Translates the MRP vector Q1 into the Gibbs vector Q.

public static Vector3 MRP2Gibbs(Vector3 q1)

Parameters

q1 Vector3

Input MRP vector

Returns

Vector3

Vector3 Gibbs vector

MRP2PRV(Vector3)

Translates the MRP vector mrp into the principal rotation vector

public static Vector3 MRP2PRV(Vector3 MRP)

Parameters

MRP Vector3

The MRP input

Returns

Vector3

Vector3 The vector output

MRP2Quat(Vector3)

Translates the MRP vector Q1 into the Euler parameter vector q (i.e. a Quaternion).

public static NsQuat MRP2Quat(Vector3 q1)

Parameters

q1 Vector3

The modified rodrigues parameters to be converted to a quaternion

Returns

NsQuat

NsQuat Output Euler parameter vector

MRP2Quat(double, double, double)

Translates the mrp components into a Quaternion

public static NsQuat MRP2Quat(double mrp0, double mrp1, double mrp2)

Parameters

mrp0 double

The first modified rodrigues parameter

mrp1 double

The second modified rodrigues parameter

mrp2 double

The third modified rodrigues parameter

Returns

NsQuat

NsQuat Output Euler parameter vector

MRPShadow(Vector3)

Forces a switch from the current MRP to its shadow set

public static Vector3 MRPShadow(Vector3 qin)

Parameters

qin Vector3

Current MRP

Returns

Vector3

Vector3 MRP's shadow set

MRPSwitch(Vector3, double)

MRPSwitch(Q,s2,s) checks to see if v3Norm(Q) is larger than s2. If yes, then the MRP vector Q is mapped to its shadow set.

public static Vector3 MRPSwitch(Vector3 q, double s2)

Parameters

q Vector3

[-] The input vector

s2 double

[rad] The angle

Returns

Vector3

Mi(double, int)

Returns the rotation matrix corresponding to a single axis rotation about axis a by the angle theta

public static Matrix3 Mi(double theta, int a)

Parameters

theta double

Angle theta

a int

Axis

Returns

Matrix3

Matrix3 Rotation matrix

PRV2DCM(Vector3)

Returns the direction cosine matrix in terms of the 3x1 principal rotation vector

public static Matrix3 PRV2DCM(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Matrix3

Matrix3 Direction cosine matrix

PRV2Elem(Vector3)

PRV2elem(R,Q) translates a principal rotation vector R into the corresponding principal rotation element set Q.

public static NsQuat PRV2Elem(Vector3 r)

Parameters

r Vector3

The vector to convert

Returns

NsQuat

NsQuat A quaternion with 4 values

PRV2Euler121(Vector3)

Translates the principal rotation vector Q into the (1-2-1) Euler angle vector E.

public static Vector3 PRV2Euler121(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler123(Vector3)

Translates the principal rotation vector Q into the (1-2-3) Euler angle vector E.

public static Vector3 PRV2Euler123(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler131(Vector3)

Translates the principal rotation vector Q into the (1-3-1) Euler angle vector E.

public static Vector3 PRV2Euler131(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler132(Vector3)

Translates the principal rotation vector Q into the (1-3-2) Euler angle vector E.

public static Vector3 PRV2Euler132(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler212(Vector3)

Translates the principal rotation vector Q into the (2-1-2) Euler angle vector E.

public static Vector3 PRV2Euler212(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler213(Vector3)

Translates the principal rotation vector Q into the (2-1-3) Euler angle vector E.

public static Vector3 PRV2Euler213(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler231(Vector3)

Translates the principal rotation vector Q into the (2-3-1) Euler angle vector E.

public static Vector3 PRV2Euler231(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler232(Vector3)

Translates the principal rotation vector Q into the (2-3-2) Euler angle vector E.

public static Vector3 PRV2Euler232(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler312(Vector3)

Translates the principal rotation vector Q into the (3-1-2) Euler angle vector E.

public static Vector3 PRV2Euler312(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler313(Vector3)

Translates the principal rotation vector Q into the (3-1-3) Euler angle vector E.

public static Vector3 PRV2Euler313(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler321(Vector3)

Translates the principal rotation vector Q into the (3-2-1) Euler angle vector E.

public static Vector3 PRV2Euler321(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Euler323(Vector3)

Translates the principal rotation vector Q into the (3-2-3) Euler angle vector E.

public static Vector3 PRV2Euler323(Vector3 q)

Parameters

q Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Euler angle

PRV2Gibbs(Vector3)

Translates the principal rotation vector q0 into the Gibbs vector Q.

public static Vector3 PRV2Gibbs(Vector3 q0)

Parameters

q0 Vector3

Input principal rotation vector

Returns

Vector3

Vector3 Gibbs vector

PRV2MRP(Vector3)

PRV2MRP(Q) translates the principal rotation vector Q1 into the MRP vector Q.

public static Vector3 PRV2MRP(Vector3 q0)

Parameters

q0 Vector3

The rotation vector

Returns

Vector3

Vector3 The output vector

PRV2Quat(Vector3)

Translates the principal rotation vector Q1 into the Euler parameter vector Q.

public static NsQuat PRV2Quat(Vector3 q0)

Parameters

q0 Vector3

Input principal rotation vector

Returns

NsQuat

NsQuat Euler parameter vector

Quat2DCM(NsQuat)

Returns the direction cosine matrix in terms of the 4x1 euler parameter vector Q. The first element is the non-dimensional euler parameter, while the remain three elements form the euler parameter vector.

public static Matrix3 Quat2DCM(NsQuat q)

Parameters

q NsQuat

Returns

Matrix3

Quat2Euler121(NsQuat)

Translates the Euler parameter vector Q into the corresponding (1-2-1) Euler angle vector E.

public static Vector3 Quat2Euler121(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler123(NsQuat)

Translates the Euler parameter vector Q into the corresponding (1-2-3) Euler angle vector E.

public static Vector3 Quat2Euler123(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler131(NsQuat)

Translates the Euler parameter vector Q into the corresponding (1-3-1) Euler angle vector E.

public static Vector3 Quat2Euler131(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler132(NsQuat)

Translates the Euler parameter vector Q into the corresponding (1-3-2) Euler angle vector E.

public static Vector3 Quat2Euler132(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler212(NsQuat)

Translates the Euler parameter vector Q into the corresponding (2-1-2) Euler angle vector E.

public static Vector3 Quat2Euler212(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler213(NsQuat)

Translates the Euler parameter vector Q into the corresponding (2-1-3) Euler angle vector E.

public static Vector3 Quat2Euler213(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler231(NsQuat)

Translates the Euler parameter vector Q into the corresponding (2-3-1) Euler angle vector E.

public static Vector3 Quat2Euler231(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler232(NsQuat)

Translates the Euler parameter vector Q into the corresponding (2-3-2) Euler angle vector E.

public static Vector3 Quat2Euler232(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler312(NsQuat)

Translates the Euler parameter vector Q into the corresponding (3-1-2) Euler angle vector E.

public static Vector3 Quat2Euler312(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler313(NsQuat)

Translates the Euler parameter vector Q into the corresponding (3-1-3) Euler angle vector E.

public static Vector3 Quat2Euler313(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler321(NsQuat)

Translates the Euler parameter vector Q into the corresponding (3-2-1) Euler angle vector E.

public static Vector3 Quat2Euler321(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Euler323(NsQuat)

Translates the Euler parameter vector Q into the corresponding (3-2-3) Euler angle vector E.

public static Vector3 Quat2Euler323(NsQuat q)

Parameters

q NsQuat

Input Euler Parameter vector

Returns

Vector3

Vector3 Euler angle vector

Quat2Gibbs(NsQuat)

Translates the Euler parameter vector Q1 into the Gibbs vector Q.

public static Vector3 Quat2Gibbs(NsQuat q1)

Parameters

q1 NsQuat

Input Euler parameter vector

Returns

Vector3

Vector3 Gibbs vector

Quat2MRP(NsQuat)

Translates the Euler parameter vector Q1 into the MRP vector Q.

public static Vector3 Quat2MRP(NsQuat q1)

Parameters

q1 NsQuat

Input Euler parameter vector

Returns

Vector3

Vector3 MRP vector

Quat2PRV(NsQuat)

Translates the Euler parameter vector Q1 into the principal rotation vector Q.

public static Vector3 Quat2PRV(NsQuat q1)

Parameters

q1 NsQuat

The rotational quaternion

Returns

Vector3

Vector3 PRV

SubEuler121(Vector3, Vector3)

Computes the relative (1-2-1) Euler angle vector from E1 to E.

public static Vector3 SubEuler121(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler123(Vector3, Vector3)

Computes the relative (1-2-3) Euler angle vector from E1 to E.

public static Vector3 SubEuler123(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler131(Vector3, Vector3)

Computes the relative (1-3-1) Euler angle vector from E1 to E.

public static Vector3 SubEuler131(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler132(Vector3, Vector3)

Computes the relative (1-3-2) Euler angle vector from E1 to E.

public static Vector3 SubEuler132(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler212(Vector3, Vector3)

Computes the relative (2-1-2) Euler angle vector from E1 to E.

public static Vector3 SubEuler212(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler213(Vector3, Vector3)

Computes the relative (2-1-3) Euler angle vector from E1 to E.

public static Vector3 SubEuler213(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler231(Vector3, Vector3)

Computes the relative (2-3-1) Euler angle vector from E1 to E.

public static Vector3 SubEuler231(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler232(Vector3, Vector3)

Computes the relative (2-3-2) Euler angle vector from E1 to E.

public static Vector3 SubEuler232(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler312(Vector3, Vector3)

Computes the relative (3-1-2) Euler angle vector from E1 to E.

public static Vector3 SubEuler312(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler313(Vector3, Vector3)

Computes the relative (3-1-3) Euler angle vector from E1 to E.

public static Vector3 SubEuler313(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler321(Vector3, Vector3)

Computes the relative (3-2-1) Euler angle vector from E1 to E.

public static Vector3 SubEuler321(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubEuler323(Vector3, Vector3)

Computes the relative (3-2-3) Euler angle vector from E1 to E.

public static Vector3 SubEuler323(Vector3 e, Vector3 e1)

Parameters

e Vector3

To Euler

e1 Vector3

From Euler

Returns

Vector3

Vector3 Relative Euler angle vector from E1 to E

SubGibbs(Vector3, Vector3)

Provides the Gibbs vector which corresponds to the relative rotation to frame Q1 from frame Q2, with Q1 and Q2 both rotations from the same original frame.

public static Vector3 SubGibbs(Vector3 q1, Vector3 q2)

Parameters

q1 Vector3

To Gibbs vector

q2 Vector3

From Gibbs vector

Returns

Vector3

Vector3 The relative rotation to Q1 from Q2

SubMRP(Vector3, Vector3)

Provides the MRP vector which corresponds to the relative rotation to frame Q1 from frame Q2, with Q1 and Q2 both rotations from the same original frame.

public static Vector3 SubMRP(Vector3 q1, Vector3 q2)

Parameters

q1 Vector3

The first rotator

q2 Vector3

The second rotator

Returns

Vector3

The relative rotation to Q1 from Q2

SubPRV(Vector3, Vector3)

Subtracts a principle rotation vector (PRV)

public static Vector3 SubPRV(Vector3 q10, Vector3 q20)

Parameters

q10 Vector3

what is this param?

q20 Vector3

what is this param?

Returns

Vector3

what is this return?

SubQuat(NsQuat, NsQuat)

Provides the Euler parameter vector which corresponds to the relative rotation to frame B1 from frame B2, with B1 and B2 both rotations from the same original frame.

public static NsQuat SubQuat(NsQuat b1, NsQuat b2)

Parameters

b1 NsQuat

To Quaternion

b2 NsQuat

From Quaternion

Returns

NsQuat

NsQuat The relative rotation to B1 from B2

WrapToPi(double)

Makes sure that the angle x lies within +/- Pi.

public static double WrapToPi(double x)

Parameters

x double

The angle

Returns

double

dEuler121(Vector3, Vector3)

Returns the (1-2-1) Euler angle derivative vector for a given (1-2-1) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler121(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Euler angle derivative Vector3

dEuler123(Vector3, Vector3)

Returns the (1-2-3) Euler angle derivative vector for a given (1-2-3) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler123(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler131(Vector3, Vector3)

Returns the (1-3-1) Euler angle derivative vector for a given (1-3-1) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler131(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler132(Vector3, Vector3)

Returns the (1-3-2) Euler angle derivative vector for a given (1-3-2) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler132(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler212(Vector3, Vector3)

Returns the (2-1-2) Euler angle derivative vector for a given (2-1-2) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler212(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler213(Vector3, Vector3)

Returns the (2-1-3) Euler angle derivative vector for a given (2-1-3) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler213(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler231(Vector3, Vector3)

Returns the (2-3-1) Euler angle derivative vector for a given (2-3-1) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler231(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler232(Vector3, Vector3)

Returns the (2-3-2) Euler angle derivative vector for a given (2-3-2) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler232(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler312(Vector3, Vector3)

Returns the (3-1-2) Euler angle derivative vector for a given (3-1-2) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler312(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler313(Vector3, Vector3)

Returns the (3-1-3) Euler angle derivative vector for a given (3-1-3) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler313(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler321(Vector3, Vector3)

Returns the (3-2-1) Euler angle derivative vector for a given (3-2-1) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler321(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dEuler323(Vector3, Vector3)

Returns the (3-2-3) Euler angle derivative vector for a given (3-2-3) Euler angle vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dEuler323(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Euler angle vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Vector3 Euler angle derivative

dGibbs(Vector3, Vector3)

Returns the Gibbs for a given Gibbs vector Q and body angular velocity vector w.
dQ/dt = 1/2 [B(Q)] w

public static Vector3 dGibbs(Vector3 q, Vector3 w)

Parameters

q Vector3

Input Gibbs vector

w Vector3

Input body angular velocity vector

Returns

Vector3

Gibbs derivative Vector3

dMRP(Vector3, Vector3)

Returns the MRP derivative for a given MRP vector Q and body angular velocity vector w.
dQ/dt = 1/4 [B(Q)]

public static Vector3 dMRP(Vector3 q, Vector3 w)

Parameters

q Vector3

Input MRP vector

w Vector3

Input body angular velocity vector

Returns

Vector3

MRP derivative Vector3

dPRV(Vector3, Vector3)

Returns the PRV derivative for a given PRV vector Q and body angular velocity vector w.
dQ/dt = [B(Q)] w

public static Vector3 dPRV(Vector3 q, Vector3 w)

Parameters

q Vector3

Input PRV vector

w Vector3

Input body angular velocity vector

Returns

Vector3

PRV derivative Vector3

dQuat(NsQuat, Vector3)

Returns the Euler parameter derivative for a given Euler parameter vector Q and body angular velocity vector w.
dQ/dt = 1 / 2[B(Q)] w

public static NsQuat dQuat(NsQuat q, Vector3 w)

Parameters

q NsQuat
w Vector3

Returns

NsQuat

Euler parameter derivative Vector4