ReferenceFrameRotations.jl
This module contains functions related to 3D rotations of reference frames. It is used on a daily basis on projects at the Brazilian National Institute for Space Research (INPE).
Installation
This package can be installed using:
julia> Pkg.update()
julia> Pkg.add("ReferenceFrameRotations")Status
This packages supports the following representations of 3D rotations:
- Classical Rodrigues Parameters (CRP);
- Direction Cosine Matrices (DCMs);
- Euler Angle and Axis;
- Euler Angles;
- Modified Rodrigues Parameters (MRP); and
- Quaternions.
All of those representations support rotation composition and inversion in this package.
Roadmap
This package will be continuously enhanced. Next steps will include API improvements, performance optimizations, and additional utilities for supported representations.
Manual outline
- Direction Cosine Matrices
- Euler Angle and Axis
- Euler Angles
- Quaternion
- Classical Rodrigues Parameters
- Modified Rodrigues Parameters
- Conversions
- CRPs to DCMs
- CRPs to Euler Angle and Axis
- CRPs to Euler Angles
- CRPs to MRPs
- CRPs to Quaternions
- DCMs to CRP
- DCMs to Euler Angles
- DCMs to Euler Angle and Axis
- DCMs to MRP
- DCMs to Quaternions
- Euler Angles to CRP
- Euler Angle and Axis to DCMs
- Euler Angle and Axis to Euler Angles
- Euler Angle and Axis to Quaternions
- Euler Angles to DCMs
- Euler Angles to Euler Angles
- Euler Angles to Euler Angle and Axis
- Euler Angles to MRP
- Euler Angles to Quaternions
- MRPs to CRP
- MRPs to DCMs
- MRPs to Euler Angle and Axis
- MRPs to Euler Angles
- MRPs to Quaternions
- Small Euler Angles to DCMs
- Small Euler Angles to Quaternions
- Quaternions to DCMs
- Quaternions to Euler Angle and Axis
- Quaternions to Euler Angles
- Quaternions to MRP
- Julia API
- Kinematics
- Composing rotations
- Inverting rotations
Library documentation
ReferenceFrameRotations.CRPReferenceFrameRotations.CRPReferenceFrameRotations.DCMReferenceFrameRotations.EulerAngleAxisReferenceFrameRotations.EulerAnglesReferenceFrameRotations.MRPReferenceFrameRotations.MRPReferenceFrameRotations.QuaternionReferenceFrameRotations.QuaternionReferenceFrameRotations.ReferenceFrameRotationReferenceFrameRotations._EulerAngleConversionBase.:*Base.:*Base.:*Base.:*Base.:*Base.:*Base.:*Base.:+Base.:-Base.:-Base.:/Base.:/Base.:\Base.:\Base.conjBase.copyBase.copyBase.copyBase.imagBase.invBase.invBase.invBase.invBase.invBase.realLinearAlgebra.normLinearAlgebra.normLinearAlgebra.normReferenceFrameRotations.angle_to_angleReferenceFrameRotations.angle_to_angleaxisReferenceFrameRotations.angle_to_crpReferenceFrameRotations.angle_to_dcmReferenceFrameRotations.angle_to_mrpReferenceFrameRotations.angle_to_quatReferenceFrameRotations.angle_to_rotReferenceFrameRotations.angleaxis_to_angleReferenceFrameRotations.angleaxis_to_dcmReferenceFrameRotations.angleaxis_to_quatReferenceFrameRotations.compose_rotationReferenceFrameRotations.crp_to_angleReferenceFrameRotations.crp_to_angleaxisReferenceFrameRotations.crp_to_dcmReferenceFrameRotations.crp_to_mrpReferenceFrameRotations.crp_to_quatReferenceFrameRotations.dcm_to_angleReferenceFrameRotations.dcm_to_angleaxisReferenceFrameRotations.dcm_to_crpReferenceFrameRotations.dcm_to_mrpReferenceFrameRotations.dcm_to_quatReferenceFrameRotations.dcrpReferenceFrameRotations.ddcmReferenceFrameRotations.dmrpReferenceFrameRotations.dquatReferenceFrameRotations.inv_rotationReferenceFrameRotations.mrp_to_angleReferenceFrameRotations.mrp_to_angleaxisReferenceFrameRotations.mrp_to_crpReferenceFrameRotations.mrp_to_dcmReferenceFrameRotations.mrp_to_quatReferenceFrameRotations.orthonormalizeReferenceFrameRotations.quat_to_angleReferenceFrameRotations.quat_to_angleaxisReferenceFrameRotations.quat_to_crpReferenceFrameRotations.quat_to_dcmReferenceFrameRotations.quat_to_mrpReferenceFrameRotations.shadow_rotationReferenceFrameRotations.shadow_rotationReferenceFrameRotations.smallangle_to_dcmReferenceFrameRotations.smallangle_to_quatReferenceFrameRotations.smallangle_to_rotReferenceFrameRotations.vectReferenceFrameRotations.vectReferenceFrameRotations.vect