Конспект лекций по компьютерной графике. Конспект лекций по дисциплине Компьютерная графика
Скачать 16.3 Mb.
|
2.1.2 Аффинные преобразования на плоскостиЭто частный случай преобразований, который достаточно часто используется при создании графических пакетов. Зададим некоторую двумерную систему координат (x,у). Аффинное преобразование на плоскости описывается формулами где А, В,..., F— константы. Значение (X, Y) можно рассматривать как координаты в новой системе координат. Обратное преобразование (X, Y) в (х, у) также является аффинным: Аффинное преобразование удобно записывать в матричном виде. Константы А, В..... Fобразуют матрицу преобразования, которая, будучи умноженной на матрицу-столбец координат (x, у), дает матрицу-столбец (X, Y). Однако, чтобы учесть константы С и F, необходимо перейти к так называемым однородным координатам — прибавим еще одну строку в матрицах координат: Теперь рассмотрим частные случаи аффинного преобразования.
Рис. 2.9. Параллельный сдвиг координат В матричной форме Обратное преобразование:
Рис. 2.10. Растяжение-сжатие осей координат Обратное преобразование: Коэффициенты kx и ky могут быть отрицательными. Например, kx= -1 соответствует зеркальному отражению относительно оси y.
Рис.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 |