1. Аксонометрическая проекция. Виды аксонометрических проекци



Download 1,67 Mb.
bet15/16
Sana16.01.2020
Hajmi1,67 Mb.
#34571
1   ...   8   9   10   11   12   13   14   15   16
Bog'liq
Инж Граф

20.Фрактальное сжатие


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

Именно эти возможности и позволяют использовать их для сжатия изображений, особенно для фотографий природы и прочих сложных самоподобных изображений.



Нам пригодятся следующие:

Метрика — функция, заданная на пространстве, возвращающая расстояние между двумя точками этого пространства. Например, привычная нам Эвклидова метрика. Если на пространстве задана метрика, оно называется метрическим. Метрика должна удовлетворять определенным условиям, но не будем углубляться.

Сжимающее отображение (преобразование) — функция на метрическом пространстве, равномерно уменьшающая расстояние между двумя точками пространства. Например, y=0.5x.

Сжимающие отображения обладают важным свойством. Если взять любую точку и начать итеративно применять к ней одно и то же сжимающее отображение: f(f(f...f(x))), то результатом будет всегда одна и та же точка. Чем больше раз применим, тем точнее найдем эту точку. Называется она неподвижной точкой и для каждого сжимающего отображения она существует, причем только одна.

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

Например, вот так при помощи СИФ из трех функций строится треугольник Серпинского:




21.Заполнение многоугольников


Затравка С помощью этого алгоритма можно закрашивать любые замкнутые области. Исходными данными для этого алгоритма являются цвет границы области и точка, принадлежащая этой области (т.н. затравочный пиксел). Суть метода заключается в следующем: мы берём затравочную точку и закрашиваем её. Для каждого не закрашенного соседа мы выполняем аналогичную процедуру. Т.о. мы получаем рекурсивный алгоритм, описание которого на псевдокоде представлено ниже:

1. Поместить затравочный пиксел в стек;

2. Извлечь пиксел из стека;

3. Присвоить пикселу требуемое значение (цвет внутренней области);

4. Каждый окрестный пиксел добавить в стек, если он

4.1. Не является граничным;

4.2. Не обработан ранее (т.е. его цвет отличается от цвета границы или цвета внутренней области);

5. Если стек не пуст, перейти к шагу 2



Разумеется, можно использовать как четырёх-, так и восьмисвязную окрестность.
Недостатков у этого алгоритма больше, чем преимуществ: он медленный и расходует много памяти для стека, поэтому гораздо правильнее будет перейти к рассмотрению следующей группы алгоритмов.

Алгоритмы со списком рёберных точек


Этот алгоритм подходит только для тех случаев, когда закрашиваемая область может быть задана в виде многоугольника. Будем считать, что мы работаем с многоугольником с вершинами P1,P2,…,PN,P1 и требуется отобразить его на экране вместе со всеми внутренними точками. Для удобства будем предполагать, что каждое ребро многоугольника задаётся координатами его концов x1,y1 и x2,y2 (при этом y2≥y1). Также условимся, что координата x возрастает при движении слева направо, а координата y при движении сверху вниз.
Подавляющее большинство алгоритмов растеризации многоугольников основаны на следующем предположении: любая секущая прямая пересекает границу многоугольника чётное число раз. Это утверждение неверно только в двух случаях:

Когда секущая прямая содержит ребро;

Когда секущая прямая содержит вершину, а смежные рёбра лежат по одну сторону от секущей прямой.

Эти два случая довольно легко обнаружить, поэтому при рассмотрении алгоритмов растеризации многоугольников будем считать, что приведённое выше предположение всегда верно.

Алгоритм, основанный на работе со списком рёберных точек, состоит из трёх основных этапов:
На первом этапе растеризуются все негоризонтальные рёбра многоугольника. Для каждого значения y составляется список x-координат, закрашенных при растеризации. Например, для рассматриваемого многоугольника мы получим следующие значения (при движении по часовой стрелке):


На втором этапе для каждого значения y списки упорядочиваются по возрастанию. После этого списки будут выглядеть следующим образом:


На третьем этапе для каждого y заполняются все полученные отрезки

Преимущество этого алгоритма в том, что каждый пиксель обрабатывается строго один раз. Т.о. можно утверждать, что этот алгоритм подходит для устройств, где доступ к видео-памяти занимает сравнительно много времени.

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

Алгоритмы XOR

Построчная XOR-обработка

Этот метод растеризации многоугольников основан на свойствах логической операции исключающего ИЛИ (XOR).


Этот алгоритм, как и алгоритм со списком рёберных точек, начинается с растеризации границ. После того, как границы построены, закрашивание сводится к заполнению в каждой строке промежутков между двумя закрашенными точками.

Представим изображение в виде бинарного массива I. Договоримся, что I[x;y]=1, когда пиксел закрашен, и I[x;y]=0, когда пиксел не закрашен. Легко заметить, что применение операции I[x+1,y]=I[x;y]XOR I[x+1;y] ко всем пикселам в строке приведёт к почти идеальному результату. В результате этой операции будут закрашены все промежутки, но последний пиксел в каждом промежутке не будет закрашен. В большинстве случаев эта погрешность несущественна и незаметна, но если требуется получить точный результат, можно после завершения алгоритма повторно вывести на экран границы, или воспользоваться небольшой модификацией этого алгоритма.

Преимущество этого алгоритма в его предельной простоте и высокой скорости. Недостаток в том, что алгоритм не может работать, при наличии посторонних изображений.

Алгоритм XOR для граней

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


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

Алгоритм XOR для граней с перегородкой

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


Download 1,67 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   16




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish