Опубликован: 20.10.2007 | Уровень: специалист | Доступ: платный
Лекция 3:

Геометрические преобразования

Вращения в плоскости перемещают точки по дуге окружности, центр которой находится в начале координат. Рассмотрим сначала движение одной точки при повороте на угол \alpha (положительным является направление против часовой стрелки), т. е. поворот радиус-вектора на угол (рис. 3.7). Пусть точка располагалась на расстоянии r от начала координат, а ее радиус-вектор составлял угол \beta с осью абсцисс. Тогда координаты точки определяются формулами

x=r\cos\beta, \quad y=r\sin\beta.

После поворота вектор будет составлять угол \beta+\alpha, а новые координаты точки будут определяться соотношениями

\begin{aligned}
& x'=r\cos(\beta+\alpha)=r\cos\beta\cos\alpha-r\sin\beta\sin\alpha=x\cos\alpha-y\sin\alpha \\
& y'=r\sin(\beta+\alpha)=r\sin\beta\cos\alpha+r\cos\beta\sin\alpha=x\sin\alpha+y\cos\alpha
\end{aligned}. ( 3.16)

Можно показать, что при таком преобразовании сохраняются расстояния между точками, а следовательно, и углы между отрезками.

Поворот на плоскости

Рис. 3.7. Поворот на плоскости
Поворот в пространстве

Рис. 3.8. Поворот в пространстве

В случае трехмерного пространства рассуждения, касающиеся переноса и масштабирования, полностью аналогичны, только они распространяются на третью координату точек. С вращением же дело обстоит иначе, поскольку здесь вращательное движение есть перемещение вдоль поверхности сферы и поворот на какой-то угол относительно точки нельзя определить однозначно. Но перемещение из одной точки сферы в другую всегда можно осуществить последовательностью поворотов относительно осей координат, поэтому выведем формулы для этих трех вращений.

При повороте относительно оси OX на угол \alpha у всех точек координата x остается неизменной. Если смотреть на плоскость YOZ со стороны конца оси OX, то оси будут расположены так, как показано на рис. 3.8. Положительным считается поворот от оси OY к оси OZ. Если воспользоваться формулами для плоских поворотов, то координаты y' и z' новой точки определяются выражениями

\begin{aliganed}
& y'=y\cos\alpha-z\sin\alpha \\
& z'=y\sin\alpha+z\cos\alpha
\end{eligned}.

Формулы поворота относительно оси OZ полностью совпадают с теми, которые были выведены для плоского случая, а поворот относительно оси OY выглядит так:

\begin{aliganed}
& x'=x\cos\alpha+z\sin\alpha \\
& z'=-x\sin\alpha+z\cos\alpha
\end{eligned}.

Во всех этих формулах следует обратить внимание на знаки, так как они зависят от того, какой поворот считается положительным (в данном случае мы имеем дело с правой тройкой базисных векторов).

Преобразования масштабирования и поворота на плоскости и в пространстве можно выразить с помощью матриц. Если заданы коэффициенты масштабирования S_x,S_y,S_z, то преобразование точки осуществляется посредством умножения матрицы на ее радиус-вектор,

\overrightarrow{r}'=S\cdot\overrightarrow{r}=
\begin{pmatrix}
S_x & 0 & 0 \\
0 & S_y & 0 \\
0 & 0 & s_z
\end{pmatrix}
\begin{pmatrix}
x \\ y \\ z
\end{pmatrix}
=
\begin{pmatrix}
S_x x \\ S_y y \\ S_z z
\end{pmatrix}. ( 3.8)
Двумерный случай выглядит подобным же образом.

Поворот на плоскости можно осуществить с помощью матрицы

R=
\begin{pmatrix}
\cos\alpha & -\sin\alpha \\
\sin\alpha & \cos\alpha
\end{pmatrix}. ( 3.17)

И наконец, повороты в пространстве относительно осей координат можно выполнить с помощью трех матриц вращения

\begin{gathered}
R_x(\alpha)=
\begin{pmatrix}
1 & 0 & 0 \\
0 & \cos\alpha & -\sin\alpha \\
0 & \sin\alpha & \cos\alpha
\end{pmatrix}, \quad
R_y(\alpha)=
\begin{pmatrix}
\cos\alpha & 0 & \sin\alpha \\
0 & 1 & 0 \\
-\sin\alpha & 0 & \cos\alpha
\end{pmatrix}, \\
R_z(\alpha)=
\begin{pmatrix}
\cos\alpha & -\sin\alpha & 0 \\
\sin\alpha & \cos\alpha & 0 \\
0 & 0 & 1
\end{pmatrix}
\end{gathered} ( 3.10)

Нетрудно проверить, что для матриц вращения справедливо соотношение

R(-\alpha)=R^{(-1)}(\alpha)

Для выполнения последовательных поворотов вокруг осей на углы \alpha,\beta,\gamma можно создать матрицу преобразования путем перемножения трех матриц:

R=R_z(\gamma)\cdot R_y(\beta)\cdot R_x(\alpha).

Использование этой матрицы даст заметную экономию в вычислениях по сравнению с последовательными умножениями на каждую из трех матриц вращения.

Сабина Бахриддинова
Сабина Бахриддинова
Дмитрий Трефилов
Дмитрий Трефилов

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Олег Волков
Олег Волков
Россия, Балаково, МБОУ СОШ 19