Назад | Оглавление | Домой | Далее

3.1.2.       Двумерное вращение вокруг произвольной оси

 

Выше было рассмотрено вращение изображения около начала координат. Однородные координаты обеспечивают поворот изоб­ражения вокруг точек, отличных от начала координат. В общем случае вращение около произвольной точки может быть выпол­нено путем переноса центра вращения в начало координат, поворотом относительно начала координат, а затем переносом точки вращения в исходное положение. Таким образом, поворот вектора положения [х у 1 ] около точки (т, п) на произволь­ный угол может быть выполнен с помощью преобразования

 

.

 

Выполнив две операции умножения матриц, можно записать

 

 

 

Предположим, что центр изображения имеет координаты (4, 3) и желательно повернуть изображение на 90° против часовой стрелки вокруг центральной его оси. Действие, выполненное с помощью матрицы

 

,

 

вызывает вращение вокруг начала координат, а не вокруг оси. Как сказано выше, необходимо вначале осуществить перенос изображения таким образом, чтобы желаемый центр вращения находился в начале координат. Это осуществляется с помощью матрицы переноса

 

.

 

Затем следует применить матрицу вращения и, наконец, привести результаты к началу координат посредством обратной матрицы. Вся операция

 

   

 

может быть объединена в одну матричную операцию путем вы­полнения матричных преобразований вида

 

.

 

В результате будет получено х* =Х/Н и у* = Y/H. Двумерные вращения около каждой оси ортогональной системы представ­лены на рис. 3.5.

 

 

Рис. 3.5.  Вращение: a вокруг оси х; б вокруг оси y; в вокруг оси z

 

Назад | Оглавление | Домой | Далее