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
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