Вращение в одной системе координат
Необходимые предварительные знания
правитьМатрицы поворотов в трёхмерном пространстве
править- Матрицами вращения вокруг оси декартовой правой системы координат на угол α в трёхмерном пространстве являются:
- Вращение вокруг оси x:
- ,
- Вращение вокруг оси y:
- ,
- Вращение вокруг оси z:
- ,
Программный код вращения на угол α в трёхмерном пространстве
public static xyzMatrix X_rot_rad(float alpha) // radians
{
float cosA = (float)Math.Cos(alpha);
float sinA = (float)Math.Sin(alpha);
return new xyzMatrix(
1.0f, 0.0f, 0.0f,
0.0f, cosA, -sinA,
0.0f, sinA, cosA);
}
public static xyzMatrix Y_rot_rad(float alpha) // radians
{
float cosA = (float)Math.Cos(alpha);
float sinA = (float)Math.Sin(alpha);
return new xyzMatrix(
cosA, 0.0f, sinA,
0.0f, 1.0f, 0.0f,
-sinA, 0.0f, cosA);
}
public static xyzMatrix Z_rot_rad(float alpha) // radians
{
float cosA = (float)Math.Cos(alpha);
float sinA = (float)Math.Sin(alpha);
return new xyzMatrix(
cosA, -sinA, 0.0f,
sinA, cosA, 0.0f,
0.0f, 0.0f, 1.0f);
}
Матрица переходов
править- Матрица перехода — это композиция поворотов
Формула поворота Родригеса
правитьФормула поворота Родригеса — это матрица поворота, которая позволяет осуществить поворот на произвольный угол вокруг произвольной оси.