Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математический аппарат алгоритмов компьютерной....doc
Скачиваний:
8
Добавлен:
06.11.2018
Размер:
1.68 Mб
Скачать

5.3. Однородные координаты

Уравнение аХ + bУ + с = 0 описывает прямую в пространстве R2. Заменим X на x/w, Y на y/w, получим уравнение a(x/w) + b(y/w) + с=0. Запишем его в такой форме:

ax + by + cw = 0. (5.14)

Уравнения типа (5.14) называют однородными, т. к. они имеют одинаковую структуру в терминах ах, by, cw — отсюда x, у, w называются однородными координатами точки (X, У).

Если w = 1 (двумерное пространство располагается в плоскости w = 1 в системе x, у, w), то уравнение (5.14) описывает «плоскость, проходящую через начало координат и заданную прямую линию.

Если считать, что (x, у, w) — это иная форма записи (x/w, y/w), то тогда w не должно быть равно нулю. Однако некоторые полезные свойства однородных координат проявляются именно при отсутствии такого требования.

Рассмотрим систему:

(5.15)

Система (5.15) задает две параллельные линии и не имеет решения.

При замене координат на однородные, система (5.15) преобразуется к виду:

(5.16)

Система (5.16) имеет, по крайней мере, одно решение (x = 0, у = 0, w = О)

Система:

эквивалентна системе (5.16), следовательно, верно соотношение:

(5.17)

Таким образом, решение системы (5.16) состоит из всех точек (Зk, -2k,0) где k — любое число. В пространстве x, у, w эти точки образуют прямую, проходящую через точки О (0, 0, 0) и (3, -2, 0). Данная линия бесконечно удалена, ее точки можно рассматривать как предельные точки k, -2k, w), при w→0.

5.4. Использование однородных координат

В обычных двумерных координатах линейное преобразование на плоскости может быть записано следующим образом:

где А — матрица преобразования:

Точки [1 0] и [0 1] с помощью матрицы А отображаются в точки [a1 a2] и [b1 b2]. Однако, независимо от вида матрицы А, точка [0 0] отобразится в точку [0 0], поэтому таким способом нельзя выполнить операцию переноса точки в новую позицию. В однородных координатах точка в двумерном пространстве задается тройкой (x, у, w), и преобразование записывается в виде [x’ у’ z] = [x у z]A, где

В этом случае имеют место следующие преобразования:

[1 0 0]A= [a1 а2 а3],

[0 1 0]A= [b1 b2 b3],

[0 0 1]A= [c1 c2 c3],

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

5.5. Преобразования на плоскости

Рассмотрим систему уравнений:

(5.18)

Система (5.18) может означать:

  • перемещение всех точек в плоскости х-у вправо на расстояние а (рис. 5.5);

  • смещение координатных осей влево на расстояние а (рис. 5.6).

Рис. 5.5. Перенос точки

Рис. 5.6. Перенос системы координат

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

Общий случай операции переноса:

(5.19)

Рассмотрим далее операцию поворота точки P(x, у) вокруг начала координат O на угол φ в точку P'(x',у') (рис. 5.7). Новые координаты точки рассчитываются с помощью системы уравнений:

(5.20)

Рис. 5.7. Поворот точки P(x, у) вокруг начала координат O на угол φ в точку P(x, у)

Рис. 5.8. Поворот точки P(x, у) вокруг начала координат O на угол φ в точку P(x, у), если P = (1, 0)

Рис. 5.9. Поворот точки P(x, у) вокруг начала координат O на угол φ в точку P(x, у), если P = (0, 1)

Рассмотрим рис. 5.8. В случае если P = (1, 0), то x' = а, y' = с. Из рис. 5.8 найдем: а = cosφ, с = sinφ.

Аналогично, если P = (0, 1): b = -sinφ, d = cosφ (рис. 5.9).

Таким образом, поворот вокруг начала координат O можно выразить в виде:

(5.21)

Часто требуется выполнить поворот вокруг какой-то произвольной точки (x0, y0). Схема выполнения такого преобразования следующая:

  1. Точка начала координат O переносится в точку с координатами (x0, y0). Для выполнения этой операции достаточно отнять от координат точки P(x, у) координаты точки (x0, y0).

  2. Выполняется поворот вокруг новой точки начала координат согласно формулам:

(5.22)

  1. Возвращение системы координат в первоначальный вид. Прибавляем к координатам точки P’(x’, у’) значения координат точки (x0, y0):

(5.23)

Таким образом, поворот на угол φ вокруг произвольной точки (x0, y0) мож­но записать следующим образом:

(5.24)