Komponenty | |
| struct | common::QUATERNION |
| Kwaternion. Więcej... | |
Funkcje | |
| QUATERNION | common::operator* (const QUATERNION pt, float v) |
| QUATERNION | common::operator/ (const QUATERNION pt, float v) |
| QUATERNION | common::operator* (float v, const QUATERNION pt) |
| QUATERNION | common::operator/ (float v, const QUATERNION pt) |
| void | common::swap (QUATERNION &v1, QUATERNION &v2) |
| float | common::CalcQuaternionAngle (const QUATERNION &Q) |
| Zwraca kąt obrotu jaki reprezentuje ten kwaternion. | |
| void | common::CalcQuaternionAxis (VEC3 *Out, const QUATERNION &Q) |
| Zwraca oś obrotu jaką reprezentuje ten kwaternion. | |
| bool | common::QuaternionEqual (const QUATERNION &q1, const QUATERNION &q2) |
| Zwraca true, jeśli podane kwaterniony są sobie mniej więcej równe. | |
| void | common::Minus (QUATERNION *q) |
| Ujemny kwaternion. | |
| void | common::Minus (QUATERNION *Out, const QUATERNION &q) |
| void | common::Add (QUATERNION *Out, const QUATERNION &q1, const QUATERNION &q2) |
| Dodawanie, odejmowanie, mnożenie kwaternionów. | |
| void | common::Sub (QUATERNION *Out, const QUATERNION &q1, const QUATERNION &q2) |
| void | common::Mul (QUATERNION *Out, const QUATERNION &q1, const QUATERNION &q2) |
| void | common::Mul (QUATERNION *q, float v) |
| Mnożenie i dzielenie kwaterniona przez skalar. | |
| void | common::Div (QUATERNION *q, float v) |
| void | common::Mul (QUATERNION *Out, const QUATERNION &q, float v) |
| void | common::Div (QUATERNION *Out, const QUATERNION &q, float v) |
| void | common::RotationMatrixToQuaternion (QUATERNION *Out, const MATRIX &RotationMatrix) |
| Tworzy kwaternion na podstawie macierzy obrotu. | |
| void | common::QuaternionToRotationMatrix (MATRIX *Out, const QUATERNION &q) |
| Przekształca kwaternion w macierz obrotu. | |
| void | common::QuaternionTransform (VEC3 *Out, const VEC3 &p, const QUATERNION &q) |
| Przekształca punkt/wektor przez kwaternion obracając go o ten kwaternion. | |
| void | common::EulerAnglesToQuaternionO2I (QUATERNION *Out, float Yaw, float Pitch, float Roll) |
| Konwersja kątów Eulera na kwaternion (który obraca ze wsp. obiektu do świata, czyli object -> interial space) [a może odwrotnie?]. | |
| void | common::EulerAnglesToQuaternionI2O (QUATERNION *Out, float Yaw, float Pitch, float Roll) |
| Konwersja kątów Eulera na kwaternion (który obraca ze wsp. świata do obiektu, czyli interial -> object space) [a może odwrotnie?]. | |
| void | common::QuaternionO2IToEulerAngles (float *Yaw, float *Pitch, float *Roll, const QUATERNION &q) |
| Konwersja kwaterniona który obraca ze wsp. obiektu do świata, czyli object -> interial space, na kąty Eulera. | |
| void | common::QuaternionI2OToEulerAngles (float *Yaw, float *Pitch, float *Roll, const QUATERNION &q) |
| Konwersja kwaterniona który obraca ze wsp. świata do obiektu, czyli interial -> object space, na kąty Eulera. | |
| void | common::QuaternionRotationX (QUATERNION *Out, float a) |
| Tworzy kwaternion obracający wokół osi X. | |
| void | common::QuaternionRotationY (QUATERNION *Out, float a) |
| Tworzy kwaternion obracający wokół osi Y. | |
| void | common::QuaternionRotationZ (QUATERNION *Out, float a) |
| Tworzy kwaternion obracający wokół osi Z. | |
| void | common::AxisToQuaternion (QUATERNION *Out, const VEC3 &Axis, float Angle) |
| Tworzy kwaternion na podstawie osi obrotu i kąta. | |
| void | common::QuaternionDiff (QUATERNION *Out, const QUATERNION &a, const QUATERNION &b) |
| Oblica "różnicę" dwóch kwaternionów reprezentującą taki obrót że a*Out = b. | |
| void | common::Conjugate (QUATERNION *q) |
| Kwaternion sprzężony do danego. | |
| void | common::Conjugate (QUATERNION *Out, const QUATERNION &q) |
| void | common::Inverse (QUATERNION *Out, const QUATERNION &q) |
| Odwrotność kwaterniona. | |
| void | common::Normalize (QUATERNION *Out, const QUATERNION &q) |
| Normalizacja kwaternion. | |
| void | common::Normalize (QUATERNION *InOut) |
| float | common::Dot (const QUATERNION &q1, const QUATERNION &q2) |
| Iloczyn skalarny dwóch kwaternionów. | |
| float | common::LengthSq (const QUATERNION &q) |
| Kwadrat długości kwaterniona. | |
| float | common::Length (const QUATERNION &q) |
| Długość kwaterniona. | |
| void | common::Log (QUATERNION *Out, const QUATERNION &q) |
| void | common::Exp (QUATERNION *Out, const QUATERNION &q) |
| void | common::Pow (QUATERNION *InOut, float t) |
| Podnieś kwaternion do potęgi. | |
| void | common::Pow (QUATERNION *Out, const QUATERNION &q, float t) |
| void | common::Lerp (QUATERNION *Out, const QUATERNION &q1, const QUATERNION &q2, float t) |
| Interpolacja normalna kwaternionów. | |
| void | common::Slerp (QUATERNION *Out, const QUATERNION &q0, const QUATERNION &q1, float t) |
| Interpolacja sferyczna kwaternionów. | |
| void | common::Squad (QUATERNION *Out, const QUATERNION &Q1, const QUATERNION &A, const QUATERNION &B, const QUATERNION &C, float t) |
| void | common::SquadSetup (QUATERNION *OutA, QUATERNION *OutB, QUATERNION *OutC, const QUATERNION &Q0, const QUATERNION &Q1, const QUATERNION &Q2, const QUATERNION &Q3) |
Zmienne | |
| const QUATERNION | common::QUATERNION_ZERO |
| const QUATERNION | common::QUATERNION_IDENTITY |
| void common::Add | ( | QUATERNION * | Out, | |
| const QUATERNION & | q1, | |||
| const QUATERNION & | q2 | |||
| ) |
Dodawanie, odejmowanie, mnożenie kwaternionów.
| void common::AxisToQuaternion | ( | QUATERNION * | Out, | |
| const VEC3 & | Axis, | |||
| float | Angle | |||
| ) |
Tworzy kwaternion na podstawie osi obrotu i kąta.
| float common::CalcQuaternionAngle | ( | const QUATERNION & | Q | ) | [inline] |
Zwraca kąt obrotu jaki reprezentuje ten kwaternion.
| void common::CalcQuaternionAxis | ( | VEC3 * | Out, | |
| const QUATERNION & | Q | |||
| ) |
Zwraca oś obrotu jaką reprezentuje ten kwaternion.
| void common::Conjugate | ( | QUATERNION * | Out, | |
| const QUATERNION & | q | |||
| ) | [inline] |
| void common::Conjugate | ( | QUATERNION * | q | ) |
Kwaternion sprzężony do danego.
| void common::Div | ( | QUATERNION * | Out, | |
| const QUATERNION & | q, | |||
| float | v | |||
| ) | [inline] |
| void common::Div | ( | QUATERNION * | q, | |
| float | v | |||
| ) |
| float common::Dot | ( | const QUATERNION & | q1, | |
| const QUATERNION & | q2 | |||
| ) |
Iloczyn skalarny dwóch kwaternionów.
| void common::EulerAnglesToQuaternionI2O | ( | QUATERNION * | Out, | |
| float | Yaw, | |||
| float | Pitch, | |||
| float | Roll | |||
| ) |
Konwersja kątów Eulera na kwaternion (który obraca ze wsp. świata do obiektu, czyli interial -> object space) [a może odwrotnie?].
| void common::EulerAnglesToQuaternionO2I | ( | QUATERNION * | Out, | |
| float | Yaw, | |||
| float | Pitch, | |||
| float | Roll | |||
| ) |
Konwersja kątów Eulera na kwaternion (który obraca ze wsp. obiektu do świata, czyli object -> interial space) [a może odwrotnie?].
| void common::Exp | ( | QUATERNION * | Out, | |
| const QUATERNION & | q | |||
| ) |
| void common::Inverse | ( | QUATERNION * | Out, | |
| const QUATERNION & | q | |||
| ) |
Odwrotność kwaterniona.
| float common::Length | ( | const QUATERNION & | q | ) |
Długość kwaterniona.
| float common::LengthSq | ( | const QUATERNION & | q | ) |
Kwadrat długości kwaterniona.
| void common::Lerp | ( | QUATERNION * | Out, | |
| const QUATERNION & | q1, | |||
| const QUATERNION & | q2, | |||
| float | t | |||
| ) |
Interpolacja normalna kwaternionów.
| void common::Log | ( | QUATERNION * | Out, | |
| const QUATERNION & | q | |||
| ) |
| void common::Minus | ( | QUATERNION * | Out, | |
| const QUATERNION & | q | |||
| ) | [inline] |
| void common::Minus | ( | QUATERNION * | q | ) |
Ujemny kwaternion.
| void common::Mul | ( | QUATERNION * | Out, | |
| const QUATERNION & | q, | |||
| float | v | |||
| ) | [inline] |
| void common::Mul | ( | QUATERNION * | q, | |
| float | v | |||
| ) |
Mnożenie i dzielenie kwaterniona przez skalar.
| void common::Mul | ( | QUATERNION * | Out, | |
| const QUATERNION & | q1, | |||
| const QUATERNION & | q2 | |||
| ) |
| void common::Normalize | ( | QUATERNION * | InOut | ) |
| void common::Normalize | ( | QUATERNION * | Out, | |
| const QUATERNION & | q | |||
| ) |
Normalizacja kwaternion.
| QUATERNION common::operator* | ( | float | v, | |
| const QUATERNION | pt | |||
| ) | [inline] |
| QUATERNION common::operator* | ( | const QUATERNION | pt, | |
| float | v | |||
| ) | [inline] |
| QUATERNION common::operator/ | ( | float | v, | |
| const QUATERNION | pt | |||
| ) | [inline] |
| QUATERNION common::operator/ | ( | const QUATERNION | pt, | |
| float | v | |||
| ) | [inline] |
| void common::Pow | ( | QUATERNION * | Out, | |
| const QUATERNION & | q, | |||
| float | t | |||
| ) | [inline] |
| void common::Pow | ( | QUATERNION * | InOut, | |
| float | t | |||
| ) |
Podnieś kwaternion do potęgi.
Wykładnik 0..1 daje interpolacje kwaterniona od identycznościowego do q.
| void common::QuaternionDiff | ( | QUATERNION * | Out, | |
| const QUATERNION & | a, | |||
| const QUATERNION & | b | |||
| ) |
Oblica "różnicę" dwóch kwaternionów reprezentującą taki obrót że a*Out = b.
To jest obliczane tak: Out = a^-1 * b, więc jeśli masz już a^-1 to nie używaj.
| bool common::QuaternionEqual | ( | const QUATERNION & | q1, | |
| const QUATERNION & | q2 | |||
| ) | [inline] |
Zwraca true, jeśli podane kwaterniony są sobie mniej więcej równe.
| void common::QuaternionI2OToEulerAngles | ( | float * | Yaw, | |
| float * | Pitch, | |||
| float * | Roll, | |||
| const QUATERNION & | q | |||
| ) |
Konwersja kwaterniona który obraca ze wsp. świata do obiektu, czyli interial -> object space, na kąty Eulera.
| void common::QuaternionO2IToEulerAngles | ( | float * | Yaw, | |
| float * | Pitch, | |||
| float * | Roll, | |||
| const QUATERNION & | q | |||
| ) |
Konwersja kwaterniona który obraca ze wsp. obiektu do świata, czyli object -> interial space, na kąty Eulera.
| void common::QuaternionRotationX | ( | QUATERNION * | Out, | |
| float | a | |||
| ) |
Tworzy kwaternion obracający wokół osi X.
| void common::QuaternionRotationY | ( | QUATERNION * | Out, | |
| float | a | |||
| ) |
Tworzy kwaternion obracający wokół osi Y.
| void common::QuaternionRotationZ | ( | QUATERNION * | Out, | |
| float | a | |||
| ) |
Tworzy kwaternion obracający wokół osi Z.
| void common::QuaternionToRotationMatrix | ( | MATRIX * | Out, | |
| const QUATERNION & | q | |||
| ) |
Przekształca kwaternion w macierz obrotu.
| void common::QuaternionTransform | ( | VEC3 * | Out, | |
| const VEC3 & | p, | |||
| const QUATERNION & | q | |||
| ) |
Przekształca punkt/wektor przez kwaternion obracając go o ten kwaternion.
| void common::RotationMatrixToQuaternion | ( | QUATERNION * | Out, | |
| const MATRIX & | RotationMatrix | |||
| ) |
Tworzy kwaternion na podstawie macierzy obrotu.
| void common::Slerp | ( | QUATERNION * | Out, | |
| const QUATERNION & | q0, | |||
| const QUATERNION & | q1, | |||
| float | t | |||
| ) |
Interpolacja sferyczna kwaternionów.
Sprawdzona, daje wyniki dokładnie tekie same jak D3DXQuaternionSlerp.
| void common::Squad | ( | QUATERNION * | Out, | |
| const QUATERNION & | Q1, | |||
| const QUATERNION & | A, | |||
| const QUATERNION & | B, | |||
| const QUATERNION & | C, | |||
| float | t | |||
| ) |
NIE TESTOWANA
| void common::SquadSetup | ( | QUATERNION * | OutA, | |
| QUATERNION * | OutB, | |||
| QUATERNION * | OutC, | |||
| const QUATERNION & | Q0, | |||
| const QUATERNION & | Q1, | |||
| const QUATERNION & | Q2, | |||
| const QUATERNION & | Q3 | |||
| ) |
NIE TESTOWANA
| void common::Sub | ( | QUATERNION * | Out, | |
| const QUATERNION & | q1, | |||
| const QUATERNION & | q2 | |||
| ) |
| void common::swap | ( | QUATERNION & | v1, | |
| QUATERNION & | v2 | |||
| ) | [inline] |
| const QUATERNION common::QUATERNION_IDENTITY |
| const QUATERNION common::QUATERNION_ZERO |
1.5.5