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).
Requirements
Julia >= 0.6
StaticArrays
Installation
This package can be installed using:
julia> Pkg.update()
julia> Pkg.add("ReferenceFrameRotations")
Status
This packages supports the following representations of 3D rotations:
Euler Angle and Axis (INCOMPLETE);
Euler Angles;
Direction Cosine Matrices (DCMs);
Quaternions.
However, composing rotations is only currently supported for DCMs and Quaternions.
Furthermore, the following conversions between the representations are available:
Direction Cosine Matrices to Euler Angles;
Direction Cosine Matrices to Quaternions;
Euler Angle and Axis to Quaternions;
Euler Angles to Direction Cosine Matrices;
Euler Angles to Quaternions;
Small Euler Angles to Direction Cosine Matrices;
Small Euler Angles to Quaternions;
Quaternions to Direction Cosine Matrices;
Quaternions to Euler Angle and Axis;
Quaternions to Euler Angles.
Roadmap
This package will be continuously enhanced. Next steps will be to add other representations of 3D rotations such as Euler angle and axis (initial support is already available), Rodrigues parameters, etc.
Manual outline
- Euler Angle and Axis
- Euler Angles
- Quaternion
- Conversions
- DCMs to Euler Angles
- DCMs to Quaternions
- Euler Angle and Axis to Quaternions
- Euler Angles to Direction Cosine Matrices
- Small Euler Angles to Direction Cosine Matrices
- Small Euler Angles to Quaternions
- Quaternions to Direction Cosine Matrices
- Kinematics
- Composing rotations
- Inverting rotations
Library documentation
ReferenceFrameRotations.DCM
ReferenceFrameRotations.EulerAngleAxis
ReferenceFrameRotations.EulerAngles
ReferenceFrameRotations.Quaternion
ReferenceFrameRotations.Quaternion
ReferenceFrameRotations.Quaternion
ReferenceFrameRotations.Quaternion
Base.:*
Base.:*
Base.:*
Base.:*
Base.:*
Base.:+
Base.:-
Base.:/
Base.:/
Base.LinAlg.norm
Base.conj
Base.copy
Base.eye
Base.eye
Base.getindex
Base.imag
Base.inv
Base.real
Base.show
Base.zeros
Base.zeros
ReferenceFrameRotations.angle2dcm
ReferenceFrameRotations.angle2dcm
ReferenceFrameRotations.angle2quat
ReferenceFrameRotations.angle2quat
ReferenceFrameRotations.angle2rot
ReferenceFrameRotations.angle2rot
ReferenceFrameRotations.angleaxis2quat
ReferenceFrameRotations.angleaxis2quat
ReferenceFrameRotations.compose_rotation
ReferenceFrameRotations.create_rotation_matrix
ReferenceFrameRotations.dcm2angle
ReferenceFrameRotations.dcm2quat
ReferenceFrameRotations.ddcm
ReferenceFrameRotations.dquat
ReferenceFrameRotations.inv_rotation
ReferenceFrameRotations.quat2angle
ReferenceFrameRotations.quat2angleaxis
ReferenceFrameRotations.quat2dcm
ReferenceFrameRotations.smallangle2dcm
ReferenceFrameRotations.smallangle2quat
ReferenceFrameRotations.smallangle2rot
ReferenceFrameRotations.vect