record TQuaternion
Unit
PXL.Types
Declaration
type TQuaternion = record
Description
3D quaternion.
Overview
Fields
Methods
Description
Fields
Methods
function Angle: VectorFloat; |
|
Returns rotational angle "theta" that is present in current quaternion.
|
function Axis: TVector3f; |
|
Returns rotational axis that is present in current quaternion.
|
function Conjugate: TQuaternion; |
|
Computes quaternion's conjugate. The resulting quaternion has opposite rotation to the original quaternion.
|
function Exponentiate(const Exponent: VectorFloat): TQuaternion; |
|
Computes exponentiation of the given quaternion.
|
function Length: VectorFloat; |
|
Returns the magnitude of current quaternion.
|
function Normalize: TQuaternion; |
|
Normalizes the current quaternion. Note that normally quaternions are always normalized (of course, within limits of numerical precision). This function is provided mainly to combat floating point "error creep", which occurs after many successive quaternion operations.
|
class function Rotate(const Axis: TVector3f; const Angle: VectorFloat): TQuaternion; static; |
|
Creates 3D quaternion containing rotation around an arbitrary axis with given angle (in radians).
|
class function RotateInertialToObject(const Heading, Pitch, Bank: VectorFloat): TQuaternion; static; |
|
Creates 3D quaternion setup to perform Inertial-To-Object rotation using the angles specified in Euler format.
|
class function RotateObjectToIntertial(const Heading, Pitch, Bank: VectorFloat): TQuaternion; static; |
|
Creates 3D quaternion setup to perform Object-To-Inertial rotation using the angles specified in Euler format.
|
class function RotateX(const Angle: VectorFloat): TQuaternion; static; |
|
Creates 3D quaternion containing rotation around X axis with given angle (in radians).
|
class function RotateY(const Angle: VectorFloat): TQuaternion; static; |
|
Creates 3D quaternion containing rotation around Y axis with given angle (in radians).
|
class function RotateZ(const Angle: VectorFloat): TQuaternion; static; |
|
Creates 3D quaternion containing rotation around Z axis with given angle (in radians).
|
function Slerp(const Quaternion: TQuaternion; const Theta: VectorFloat): TQuaternion; |
|
Applies spherical linear interpolation between current and given quaternions.
Parameters
- Quaternion
- Destination quaternion to be used in the interpolation
- Theta
- The mixture of the two quaternions with range of [0..1].
|
Copyright © 2000 - 2017 Yuriy Kotsarenko. Help files generated by PasDoc.
|