Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по компьютерной графике.doc
Скачиваний:
739
Добавлен:
17.03.2015
Размер:
17.09 Mб
Скачать

2.1.2 Аффинные преобразования на плоскости

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

Зададим некоторую двумерную систему координат (x,у). Аффинное преобразование на плоскости описывается формулами

где А, В,..., F— константы. Значение(X, Y) можно рассматривать как координаты в новой системе координат.

Обратное преобразование (X, Y) в (х, у) также является аффинным:

Аффинное преобразование удобно записывать в матричном виде. Константы А, В..... F образуют матрицу преобразования, которая, будучи умноженной на матрицу-столбец координат (x,у), дает матрицу-столбец (X, Y). Однако, чтобы учесть константы С иF, необходимо перейти к так называемымоднородным координатам — прибавим еще одну строку в матрицах координат:

Теперь рассмотрим частные случаи аффинного преобразования.

  1. Параллельный сдвиг координат (рис. 2. 9).

Рис. 2.9. Параллельный сдвиг координат

В матричной форме

Обратное преобразование:

  1. Растяжение-сжатие осей координат (рис. 2. 10).

Рис. 2.10. Растяжение-сжатие осей координат

Обратное преобразование:

Коэффициенты kxиkyмогут быть отрицательными. Например,kx = -1 соответствует зеркальному отражению относительно осиy.

  1. Поворот (рис. 2. 11).

Рис.2.11. Поворот

Обратное преобразование соответствует повороту системы (X, Y) на угол (-α).

Свойства аффинного преобразования.

• Любое аффинное преобразование может быть представлено как последовательность операций из числа указанных простейших: сдвиг, растяжение/сжатие и поворот.

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

Трехмерное аффинное преобразование

Запишем в виде формулы:

гдеА, В,..., Ν— константы.

Дадим также запись в матричной форме:

Для трехмерного пространства любое аффинное преобразование также может быть представлено последовательностью простейших операций. Рассмотрим их.

1. Сдвиг осей координат соответственно на dx, dy, dz:

2. Растяжение/сжатие накx, кy, кz.

3. Повороты. Можно сказать, что в трехмерном пространстве существует больше разновидностей поворота, сравнительно с двумерным пространством. Рассмотрим несколько частных случаев поворота.

Поворот вокруг оси x на уголφ (рис. 2. 12).

Рис. 2.12. Поворот вокруг оси X

Поворот вокруг осиу на уголψ (рис. 2. 13, сверху).

Поворот вокруг осиzна уголγ (рис. 2. 13, снизу).

Рис. 2.13. Поворот вокруг осей y и z

2.2 Проекции

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

Проецирование - отображение точек, заданных в системе координат с размерностью N, в точки в системе меньшей размерности.

Проекторы (проецирующие лучи) - отрезки прямых, идущие из центра проекции через каждую точку объекта до пересечения с плоскостью проекции (картинной плоскостью).

2.2.1 Мировые и экранные координаты

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

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

Для получения изображения в определенной проекции необходимо вычислить координаты проекции. Для синтеза изображения на плоскости экрана или бумаге используем двумерную систему координат. Основная задача — задать преобразования координат из мировых в экранные.