Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_Компьютерная_Графика.rtf
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
974 Кб
Скачать
☆

Мировые координаты à Нормированные координаты à Координаты устройства

Преобразование координат – перенос описания изображения из одной системы координат в другую.

Видовые преобразования – преобразования из мировых координат в координаты устройства.

Отсечение – удаление элементов, лежащих вне границы окна или поля ввода.

Окно – выделенная часть виртуального пространства в мировых координатах.

П оле ввода – определенная прикладной программой область в нормированных координатах или координатах устройства.

horfact = X_max / x_max

verfact = Y_max / y_max

IX = (int)(x•horfact + 0,5)

IY = (int)Y_max – (int)(y•verfact + 0,5)

4.Аффинные преобразования на плоскости (2d). Основные виды (2d) аффинных преобразований. Композиция преобразований .

Геометрическое преобразование – взаимно однозначное, точечное отображение плоскости XOY в плоскость UOV.

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

На плоскости введена прямолинейная координатная система. Тогда каждой точке М ставится в соответствие упорядоченная пара чисел (х,y) ее координат (Рис.1). Вводя на плоскости еще одну прямолинейную систему координат, мы ставим в соответствие той же точке М другую пару чисел – (х*, y*).

Переход от одной прямолинейной координатной системы на плоскости к другой описывается соотношением:

х*= αх +βy +λ, y*=γx +δy +μ (1) , где α,β,λ,γ,δ,μ – произвольные числа, связанные с неравенством

Формулы (1) можно рассматривать двояко: либо сохраняется система координат и изменяется положение точки, либо изменяется система координат и сохраняется положение точки. Будем рассматривать формулы (1), как правила, согласно которым в заданной системе прямолинейных координат преобразуются точки плоскости.

Рассмотрим несколько частных случаев.

1. Поворот вокруг начальной точки на угол φ.

x* = x cosφ - y sinφ.

y* = x sinφ - y cosφ.

2. Растяжение (сжатие) вдоль координатных осей

x* = α x

y * = δ y

α – коэффициент масштабирования вдоль оси Х

δ – коэффициент масштабирования вдоль оси Y

α = δ – однородное масштабирование, α ≠ δ – неоднородное масштабирование.

Если коэффициент масштабирования больше 1 – то растяжение, если коэффициент от 0 до 1 - то сжатие.

3. Отражение

Отражение относительно оси x (x* = x, y* = -y).

Отражение относительно оси y (x* = -x, y* = y).

4. Перенос (перемещение)

x* = x + λ

y * = y + μ

Композиция 2D преобразований.

Композиция – последовательность отдельных видов преобразований. Композиция преобразований представляется произведением матриц. Композиция позволяет применить одно результирующее преобразование вместо нескольких исходных.

Например, поворот точки Р вокруг произвольной точки.

Композиция преобразований:

  1. перенос центра поворота в начало координат

  2. поворот вокруг начала координат

  3. перенос из начала координат в первоначальное положение.

M = T1 R T2

(x0, y0) – точка начала поворота.

T1→ [-x0, -y0]

R→φ

T2→ [x0, y0]

Эффективность реализации 2D преобразований.

О бщая матрица 2D преобразований имеет вид:

Для вычисления нового положения точки, как произведения [x y 1] M, требуется 9 операций умножения и 6 операций сложения. Если проводить вычисления на основе систем уравнений нужно 4 операции умножения и 4 операции сложения. Если преобразования выполнять для большого числа точек, то вопрос эффективности становится более актуальным. Для реализации поворота необходимо 4 операции умножения и 2 операции сложения. Повысить эффективность программ можно следующими способами:

  1. введение таблицы углов и значений геометрических функций.

  2. при повороте на малые углы cosφ ≈ 1

  3. применение аппроксимации вида x* = x –ysinφ, y* = xsinφ +y.

При наличии погрешности вычислений возможно искажение изображений.

Аффинные преобразования в пространстве(3D). Основные виды (3D) аффинных преобразований. Композиция преобразований .

В ведем однородные координаты. Заменим координатную тройку (x,y,z), задающую точку в пространстве, на четверку чисел (x,y,z,1) или на четверку (hx,hy,hz,h), h≠0. Предложенный переход к новому способу задания точек дает возможность воспользоваться матричной записью в трехмерных задачах. Все преобразования представляются матрицей 4х4. Система координат является правосторонней. Любое аффинное преобразование может быть представлено в виде композиции вращений, растяжений (сжатий), отражений и переносов. Положительными считаются повороты при которых (если смотреть с конца положительной полуоси в начало координат), поворот на 90° против часовой стрелки будет переводить одну положительную ось в другую. Если ось вращения х, то положительный поворот от y к x. Если вдоль оси y, то от z к х. Если ось вращения z, то от x к y.