C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122
Файл mb_matrix3d.h

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

Классы

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

Функции

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. Матрица преобразования, содержащая подматрицу вращения. Подробнее...
 

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

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

Функции

◆ CheckOrigin3D()

template<class Transform >
void CheckOrigin3D ( const Transform &  trans,
uint8 &  flag,
bool  resetFlag 
)
Внимание
Только для внутреннего использования.

◆ CheckRotation3D()

template<class Transform >
void CheckRotation3D ( const Transform &  trans,
uint8 &  flag,
bool  resetFlag 
)
Внимание
Только для внутреннего использования.

◆ CheckAffine3D()

template<class Transform >
void CheckAffine3D ( const Transform &  trans,
uint8 &  flag 
)
Внимание
Только для внутреннего использования.

◆ ExtractEulerAngles()

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).