2-16 ПОВОРОТ ВОКРУГ ПРОИЗВОЛЬНОЙ ТОЧКИ
Ранее мы рассматривали вращение, совершаемое вокруг начала координат. Однородные координаты предусматривают механизм выполнения поворотов вокруг точек, отличных от начала координат. В общем случае поворот вокруг произвольной точки может быть реализован посредством ее перемещения в начало координат, выполнения требуемого поворота и последующего перемещения результата обратно в исходный центр вращения. Таким образом, поворот вектора вокруг точки на произвольный угол можно осуществить следующим образом:
. (2-51)
Выполняя действия над двумя внутренними матрицами, можно записать
. (2-52)
Рассмотрим пример, иллюстрирующий данный результат.
Пример 2-6 Поворот относительно произвольной точки
Предположим, что центр объекта лежит в точке . Требуется повернуть объект на прямой угол против часовой стрелки вокруг центра. Используя матрицу
,
проведем поворот вокруг начала координат, не совпадающего с центром объекта. Обязательной процедурой преобразования является прежде всего такое перемещение объекта, чтобы желаемый центр вращения оказался в начале координат. Это достигается с помощью следующей матрицы перемещения:
.
Далее применяем матрицу поворота и наконец с помощью матрицы перемещения приведем результаты поворота обратно к первоначальному центру. Вся операция
может быть реализована одной матрицей путем простого перемножения отдельных матриц, т.е.
.
|