|
| | DtQuat () |
| | constructors More...
|
| |
| | DtQuat (double x, double y, double z, double w) |
| |
| | DtQuat (const DtVector &i, double real) |
| |
| | DtQuat (double theta_z, double theta_y, double theta_x) |
| | from 3 euler angles More...
|
| |
| | DtQuat (const DtVector &angles) |
| | from 3 euler angles More...
|
| |
| void | set (double x, double y, double z, double w) |
| | Set the quat. More...
|
| |
| DtQuat & | operator= (const DtQuat &q) |
| | basic operations More...
|
| |
| DtQuat | operator+ (const DtQuat &q) const |
| |
| DtQuat | operator- (const DtQuat &q) const |
| |
| DtQuat | operator* (const DtQuat &q) const |
| |
| DtQuat | operator/ (const DtQuat &q) const |
| |
| DtQuat | operator* (double scale) const |
| |
| DtQuat | operator/ (double scale) const |
| |
| DtQuat | operator- () const |
| |
| const DtQuat & | operator+= (const DtQuat &q) |
| |
| const DtQuat & | operator-= (const DtQuat &q) |
| |
| const DtQuat & | operator*= (const DtQuat &q) |
| |
| const DtQuat & | operator*= (double scale) |
| |
| const DtQuat & | operator/= (double scale) |
| |
| double | length () const |
| | gets the length of this quaternion More...
|
| |
| double | length_squared () const |
| | gets the squared length of this quaternion More...
|
| |
| void | normalize () |
| | normalizes this quaternion More...
|
| |
| DtQuat | normalized () const |
| | returns the normalized version of this quaternion More...
|
| |
| void | conjugate () |
| | computes the conjugate of this quaternion More...
|
| |
| void | invert () |
| | inverts this quaternion More...
|
| |
| DtQuat | log () const |
| | returns the logarithm of a quaternion = v*a where q = [cos(a),v*sin(a)] More...
|
| |
| DtQuat | exp () const |
| | returns e^quaternion = exp(v*a) = [cos(a),vsin(a)] More...
|
| |
| void | getMatrix4 (double matrix[16]) const |
| | casting to a 4x4 isomorphic matrix for right multiplication with vector More...
|
| |
| void | getMatrix3 (double matrix[9]) const |
| | Get a 3x3 rotation matrix. More...
|
| |
| void | to_axis_angle (DtVector &axis, double &angle) const |
| | returns the axis and angle of this unit quaternion More...
|
| |
| DtVector | rotate (const DtVector &v) const |
| | rotates v by this quaternion (quaternion must be unit) More...
|
| |
| DtVector | euler_angles () const |
| | returns the euler angles from a rotation quaternion More...
|
| |
|
| static double | dot (const DtQuat &q1, const DtQuat &q2) |
| | computes the dot product of 2 quaternions More...
|
| |
| static DtQuat | lerp (const DtQuat &q1, const DtQuat &q2, double t) |
| | linear quaternion interpolation More...
|
| |
| static DtQuat | slerp (const DtQuat &q1, const DtQuat &q2, double t) |
| | spherical linear interpolation More...
|
| |
| static DtQuat | slerpNoInvert (const DtQuat &q1, const DtQuat &q2, double t) |
| | This version of slerp, used by squad, does not check for theta > 90. More...
|
| |
| static DtQuat | squad (const DtQuat &q1, const DtQuat &q2, const DtQuat &a, const DtQuat &b, double t) |
| | spherical cubic interpolation More...
|
| |
| static DtQuat | bezier (const DtQuat &q1, const DtQuat &q2, const DtQuat &a, const DtQuat &b, double t) |
| | Shoemake-Bezier interpolation using De Castlejau algorithm. More...
|
| |
| static DtQuat | spline (const DtQuat &qnm1, const DtQuat &qn, const DtQuat &qnp1) |
| | Given 3 quaternions, qn-1,qn and qn+1, calculate a control point to be used in spline interpolation. More...
|
| |
| static DtQuat | from_axis_angle (const DtVector &axis, double angle) |
| | converts from a normalized axis - angle pair rotation to a quaternion More...
|
| |
A utility Quaternion class.