Conversion Between Attitude Representations of DCM, Euler Angles, Quaternions, and Euler Vectors
Convert from Direction Cosine Matrix to Euler Vectors
Convert from Direction Cosine Matrix to rotation Quaternions
Generate uniform random direction cosine matrices
Convert from Euler Angles to Direction Cosine Matrix
Convert from Euler Angles to Euler Angles
Convert from Euler Angles to Euler Vectors
Convert from Direction Cosine Matrix to Euler Angles
Convert from Euler Angles to rotation Quaternions
Generate uniform random Euler Angles
Convert from Euler Vectors to Direction Cosine Matrix
Convert from Euler Vectors to Euler Angles
Convert from Euler Vectors to rotation Quaternions
Generate uniform random Euler Vectors
Determine if the variable is a pure rotation matrix
Convert from rotation Quaternions to Direction Cosine Matrix
Convert from rotation Quaternions to Euler Angles
Convert from rotation Quaternions to Euler Vectors
Convert from rotation Quaternions to OpenGL rotation matrix
Angular difference between 2 quaternions
Quaternion conjugate
Quaternion inverse
Linear quaternion interpolation
Quaternion logarithm
Norm of a quaternion
Quaternion normalization
Generate uniform random unit quaternions
Updates current attitude quaternion
Generate zero-valued quaternions
Rotate a vector by a quaternion
Quaternion multiplication
Quaternion division
Quaternion subtraction
Quaternion addition
Quaternion dot product
Conversion between attitude representations: DCM, Euler angles, Quaternions, and Euler vectors. Plus conversion between 2 Euler angle set types (xyx, yzy, zxz, xzx, yxy, zyz, xyz, yzx, zxy, xzy, yxz, zyx). Fully vectorized code, with warnings/errors for Euler angles (singularity, out of range, invalid angle order), DCM (orthogonality, not proper, exceeded tolerance to unity determinant) and Euler vectors(not unity). Also quaternion and other useful functions. Based on SpinCalc by John Fuller and SpinConv by Paolo de Leva.