C3D Kernel  104598
Классы | Макросы | Определения типов | Функции
Файл mb_matrix3d.h

Расширенная матрица преобразования в трёхмерном пространстве. Подробнее...

Классы

class  MbMatrix3D
 Расширенная матрица преобразования в трёхмерном пространстве. Подробнее...

Макросы

#define MATRIX_DIM_3D   4
#define AXIS_0X   0
#define AXIS_0Y   1
#define AXIS_0Z   2

Определения типов

typedef double GLdouble

Функции

template<class Transform >
void CheckOrigin3D (const Transform &trans, uint8 &flag, bool resetFlag)
template<class Transform >
void CheckRotation3D (const Transform &trans, uint8 &flag, bool resetFlag)
template<class Transform >
void CheckAffine3D (const Transform &trans, uint8 &flag)
void ExtractEulerAngles (const MbMatrix3D &trans, double &alpha, double &betta, double &gamma)
 Извлечь углы Эйлера из ротационной подматрицы R = Rx*Ry*Rz. Матрица преобразования, содержащая подматрицу вращения.

Подробное описание


Функции

template<class Transform >
void CheckOrigin3D ( const Transform &  trans,
uint8 &  flag,
bool  resetFlag 
)
Внимание:
Только для внутреннего использования.
template<class Transform >
void CheckRotation3D ( const Transform &  trans,
uint8 &  flag,
bool  resetFlag 
)
Внимание:
Только для внутреннего использования.
template<class Transform >
void CheckAffine3D ( const Transform &  trans,
uint8 &  flag 
)
Внимание:
Только для внутреннего использования.
void ExtractEulerAngles ( const MbMatrix3D trans,
double &  alpha,
double &  betta,
double &  gamma 
)
Аргументы:
[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).

 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы