- •Предмет компьютерная графика.
- •Эволюция технических средств компьютерной графики.
- •3. Программистская модель машинной графики.
- •4. Графический пакет. Основные понятия и определения.
- •Простой графический пакет.
- •Независимость пакета от графических устройств.
- •Геометрические преобразования.
- •Алгоритм Брезинхейма рисования отрезка.
- •Алгоритм впервые разработан для графопостроителя
- •Рисование окружности методом Брезинхейма.
- •Компьютерные шрифты.
- •Термины, относящиеся к шрифтам.
- •Метрические параметры шрифтов.
- •Заполнение областей.
- •Растровая развертка многоугольника.
- •Реалистичные изображения.
- •I. Поверхностные модели
- •Сплайновая кривая.
- •II. Модели сплошных тел.
- •III. Модель сплошных конструктивов.
- •Полигональные сетки.
- •Параметрические кубические кривые.
- •Цвет компьютерной графики.
- •5 Уровней освещенности:
- •Цветовые модели кг.
- •Методы закраски.
- •Закраска полигональной сетки.
- •Параметрические кубические кривые и поверхности.
- •Параметрические бикубические поверхности.
- •Удаление невидимых линий и поверхностей.
- •Сравнение по глубине и перспективным преобразованием.
- •Метод сортировки по глубине.
- •Метод плавающего горизонта.
- •Метод построчного сканирования.
- •Метод разбиения области.
- •Алгоритм Варнока
- •Комбинация примитивов.
- •Взаимное положение точки и объекта.
- •Определение видимых точек.
- •Изображение основных примитивов методом трассировки лучей.
- •2. Квадратичные поверхности.
- •Изображение прозрачных, преломляющих и зеркальных поверхностей.
- •Управление процессом формирования изображения.
- •Детализация поверхностей.
- •Способы вывода изображения в Windows.
Заполнение областей.
Область может быть задана следующим образом:
гранично – определенная область – описаны пикселы, лежащие на границе области.
внутри – определенная область – пикселы лежат внутри области.
область представляет из себя многоугольник с заданным списком вершин.
С 1) и 2) связано понятие связность.
Область называется четырехсвязной, если из одного пиксела в соседний можно попасть 4-мя движениями: .
Область восьмисвязная, если в соседний пиксел может попасть из 8-ми положений, ещё по диагонали.
П
ример:
4-связн.
Простейший алгоритм заполнения
8-ми связной области гранично-
опред.
Fill (x, y, new, border)
x – точка
new – новый цвет
border – цвет границы
if
end if
end.
Минусы: алгоритм глубоко рекурсывный, за каждый проход закрашивается один пиксел.
Пусть область считаем совокупностью горизонтальных интервалов ……. и запрашиваем строку целиком. Полосы сверху и снизу от закрашенной полосы могут быть либо граничные, либо внутренние. После того, как полоса закрашена , над ней и под ней ищем внутренние пикселы, если находим, то ищем самый правый и его используем в качестве зат-равки? на на следующей итерации.
3) Заполнение обл. с заданным списком вершин.
Есть многоугольник.
Закраска его в два этапа:
нужно произвести отсечение многоугольника по границам поля вывода
закрасить что осталось
Алгоритм отсечения многоугольников Сазерленда – Нодмана : последовательно производим отсечение многоугольника по всем 4-м границам поля вывода.
С каждым ребром относительно границ м.б 4 случая:
т. Р - начальная
т.S – конечная
внутри области – к выходному списку вершин добавляем т.S
внутри снаружи
3) вне области
4) внутри вне области
На входе массив из вершин V1….Vn
Построить выодной список вершин:
1.Шаг
for c=1 to n S=Vi
if inside (S) { if т.S находится внутри области}
if inside (P)
output (S) {это 1)}
else
q = intessed (P,S)
output (q)
output (S)
end if
else
if inside (P)
q = intessed (P,S)
output (q)
end if
end if
P = S
end for
П
усть
есть:
Граница области задана отрезком P1P2:
Векторное
произведение :
на нас
от нас
если от нас, то коор-та z – отрицательная
если на нас, то коор-та z - положительная
z – коор-та будет равна:
если полож. , то z внутри области.
