
- •Комп’ютерна графіка, обробка зображень, розпізнавання образів – дисципліни, що пов’язані з аналізом візуальної інформації.
- •Композиція перетворень. Однорідні координати.
- •Тривимірні геометричні перетворення в кг
- •Алгоритми малювання відрізків. Метод Брезенхема. Оптимальність.
- •Алгоритми заповнення ділянок. Растрові алгоритми.
- •Алгоритми заповнення ділянок. «Затравочні» алгоритми.
- •Системи координат в кг.
- •Рекурсивні алгоритми в кг. Фрактали.
- •Моделі тривимірних графічних об’єктів.
- •Графічні формати.
- •Графічні бібліотеки. Сфери застосування.
- •Системи мультимедіа. Графіка в інтернеті.
Композиція перетворень. Однорідні координати.
Композиция преобразований. Пусть в результате некоторого преобразования f фигура М переводится в фигуру N, а затем фигура N еще одним преобразованием g переводится в фигуру P
В итоге фигура М переводится в фигуру Р преобразованием, которое осуществляется последовательным выполнением преобразований f и g : каждой точке Х фигуры M сопоставляется точка g(f(X)) фигуры P. Это преобразование фигуры М в фигуру Р , состоящее в последовательном выполнении преобразований f и g, называется композицией преобразований f и g и обозначается так: g • f.
Однородные координаты — координаты, обладающие тем свойством, что определяемый ими объект не меняется при умножении всех координат на одно и то же число.
Однородными координатами вектора (х, у) является тройка чисел (x', y', h), где х = х' / h, у = y'/h, а h — некоторое вещественное число (случай, когда h = 0 является особым).
Прим. Данные координаты не позволяют однозначно задать точку плоскости. Например, (1, 1, 1) и (2, 2, 2) задают одну и ту же точку (1, 1). Предлагается взять набор (x, y, 1), который будет описывать все точки плоскости.
Тривимірні геометричні перетворення в кг
Матричное представление трехмерных операций
3-х мерный перенос
Трехмертные операции являются простым расширением двумерных.T(Dx,Dy,Dz) = |
| 1 0 0 0 | | 0 1 0 0 | | 0 0 1 0 | | Dx Dy Dz 1 |
|
Масштабирование S(Sx,Sy,Sz) = |
| Sx 0 0 0 | | 0 Sy 0 0 | | 0 0 Sz 0 | | 0 0 0 1 |
|
Система коорлинат
Далее при рассмотрении трехмерных преобразований, в основном, используется общепринятая в векторной алгебре правая система координат.
В трехмерной машинной графике более удобной является левая система координат. Тогда если, например, поверхность экрана совмещена с плоскостью XY, то большим удалениям от наблюдателя соответствую точки с большим значением Z.
Правосторонняя система координат
|
Левосторонняя система координат
|
|
|
В правой системе координат, если смотреть со стороны положительного направления оси вокруг которой происходит поворот, то поворот против часовой стрелки переводит одну положительную ось в другую. Поэтому поворот против часовой стрелки в таких системах считается положительным. В левосторонней системе координат положительными будут повороты по часовой стрелке, если смотреть с положительного конца полуоси.
Ось вращения |
Положительное направление |
Х |
от Y к Z |
Y |
от Z к X |
Z |
от Х к У |
В трехмерном пространстве возможен поворот вокруг каждой оси.
Поворот вокруг оси Z:Rz(θ ) = |
| cosθ sinθ 0 0 | | -sinθ cosθ 0 0 | | 0 0 1 0 | | 0 0 0 1 |
|
Поворот вокруг оси X:Rx(θ ) = |
| 1 0 0 0 | | 0 cosθ sinθ 0 | | 0 -sinθ cosθ 0 | | 0 0 0 1 |
|
Поворот вокруг оси Y:Ry(θ ) = |
| cosθ 0 -sinθ 0 | | 0 1 0 0 | | sinθ 0 cosθ 0 | | 0 0 0 1 |
|
Обратные преобразования
Для каждого преобразования имеется преобразование, которе восстановит исходные позиции точек. Если какое-либо преобразование соответствует матрице A, то обратное преобразование соответствует матрице обратной матрице A-1.
Для переноса - обратная матрица такая же, как матрица T переноса с обратными знаками переноса -Dx, -Dy, -Dz.
Для масштабирования - обратная S с элементами 1/Sx, 1/Sy, 1/Sz.
Для поворота - для каждой из трех матриц поворота такая же с отрицательным углом. (Проверить самостоятельно).