This package contains methods for working with orientation data, i.e. data from SO(3). The basic abstract class is the "orientation"; there are several concrete classes (with constructions rotmatrix(), rotvector(), eulerzyx(), eulerzxz(), quaternion(), skewmatrix() and skewvector()) storing different representations of orientations.

Methods are defined to get the length of a vector of orientations, as well as to extract and replace elements, and to multiply orientations and raise them to real powers.

There are also utility functions rotation.distance(), rotation.angle(), nearest.orthog() and nearest.SO3().

There is a plotting method boat3d() to display orientation data in a 3D plot, and a linear modelling function orientlm().

## Installation

You can install the release version of orientlib using

install.packages("orientlib")

You can install the development version of orientlib from GitHub with:

# install.packages("devtools")
devtools::install_github("dmurdoch/orientlib")