PARP Research Group University of Murcia, Spain


QVQuaternion Class Reference
[Math extensions]

Implementation of quaternions. More...

#include <QVQuaternion>

Inherits QVVector.

List of all members.

Public Member Functions

 QVQuaternion ()
 Identity constructor.
 QVQuaternion (QVVector direction, float phi)
 Axis rotation constructor.
 QVQuaternion (const double q1, const double q2, const double q3, const double q4)
 Direct coordinates constructor.
 QVQuaternion (const QVMatrix matrix)
 Rotation matrix constructor.
QVQuaternion operator* (const QVQuaternion &quaternion) const
 Quaternion product.
 QVQuaternion (const QVQuaternion &quaternion)
 Copy constructor.
QVQuaternion quaternionProduct (const QVQuaternion &quaternion) const
 Combine operation for quaternions.

Static Public Member Functions

static QVQuaternion trackball (float p1x, float p1y, float p2x, float p2y)
 Gets quaternion corresponding to a trackball rotation.


Detailed Description

Implementation of quaternions.

Todo:
develop notes about quaternions.

Definition at line 43 of file qvquaternion.h.


Constructor & Destructor Documentation

QVQuaternion::QVQuaternion (  ) 

Identity constructor.

Creates quaternion to identity rotation.

Definition at line 31 of file qvquaternion.cpp.

Referenced by trackball().

QVQuaternion::QVQuaternion ( QVVector  direction,
float  phi 
)

Axis rotation constructor.

Creates a quaternion object which rotates around a direction a given angle.

Parameters:
direction quaternion will rotate around this direction.
phi quaternion will rotate this angle, given in radians.

Definition at line 37 of file qvquaternion.cpp.

QVQuaternion::QVQuaternion ( const double  q1,
const double  q2,
const double  q3,
const double  q4 
)

Direct coordinates constructor.

Creates a quaternion from given coordinates.

Parameters:
q1 first coordinate for quaternion.
q2 second coordinate for quaternion.
q3 third coordinate for quaternion.
q4 fourth coordinate for quaternion.

Definition at line 58 of file qvquaternion.cpp.

QVQuaternion::QVQuaternion ( const QVMatrix  matrix  ) 

Rotation matrix constructor.

Creates a quaternion from a rotation matrix.

Parameters:
matrix rotation matrix to create the quaternion from

Definition at line 47 of file qvquaternion.cpp.

QVQuaternion::QVQuaternion ( const QVQuaternion quaternion  )  [inline]

Copy constructor.

Creates a quaternion copying its coordinates from a given one.

Parameters:
quaternion quaternion to copy coordinates

Definition at line 92 of file qvquaternion.h.


Member Function Documentation

QVQuaternion QVQuaternion::operator* ( const QVQuaternion quaternion  )  const [inline]

Quaternion product.

Parameters:
quaternion operand for the product
See also:
quaternionProduct

Definition at line 85 of file qvquaternion.h.

QVQuaternion QVQuaternion::trackball ( float  p1x,
float  p1y,
float  p2x,
float  p2y 
) [static]

Gets quaternion corresponding to a trackball rotation.

Creates a quaternion which rotates given two points at a plane, mapped to a sphere.

Parameters:
p1x first coordinate for first point.
p1y second coordinate for first point.
p2x first coordinate for second point.
p2y second coordinate for second point.
Returns:
quaternion corresponding to rotate in a sphere from point (p1x, p1y) to (p2x, p2y). corresponding to this quaternion, and at element (4,4), the unity.

Definition at line 75 of file qvquaternion.cpp.

QVQuaternion QVQuaternion::quaternionProduct ( const QVQuaternion quaternion  )  const

Combine operation for quaternions.

Creates a quaternion corresponding to combination of rotations corresponding to actual quaternion and the one received by parameter

Parameters:
quaternion operand in the combining operation.
Returns:
resulting quaternion.

Definition at line 107 of file qvquaternion.cpp.

Referenced by operator*().


The documentation for this class was generated from the following files:



QVision framework. PARP research group, copyright 2007, 2008.