Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
159.23 Кб
Скачать

2. Технические средства кг.

Графические устройства делятся на :

- Усстройства ввода (планшеты, сканеры, измерительные станки, автоматические фотограмметрические установки(АФУ), 3D устр-ва) работают в 2-ух режимах: траекторный (планшеты) и растровый(сканеры). Траекторный режим предполагает последовательную обработку изображений, а растровый построчную обработку.

# Сканеры Вводят имеющееся изображение, и нуждаются в программной поддержке. Сканеры бывают штриховые, черно-белые, полутоновые, цветные. Сканеры бывают ручные и планшетные. Иногда поставляется с ПО для распознавания символов.

# АФУ используются в картографии.

- Усстройства вывода (принтеры, плотеры,).

- Диалоговые усстройства делятся на ручные(свет. перо, Track ball, joystick, мышь, клавиатура) и дисплеи. Дисплеи по типу делятся на плоские и эл. лучевые трубки. С плоским экраном работают на растровом принципе формирования изображения достоинство этих экранов в том что они имеют малую толщину, плоский экран, малые габариты и min потребление энергии. Плоские экраны бывают LCD (цифровые) и газоплазменные. Эл. лучевые трубки бывают векторные(запоминающие эл. луч. трубки с регенерацией изображения) и растровые (требуют память под дисплейный буффер и дисплейный контроллер). На IBM используются растровые экраны. Недостаток растровых экранов в том что сложность изображения ограничена памятью видеобуффера. Видеадаптер имеет так называемую палитру - max количество цветов адаптера. Множество одновременно отбражаемых цветов на экране - подмножество палитры. Задаваемый цвет отбражения - зто есть индекс реального цвета в таблице палитры.

Видеоадаптоpы, видеопамять

Управляет выводом изображения на экран. Вып-ся виде отдельной платы. Осн сост-ие:

-Схема управления ЭЛТ

-видеопамять, адресуемая ЦП

-цифро-аналог преобразователь с возмож палитрой

-порты вх/вых и шинный интерфейс;

Исп-ся разл типы адаптоpов большинство из кот может работать в разл режимах. Режимы одного адаптера отлич-ся разр.способн, кол-вом цветов, кол-вом страниц видеопамяти и способом их адресации. Видеопамять может содержать один или неск образов экрана, каждый такой образ наз-ся страницей. Все страницы видеопамяти одинак по размерам и независимы. В каждый момент только одна стр-ца м.б. активной.

В видеоадапт-х с монохр монитором значение атрибута пиксела управляет интенс-ю одного эл-го луча, с цв.монитором трех лучей составляющих RGB-компоненты цв.монитора. Инф-ю о типе в/адапт, текущ режиме и номере активн страницы хранит BIOS.

Большинство исп собст процессор для создания части изобр, кот раб парал с ЦП. Большинство акс вып опер по перемещению растр изобр, рис полигонов, закраску. Вып-ся с сопроцессором, доп памятью.

3. Базовая графика, растровые алгоритмы.

Для работы с устр-ом растр графики нужны спецметоды генерации изобр-я,вычерчивания прям и крив линий закраски многоуг-ов (за искл спецслучаев:гориз, вертик и под 45° прямых). Нельзя непосредств нарисовать отрезок от одного пиксела к другому. Его можно лишь апроксимировать после доват-ми пикселов близлежащих к реальной траектории отрезков. Процесс определения таких пикселов наз-ся разложением в растр. Алгоритм который находит ближ точки - растровый алгоритм. Программы реализующие алгоритмы разложения вызыв-ся очень часто, при каждом создании и модиф-ции изобр-я. Поэтому они должны не только порождать визуально приемлемые образы но также делать это как можно быстрее. Поэтому в алгор-х исп-ся пошаговые методы, минимиз-е число вычислений особенно * и /. Предпочтение отдается использ-ю целой арифметики, а также реализацию на аппаратном уровне алгоритмов. Задача разложения отрезков в растр закл-ся в нахождении ближ пикселов к траектории. Недостатки: округление, У и К – вещественные.

Целочисленные алгоритмы Бризенхема.

В процессе работы либо Х либо У в завис-ти от К увелич на 1. Изменение другой координаты на 0 или 1 зависит от расстояния между действит положением отрезка и ближ коорд сетки. Назовем такое расстояние отклонением Е. Алгоритм построен так, что треб-ся на кажд шаге проверять лишь знак этого отклонением и корректир-ть ее знач после кажд изменения очередной координаты.

Е=Х-0.5 - исходн от-ие. Если 0.5<=К<=1 (Е>=0) Если 0<=К<0.5 (Е<0)

Для исх.ош-ки Е=К-0.5=dY/dX-0.5

Поскольку важен знак ош-ки, а не ее значение умножаем (1,2 и 3) на 2dX. Избавляемся от ограничения на К. Получаем общ алгор Бризенхема для восьмисвязной развертки. С каждой итерацией двигаться на 1 пик по той оси, проекция отр на кот больше. Движение по другой осущ только когда линия отклонилась от текущ пик по этой оси > чем на 0,5 пик.

Растровая развертка окружности.

Существует неск простых спос преобразования окр-ти в растр.форму. Рассмотрим окр-ть с центром в нач коорд, для которой R2=X2+Y2 тогда У=Sqr(R2-X2). Чтобы изобразить 1/4 окр-ти увеличиваем Х с единичным шагом от 0 до R. При зачениях близких к R в окр-ти появляются заметные незаполн промежутки, т.к. при таких Х tg угла наклона касат-й к окр-ти стрем-ся к беск-ти Неэффективным методом при исп-ии которого также не удается избежать разрывов является параметрическое задание. Процесс можно улучшить если полнее использ симметрию окр-ти.

Алгоритм Бризенхема для окружности.

Рассм алгоритм обхода на случай обхода дуги 45° от Х=0 до Х=R/√2. На каждом шаге алгоритма выбираем точку Pi(Xi,Yi) ближайшую к истинной окр-ти, поэтому ошибка - разн-ть квадратов расстояний от центра окр-ти до выбранного пиксела и до истинной точки окр-ти будет близка к 0 минимиз-ся на каждом шаге как и в случае алгоритмов для прямой.Идея закл-ся в выборе ближ-ей точки при помощ управл-их перем-ых. Для выбора точки достаточно проанализ знаки перем-ых. D(0)<0 => y=y d=2x+3 D(0)>=0 => y=y+1

d=2(x-y)+5 D(0)=1.25-R

Растровая развертка многоугольников.

Основная идея заключается в том, чтобы в каждый момент времени заполять лишь одну строку пикселов. Алгоритмы, работающие по этому принципу называются алгоритмами построчного сканирования. Простым способом выделения пикселов сканируемой строки, попадающих внутрь прямоугольника является поочередная проверка всех пикселов строки растра. Такой алгоритм можно улучшить, поместив многоугольник внутрь минимально объемливающего прямоугольника со сторонами максимальных границ и анализировать точки внутри прямоугольника. Но можно найти и более эффективный метод, если учесть, что соседние пикселы в строке (столбце) вероятно имеют одинаковые цвета. Это наблюдение основывается на понятии пространственной когерентности: при перемещении от пиксела к пикселу (строки к строке) исходный прямоугольник остается постоянным. Т.е. нужно искать только те пикселы, где когерентность нарушена.

Пусть многоугольник задан набором вершин Ai (Xi,Yi), где i =1,2,...n, причем соседние точки в наборе -есть смежные углы.Тогда на каждой строке внутри многоугольника пикселы можно раскрасить с помощью следующего алгоритма:

1) Найти пересечение сканируемой строки со всеми ребрами многоугольника.

2) Отсортировать точки пересечения по возрастанию координаты X.

3) Раскрасиь точки между парами точек пересечения.

Этот алгоритм работает в случае существенных пересечений. При сортировке и закраске могут возникнуть трудности, если число пересечений нечетно. Это происходит при пересечении сканируемой строки локальными min и max. Если локальные min и max - как 2 пересечения, тогда алгоритм будет работать правильно. Если многоугольник выпуклый, то алгоритм можно упростить и повысить его эффективность. Используя алгоритм Брезенхема и одновременно генерируя растровые представления для ребер левой и правой ломаных, получим левый и правый пикселы границ многоугольника. Области могут быть внутренние или гранично определенные. У внутренних определенных областей все внутренние пикселы имеют одинаковые атрибуты. У гранично определенных все граничные пикселы имеют одинаковые атрибуты, отличные от внутренних. Пикселы внешние также могут иметь атрибуты граничных пикселов. Простой алгоритм можно сделать, используя стек:

Дано: C (X,Y) - цвет пиксела с коорд. x,y

Cb - цвет границы

Ci - цвет закраски

(X0,Y0) - коорд. затравочного пиксела

Помещаем (X0,Y0) в стек;

Пока стек не пуст выполнить;

Начало

Извлекаем пиксел из стека;

Если C(X,Y) <> Ci, то C(X,Y) = 0;

Для каждого соседнего пиксела выполнить

Если C(X,Y) <> Cb и C(X,Y) <> Ci, то поместить пиксел в стек;

Конец;

Отсечение.

Необходимость отсечь выводимое изображение по границам некоторой области (окна) встречается довольно часто,особенно в многооконных диалоговых графических системах.В простейших случаях в качестве отсекающей области выступает прямоугольник.Существует много алгоритмов отсечения для 2D- и 3D-случаев,ориентированных как на программную,так и аппаратную реализацию.Рассмотрим простой и эффективный алгоритм отсечения отрезков границами произвольного прямоугольника.Вся плоскость вывода разбивается прямыми,образующими прямоугольник на девять подплоскостей;каждой из них присваивается четырехбитовый код,в котором 1 в нулевом бите означает,что конец отрезка лежит левее окна, в первом бите означает,что конец отрезка лежит выше окна, во втором бите означает,что конец отрезка лежит правее окна, в третьем бите означает,что конец отрезка лежит ниже окна. Для простоты определения стороны окна необходимой для деления частично видимых отрезков меняют т-ки начала конца местами в случае если т-ка начала лежит внутри окна. Левее: y1=y1+(y2-y1)*(xl-х1)/(х2-х1), Правее: y1=y1+(y2-y1)*(xr-х1)/(х2-х1), Выше: х1=х1+(х2-х1)*(ya-y1)/(y2-y1), Ниже: х1=х1+(х2-х1)*(yb-y1)/(y2-y1)

Недостаток: нецелочисленная арифметика. Эффективен: -большое окно, в кот попадает большинство примитивов; -наоборот;

В случае с 3D исп 6-значный код…

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]