Quaternion operations. More...
Classes | |
| struct | KzcQuaternion |
| Structure of quaternion. More... | |
Functions | |
| KANZI_API void | kzcQuaternionSetIdentity (KzcQuaternion *quaternion) |
| Sets identity quaternion. More... | |
| KANZI_API void | kzcQuaternionInitializeFromVector (const KzcVector3 *axis, kzFloat angleInRadians, KzcQuaternion *out_quaternion) |
| Creates quaternion from vector and and angle. More... | |
| KANZI_API void | kzcQuaternionInitializeFromMatrix4x4 (const KzcMatrix4x4 *matrix, KzcQuaternion *out_quaternion) |
| Creates quaternion from matrix. More... | |
| KANZI_API void | kzcQuaternionConvertToMatrix4x4 (const KzcQuaternion *quaternion, KzcMatrix4x4 *out_matrix) |
| Converts quaternion from 4x4 matrix. More... | |
| KANZI_API void | kzcQuaternionMultiply (const KzcQuaternion *quaternion1, const KzcQuaternion *quaternion2, KzcQuaternion *out_quaternion) |
| Multiplies 2 quaternions, resulting rotation. More... | |
| KANZI_API void | kzcQuaternionMultiplyVector3 (const KzcQuaternion *quaternion, const KzcVector3 *vector3, KzcVector3 *out_vector3) |
| Multiplies quaternion with vector, i.e. More... | |
| KANZI_API void | kzcQuaternionNormalize (KzcQuaternion *quaternion) |
| Normalizes a quaternion. More... | |
| KANZI_API void | kzcQuaternionInverse (KzcQuaternion *quaternion) |
| Inverses a quaternion. More... | |
| KANZI_API void | kzcQuaternionSlerp (const KzcQuaternion *quaternion1, const KzcQuaternion *quaternion2, kzFloat t, KzcQuaternion *out_quaternion) |
| Spherical interpolation between two quaternions. More... | |
| KANZI_API void | kzcQuaternionSlerpLongerPath (const KzcQuaternion *quaternion1, const KzcQuaternion *quaternion2, kzFloat t, KzcQuaternion *out_quaternion) |
| Spherical interpolation between two quaternions. More... | |
Quaternion operations.
Copyright 2008-2020 by Rightware. All rights reserved.
| KANZI_API void kzcQuaternionSetIdentity | ( | KzcQuaternion * | quaternion | ) |
Sets identity quaternion.
| KANZI_API void kzcQuaternionInitializeFromVector | ( | const KzcVector3 * | axis, |
| kzFloat | angleInRadians, | ||
| KzcQuaternion * | out_quaternion | ||
| ) |
Creates quaternion from vector and and angle.
| KANZI_API void kzcQuaternionInitializeFromMatrix4x4 | ( | const KzcMatrix4x4 * | matrix, |
| KzcQuaternion * | out_quaternion | ||
| ) |
Creates quaternion from matrix.
| KANZI_API void kzcQuaternionConvertToMatrix4x4 | ( | const KzcQuaternion * | quaternion, |
| KzcMatrix4x4 * | out_matrix | ||
| ) |
Converts quaternion from 4x4 matrix.
| KANZI_API void kzcQuaternionMultiply | ( | const KzcQuaternion * | quaternion1, |
| const KzcQuaternion * | quaternion2, | ||
| KzcQuaternion * | out_quaternion | ||
| ) |
Multiplies 2 quaternions, resulting rotation.
| KANZI_API void kzcQuaternionMultiplyVector3 | ( | const KzcQuaternion * | quaternion, |
| const KzcVector3 * | vector3, | ||
| KzcVector3 * | out_vector3 | ||
| ) |
Multiplies quaternion with vector, i.e.
applies rotation to vector.
| KANZI_API void kzcQuaternionNormalize | ( | KzcQuaternion * | quaternion | ) |
Normalizes a quaternion.
| KANZI_API void kzcQuaternionInverse | ( | KzcQuaternion * | quaternion | ) |
Inverses a quaternion.
| KANZI_API void kzcQuaternionSlerp | ( | const KzcQuaternion * | quaternion1, |
| const KzcQuaternion * | quaternion2, | ||
| kzFloat | t, | ||
| KzcQuaternion * | out_quaternion | ||
| ) |
Spherical interpolation between two quaternions.
t is the interpolation parameter from range [0, 1].
| KANZI_API void kzcQuaternionSlerpLongerPath | ( | const KzcQuaternion * | quaternion1, |
| const KzcQuaternion * | quaternion2, | ||
| kzFloat | t, | ||
| KzcQuaternion * | out_quaternion | ||
| ) |
Spherical interpolation between two quaternions.
Goes through the longer path (more than 180 degree turn). t is the interpolation parameter from range [0, 1].