Skip to content

spaceteams.SC_Compute_Server.math

Basis_Vectors_to_DCM

Basis_Vectors_to_DCM(i: Annotated[ArrayLike, float64, '[3, 1]'], j: Annotated[ArrayLike, float64, '[3, 1]'], k: Annotated[ArrayLike, float64, '[3, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Construct a Passive DCM from body‐frame basis vectors expressed in the global frame. @param i first basis vector (global frame) @param j second basis vector (global frame) @param k third basis vector (global frame) @return passive transformation matrix (global → body)

Basis_Vectors_to_DCM_Active

Basis_Vectors_to_DCM_Active(i: Annotated[ArrayLike, float64, '[3, 1]'], j: Annotated[ArrayLike, float64, '[3, 1]'], k: Annotated[ArrayLike, float64, '[3, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Construct an Active DCM from body‐frame basis vectors expressed in the global frame. @param i first basis vector (global frame) @param j second basis vector (global frame) @param k third basis vector (global frame) @return active transformation matrix

DCM_Active_to_Euler313

DCM_Active_to_Euler313(dcm: Annotated[ArrayLike, float64, '[3, 3]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Extract Euler angles in 3-1-3 order from an active DCM. @param dcm active rotation matrix @return vector of angles (radians)

DCM_Active_to_Euler321

DCM_Active_to_Euler321(dcm: Annotated[ArrayLike, float64, '[3, 3]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Extract Euler angles in 3-2-1 order from an active DCM. @param dcm active rotation matrix @return vector of angles (radians)

DCM_to_Euler313

DCM_to_Euler313(dcm: Annotated[ArrayLike, float64, '[3, 3]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Extract Euler angles in 3-1-3 order from a passive DCM. @param dcm passive rotation matrix @return vector of angles (radians)

DCM_to_Euler321

DCM_to_Euler321(dcm: Annotated[ArrayLike, float64, '[3, 3]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Extract Euler angles in 3-2-1 order from a passive DCM. @param dcm passive rotation matrix @return vector of angles (radians)

DCM_to_Quat

DCM_to_Quat(dcm: Annotated[ArrayLike, float64, '[3, 3]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]']

Convert a passive DCM to a quaternion. @param dcm passive direction cosine matrix @return quaternion representing the same rotation, in xyzw order

Euler313_to_DCM

Euler313_to_DCM(euler: Annotated[ArrayLike, float64, '[3, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Compute the passive DCM from Euler angles in 3-1-3 order. @param euler vector of angles (radians) @return passive rotation matrix

Euler313_to_DCM_Active

Euler313_to_DCM_Active(euler: Annotated[ArrayLike, float64, '[3, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Compute the active DCM from Euler angles in 3-1-3 order. @param euler vector of angles (radians) @return active rotation matrix

Euler313_to_Quat

Euler313_to_Quat(euler: Annotated[ArrayLike, float64, '[3, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]']

Compute the passive quaternion from Euler angles in 3-1-3 order. @param euler vector of angles (radians) @return quaternion, in xyzw order

Euler321_to_DCM

Euler321_to_DCM(euler: Annotated[ArrayLike, float64, '[3, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Compute the passive DCM from Euler angles in 3-2-1 order. @param euler vector of angles (radians) @return passive rotation matrix

Euler321_to_DCM_Active

Euler321_to_DCM_Active(euler: Annotated[ArrayLike, float64, '[3, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Compute the active DCM from Euler angles in 3-2-1 order. @param euler vector of angles (radians) @return active rotation matrix

Euler321_to_Quat

Euler321_to_Quat(euler: Annotated[ArrayLike, float64, '[3, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[4, 1]']

Compute the passive quaternion from Euler angles in 3-2-1 order. @param euler vector of angles (radians) @return quaternion, in xyzw order

Quat_to_DCM

Quat_to_DCM(quat: Annotated[ArrayLike, float64, '[4, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Convert a quaternion to its passive DCM (rotation matrix). @param quat rotation quaternion, in xyzw order @return passive direction cosine matrix

Quat_to_Euler313

Quat_to_Euler313(quat: Annotated[ArrayLike, float64, '[4, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Extract Euler angles in 3-1-3 order from a quaternion. @param quat rotation quaternion, in xyzw order @return vector of angles (radians)

Quat_to_Euler321

Quat_to_Euler321(quat: Annotated[ArrayLike, float64, '[4, 1]']) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 1]']

Extract Euler angles in 3-2-1 order from a quaternion. @param quat rotation quaternion, in xyzw order @return vector of angles (radians)

T1

T1(ang_radians: SupportsFloat) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Passive transformation matrix for a right‐handed rotation about the X (1st) axis. @param ang_radians rotation angle in radians @return 3×3 passive rotation matrix

T2

T2(ang_radians: SupportsFloat) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Passive transformation matrix for a right‐handed rotation about the Y (2nd) axis. @param ang_radians rotation angle in radians @return 3×3 passive rotation matrix

T3

T3(ang_radians: SupportsFloat) -> typing.Annotated[numpy.typing.NDArray[numpy.float64], '[3, 3]']

Passive transformation matrix for a right‐handed rotation about the Z (3rd) axis. @param ang_radians rotation angle in radians @return 3×3 passive rotation matrix

deg

deg(radians: SupportsFloat) -> float

radians to degrees

rad

rad(degrees: SupportsFloat) -> float

degrees to radians

ulp

ulp(x: SupportsFloat) -> float

Unit in the last place function for doubles. https://en.wikipedia.org/wiki/Unit_in_the_last_place @param x double precision floating point value @return difference between next higher representable value and x