linear-1.10.1: Linear Algebra

Portabilitynon-portable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellTrustworthy

Linear.Quaternion

Description

Quaternions

Synopsis

Documentation

class Complicated t whereSource

A vector space that includes the basis elements _e and _i

Methods

_e, _i :: Lens' (t a) aSource

class Complicated t => Hamiltonian t whereSource

A vector space that includes the basis elements _e, _i, _j and _k

Methods

_j, _k :: Lens' (t a) aSource

_ijk :: Lens' (t a) (V3 a)Source

slerp :: RealFloat a => Quaternion a -> Quaternion a -> a -> Quaternion aSource

Spherical linear interpolation between two quaternions.

asinq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion aSource

asin with a specified branch cut.

acosq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion aSource

acos with a specified branch cut.

atanq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion aSource

atan with a specified branch cut.

asinhq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion aSource

asinh with a specified branch cut.

acoshq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion aSource

acosh with a specified branch cut.

atanhq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion aSource

atanh with a specified branch cut.

absi :: Floating a => Quaternion a -> aSource

norm of the imaginary component

pow :: RealFloat a => Quaternion a -> a -> Quaternion aSource

raise a Quaternion to a scalar power

rotate :: (Conjugate a, RealFloat a) => Quaternion a -> V3 a -> V3 aSource

Apply a rotation to a vector.

axisAngle :: (Epsilon a, Floating a) => V3 a -> a -> Quaternion aSource

axisAngle axis theta builds a Quaternion representing a rotation of theta radians about axis.