Динамика 2D - изображения

Содержание

Слайд 2

В компьютерной графике векторная точка (или растровый пиксел) описывается парой координат

В компьютерной графике векторная точка (или растровый пиксел) описывается парой координат

Х, У(А). Линии описываются либо уравнениями (обычно кривые - Б), либо координатами вершин (отрезки и полилинии - В). Полигоны также описываются координатами вершин - Г.

А

Б

В

Г

Как происходит движение на плоскости?

Слайд 3

Существует 4 простейших преобразования, с помощью которых можно представить движение: параллельный

Существует 4 простейших преобразования, с помощью которых можно представить движение:
параллельный

перенос;
вращение;
растяжение – сжатие;
зеркальное отражение.

Параллельный перенос (сдвиг). Переводит точку М (х,у) в точку М΄(х΄,у΄)

х΄ = x + a
у΄ = y + b

y

При этом 0 (0,0) переходит в точку А (а,b), а отрезок 0М переносится параллельно в М΄А.
0М || М΄А и 0М = М΄А.
Поэтому и называется параллельный перенос.

Слайд 4

2. Вращение (поворот). М (х,у) М΄(х΄,у΄) x y 0 φ θ

2. Вращение (поворот).

М (х,у)

М΄(х΄,у΄)

x

y

0

φ

θ

r

r

х΄

x

y

у΄

Поворот относительно (0,0) против часовой стрелки.

x = r

cos φ х΄ = r cos (θ + φ)
y = r sin φ y΄ = r sin (θ + φ)
По формуле суммы углов:
х΄ = r (cos θ cos φ - sin θ sin φ)
y΄ = r (sin θ cos φ + cos θ sin φ)
Открываем скобки:
х΄ = r cos θ cos φ - r sin θ sin φ
y΄ = r sin θ cos φ + r cos θ sin φ
Подставляем x и y:
х΄ = x cos φ - y sin φ
y΄ = y cos φ + x sin φ
Слайд 5

3. Зеркальное отражение. а). Отражение относительно ОХ б). Отражение относительно ОУ

3. Зеркальное отражение.

а). Отражение относительно ОХ

б). Отражение относительно ОУ

у

х΄ = x
у΄

= - y

х΄ = - x
у΄ = y

Слайд 6

4. Растяжение – сжатие (масштабирование). При α, δ > 0 х΄

4. Растяжение – сжатие (масштабирование).

При α, δ > 0
х΄ = α

x
у΄ = δ y
α, δ > 1 - растяжение
α, δ < 1 - сжатие

Пример: α > 1, δ < 1

Слайд 7

С помощью 4 простейших преобразований происходит простое движение на плоскости –

С помощью 4 простейших преобразований происходит простое движение на плоскости –

когда мы заранее знаем каково оно должно быть. Пример – соответствующие инструменты программ КГ ( например в Corel Draw).
Чтобы движение выглядело плавно и естественно перемещение разбивают на шаги. При каждом шаге фигура рисуется заново в новом положении. Чем больше промежуточных шагов, тем более плавное движение.
Кроме того, для иллюзии плавности движения используется двухстраничный видеорежим. При этом существует как бы два экрана, один из которых в данный момент видим, а другой нет. Очередной кадр рисуется на невидимой странице и, когда кадр готов, страницы меняются местами. В результате сам процесс рисования на экране не виден, видна лишь череда готовых кадров – иллюзия движения (как в мультике).
Слайд 8

Полиномиальные преобразования Каково будет движение (перемещение) известно не всегда. Иногда есть

Полиномиальные преобразования

Каково будет движение (перемещение) известно не всегда. Иногда есть лишь

координаты нескольких точек до перемещения и после, а необходимо переместить весь объект, применяя при этом и параллельный перенос, и вращение, и растяжение-сжатие с разными коэффициентами по осям. Примером такого движения, особенно нас интересующим, является привязка (трансформация) растра, т.к. отсканированное изображение карты оказывается в координатном пространстве экрана и координаты эти – пикселы. Карта превращается в картинку. Чтобы она снова стала картой: в проекции, с масштабом и возможностью измерений по ней, растр необходимо трансформировать в координатное пространство проекции, задав закон перемещения для каждого пиксела растра.
Для таких сложных движений, когда известно лишь положение отдельных (так называемых реперных) точек до и после преобразования, используют полиномиальные преобразования.
Наиболее часто используемыми полиномиальными преобразованиями являются:
аффинное (полином 1-й степени);
проективное (также полином 1-й степени);
квадратичное (полином 2-й степени);
полиномы 3-й - 5-й степени;
локально-аффинное.
Слайд 9

Аффинное преобразование Это уравнение координат, включающее в себя все 4 простейших

Аффинное преобразование

Это уравнение координат, включающее в себя все 4 простейших преобразований

плоскости:

х΄ = αx + βу + a
у΄ = γх +δy + b

1. Если α = δ = 1, β = γ = 0, то
х΄ = x + a
у΄ = y + b
т.е. параллельный перенос

2. Если α = δ = cosφ, -β = γ = sin φ, а = b = 0, то
х΄ = x cos φ - y sin φ
y΄ = y cos φ + x sin φ
т.е. вращение

3. Если α = 1, δ = -1, β = γ = а = b = 0, то
х΄ = x
у΄ = -y
Т.е. отражение относительно ОХ

4. Если β = γ = а = b = 0, то
х΄ = αx
у΄ = δy
т.е. растяжение - сжатие

Минимально необходимое количество точек для выполнения 3, при этом они не лежат на одной прямой. Точек может быть и больше.

Слайд 10

Варианты того как может выглядеть исходный растр после аффинного преобразования: Аффинное

Варианты того как может выглядеть исходный растр после аффинного преобразования:

Аффинное преобразование

прямые линии переводит в прямые и сохраняет параллельность прямых.
Слайд 11

Проективное преобразование Также полином 1-й степени. х΄ = αx + βу

Проективное преобразование

Также полином 1-й степени.

х΄ = αx + βу + a

/ d
у΄ = γх +δy + b / d
d = εx + ηy +1

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

Слайд 12

Степенные полиномы Не всегда растр можно привязать с помощью полиномов 1-й

Степенные полиномы

Не всегда растр можно привязать с помощью полиномов 1-й степени.

Особенно сложно это сделать если проекция исходной карты неизвестна, отсутствует картографическая сетка или исходная бумажная карта до сканирования претерпела сильные изменения (усадка бумаги, складки, разрывы…). Чем сложнее должно быть преобразование, тем выше должна быть степень полинома.

Формула степенных полиномов:

n – степень полинома;

- коэффициенты;

i – количество опорных точек;
j – количество коэффициентов.

Слайд 13

Квадратичное преобразование Или полином 2-й степени: Минимум опорных точек – 6.

Квадратичное преобразование

Или полином 2-й степени:

Минимум опорных точек – 6. Не сохраняет

прямые.

Возможные варианты изображения после преобразования:

Исходное изображение

Слайд 14

Полиномы 5-й степени Максимальная степень полинома, используемая на практике для трансформаций.

Полиномы 5-й степени

Максимальная степень полинома, используемая на практике для трансформаций. Формулы

опустим. Минимальное количество опорных точек – 21, количество коэффициентов, соответственно – 42.
Целесообразно использовать при наличии большого количества опорных точек (разработчики ПО рекомендуют 60 - 70), если полиномы меньших степеней не дают желаемого результата.
Несколько (даже одна) неправильно заданных точек могут существенно повлиять на результат!