Robotics Library  0.7.0
Functions
QuaternionBaseAddons.h File Reference

Go to the source code of this file.

Functions

template<typename OtherDerived >
Vector3 angularVelocity (const QuaternionBase< OtherDerived > &qd) const
 
template<typename OtherDerived1 , typename OtherDerived2 >
Vector3 angularAcceleration (const QuaternionBase< OtherDerived1 > &qd, const QuaternionBase< OtherDerived2 > &qdd) const
 
Quaternion< Scalar > exp () const
 
Quaternion< Scalar > firstDerivative (const Vector3 &omega) const
 
template<typename OtherDerived >
Quaternion< Scalar > lerp (const Scalar &t, const QuaternionBase< OtherDerived > &other) const
 
Quaternion< Scalar > log () const
 
template<typename OtherDerived >
Quaternion< Scalar > operator+ (const QuaternionBase< OtherDerived > &other) const
 
template<typename OtherDerived >
Quaternion< Scalar > operator- (const QuaternionBase< OtherDerived > &other) const
 
Quaternion< Scalar > operator* (const Scalar &scalar) const
 
Quaternion< Scalar > operator/ (const Scalar &scalar) const
 
Quaternion< Scalar > pow (const Scalar &t) const
 
template<typename OtherDerived >
Quaternion< Scalar > secondDerivative (const QuaternionBase< OtherDerived > &qd, const Vector3 &omega, const Vector3 &omegad) const
 
template<typename OtherDerived >
void setFromGaussian (const Vector3 &rand, const QuaternionBase< OtherDerived > &mean, const Vector3 &sigma)
 QuTEM (Quaternion Tangent Ellipsoid at the Mean) sampling algorithm. More...
 
void setFromUniform (const Vector3 &rand)
 Generate uniformly-distributed random unit quaternions. More...
 
template<typename OtherDerived >
Quaternion< Scalar > slerpFirstDerivative (const Scalar &t, const QuaternionBase< OtherDerived > &other) const
 
template<typename OtherDerived1 , typename OtherDerived2 , typename OtherDerived3 >
Quaternion< Scalar > squad (const Scalar &t, const QuaternionBase< OtherDerived1 > &a, const QuaternionBase< OtherDerived2 > &b, const QuaternionBase< OtherDerived3 > &other) const
 
template<typename OtherDerived1 , typename OtherDerived2 >
Quaternion< Scalar > squadControlPoint (const QuaternionBase< OtherDerived1 > &previous, const QuaternionBase< OtherDerived2 > &next) const
 
template<typename OtherDerived1 , typename OtherDerived2 , typename OtherDerived3 >
Quaternion< Scalar > squadFirstDerivative (const Scalar &t, const QuaternionBase< OtherDerived1 > &a, const QuaternionBase< OtherDerived2 > &b, const QuaternionBase< OtherDerived3 > &other) const
 

Function Documentation

◆ angularAcceleration()

template<typename OtherDerived1 , typename OtherDerived2 >
Vector3 angularAcceleration ( const QuaternionBase< OtherDerived1 > &  qd,
const QuaternionBase< OtherDerived2 > &  qdd 
) const

◆ angularVelocity()

template<typename OtherDerived >
Vector3 angularVelocity ( const QuaternionBase< OtherDerived > &  qd) const

◆ exp()

Quaternion<Scalar> exp ( ) const

◆ firstDerivative()

Quaternion<Scalar> firstDerivative ( const Vector3 &  omega) const

◆ lerp()

template<typename OtherDerived >
Quaternion<Scalar> lerp ( const Scalar &  t,
const QuaternionBase< OtherDerived > &  other 
) const

◆ log()

Quaternion<Scalar> log ( ) const

◆ operator*()

Quaternion<Scalar> operator* ( const Scalar &  scalar) const

◆ operator+()

template<typename OtherDerived >
Quaternion<Scalar> operator+ ( const QuaternionBase< OtherDerived > &  other) const

◆ operator-()

template<typename OtherDerived >
Quaternion<Scalar> operator- ( const QuaternionBase< OtherDerived > &  other) const

◆ operator/()

Quaternion<Scalar> operator/ ( const Scalar &  scalar) const

◆ pow()

Quaternion<Scalar> pow ( const Scalar &  t) const

◆ secondDerivative()

template<typename OtherDerived >
Quaternion<Scalar> secondDerivative ( const QuaternionBase< OtherDerived > &  qd,
const Vector3 &  omega,
const Vector3 &  omegad 
) const

◆ setFromGaussian()

template<typename OtherDerived >
void setFromGaussian ( const Vector3 &  rand,
const QuaternionBase< OtherDerived > &  mean,
const Vector3 &  sigma 
)

QuTEM (Quaternion Tangent Ellipsoid at the Mean) sampling algorithm.

Michael Patrick Johnson. Exploiting Quaternions to Support Expressive Interactive Character Motion. PhD Thesis, Massachusetts Institute of Technology, Cambridge, MA, USA, February 2003.

http://characters.media.mit.edu/Theses/johnson_phd.pdf

◆ setFromUniform()

void setFromUniform ( const Vector3 &  rand)

Generate uniformly-distributed random unit quaternions.

James J. Kuffner. Effective Sampling and Distance Metrics for 3D Rigid Body Path Planning. Proceedings of the IEEE International Conference on Robotics and Automation, pages 3993-3998. New Orleans, LA, USA, April 2004.

https://doi.org/10.1109/ROBOT.2004.1308895

◆ slerpFirstDerivative()

template<typename OtherDerived >
Quaternion<Scalar> slerpFirstDerivative ( const Scalar &  t,
const QuaternionBase< OtherDerived > &  other 
) const

◆ squad()

template<typename OtherDerived1 , typename OtherDerived2 , typename OtherDerived3 >
Quaternion<Scalar> squad ( const Scalar &  t,
const QuaternionBase< OtherDerived1 > &  a,
const QuaternionBase< OtherDerived2 > &  b,
const QuaternionBase< OtherDerived3 > &  other 
) const

◆ squadControlPoint()

template<typename OtherDerived1 , typename OtherDerived2 >
Quaternion<Scalar> squadControlPoint ( const QuaternionBase< OtherDerived1 > &  previous,
const QuaternionBase< OtherDerived2 > &  next 
) const

◆ squadFirstDerivative()

template<typename OtherDerived1 , typename OtherDerived2 , typename OtherDerived3 >
Quaternion<Scalar> squadFirstDerivative ( const Scalar &  t,
const QuaternionBase< OtherDerived1 > &  a,
const QuaternionBase< OtherDerived2 > &  b,
const QuaternionBase< OtherDerived3 > &  other 
) const