Расширенная матрица преобразования в трёхмерном пространстве.
void ExtractEulerAngles |
( |
const MbMatrix3D & |
trans, |
|
|
double & |
alpha, |
|
|
double & |
betta, |
|
|
double & |
gamma |
|
) |
| |
Извлечь углы Эйлера из ротационной подматрицы R = Rx*Ry*Rz. Матрица преобразования, содержащая подматрицу вращения.
- Аргументы
-
[out] | alpha | - Угол поворота вокруг оси "X", извлеченный из матрицы вращения. |
[out] | betta | - Угол поворота вокруг оси "Y", извлеченный из матрицы вращения. |
[out] | gamma | - Угол поворота вокруг оси "Z", извлеченный из матрицы вращения. |
Функция разлагает подматрицу вращения на элементарные повороты вокруг осей R = Rx*Ry*Rz, заданные в виде угловых значений, а именно значения в радианах, определяющую присланную матрицу вращения R в виде комбинации (произведения) из трех элементарных поворотов: R = Rx*Ry*Rz< >, где
Rx = Rx(alpha) - поворот вокруг оси "X",
Ry = Ry(betta) - поворот вокруг оси "Y",
Rz = Rz(gamma) - поворот вокруг оси "Z" и
R - ротационная подматрица 3x3 из матрицы trans< >. Матрица trans может содержать любые преобразования, вклячая масштабирование и сдвиг. Метод ExtractEulerAngles извлечет из данной матрицы вращающий компонент и разложит его на три вращения: Rx(alpha), Ry(betta), Rz(gamma).