
- •Предмет компьютерная графика.
- •Эволюция технических средств компьютерной графики.
- •3. Программистская модель машинной графики.
- •4. Графический пакет. Основные понятия и определения.
- •Простой графический пакет.
- •Независимость пакета от графических устройств.
- •Геометрические преобразования.
- •Алгоритм Брезинхейма рисования отрезка.
- •Алгоритм впервые разработан для графопостроителя
- •Рисование окружности методом Брезинхейма.
- •Компьютерные шрифты.
- •Термины, относящиеся к шрифтам.
- •Метрические параметры шрифтов.
- •Заполнение областей.
- •Растровая развертка многоугольника.
- •Реалистичные изображения.
- •I. Поверхностные модели
- •Сплайновая кривая.
- •II. Модели сплошных тел.
- •III. Модель сплошных конструктивов.
- •Полигональные сетки.
- •Параметрические кубические кривые.
- •Цвет компьютерной графики.
- •5 Уровней освещенности:
- •Цветовые модели кг.
- •Методы закраски.
- •Закраска полигональной сетки.
- •Параметрические кубические кривые и поверхности.
- •Параметрические бикубические поверхности.
- •Удаление невидимых линий и поверхностей.
- •Сравнение по глубине и перспективным преобразованием.
- •Метод сортировки по глубине.
- •Метод плавающего горизонта.
- •Метод построчного сканирования.
- •Метод разбиения области.
- •Алгоритм Варнока
- •Комбинация примитивов.
- •Взаимное положение точки и объекта.
- •Определение видимых точек.
- •Изображение основных примитивов методом трассировки лучей.
- •2. Квадратичные поверхности.
- •Изображение прозрачных, преломляющих и зеркальных поверхностей.
- •Управление процессом формирования изображения.
- •Детализация поверхностей.
- •Способы вывода изображения в Windows.
Метод разбиения области.
Суть: изображение разбивается на части и исследуется соот-е между частью изображения и многоугольником сцены.
Относительно некоторого куска многоугольник может быть охватывающим:
Внутренним: персекающим: внешним:
Есть 4 случая, когда вопрос о закраске области можно решить однозначно:
все многоугольники внешние область красится в цвет фона
только один внутренний или пересекающийся многоугольник
только один охватывающий многоугольник
несколько внутренних, пересекающих и охватывающих многоугольников, из которых один охватывающий находится ближе другого к наблюдателю область в цвет последнего охватывающего многоугольника.
Алгоритм Варнока
Область делится на 4 равных части:
Разбиение области до тех пор, пока размер участка не будет равен размеру пикселя.
Если и в этом случае однозначного ответа нет, то пиксель делим ещё на четыре части и окрашиваем на взвешанную сумму многоугольников, конкурирующих за этот пиксель.
Более эффективный алгоритм, если разбиваем не на одинаковые части, а относительно вершин.
Комбинация примитивов.
Примитивы могут комбинироваться друг с другом, образуя блоки.
Над примитивами возможны следующие операции:
1) объединение (+)
двух примитивов П1 + П2 есть тело, каждая точка которых принадлежит либо П1 либо П2
2) пересечение – общая часть двух примитивов: каждая точка принадлежит обоим примитивам.
3) разность – совокупность точек, которые принадлежат П1, но не принадлежат П2
4)
отрицание примитива – совокупность
точек, которые не принадлежат данному
примитиву. (
,
).
Тогда тело можно описать в виде выражения или дерева:
1) множество примитивов 2) I – трехмерное пространство 3) Е – примитив нулевого объема 4) + - образуют булеву алгебру.
Для неё выполняется 15 законов булевой алгебры, например,
законы
де Моргана: любой объект можно представить
в виде дизъюнктивно-нормальной либо
конъюнктивно-нормальной форме.
Взаимное положение точки и объекта.
Будем обозначать в виде функций:
-
взаимное положение точки и примитива.
или
Если
примитив описывается k
штук функции
,
то
,
если для
.
Для комбинации примитивов взаимное положение точки и комбинаций опишем в виде таблицы:
(А) |
(В) |
(-А) |
(А+В) |
(А-В) |
(В-А) |
(В&А) |
1 1 1
|
1 0 -1
|
-1 -1 -1
|
1 1 1
|
-1 0 1
|
-1 0 1
|
1 0 -1
|
0 0 0 |
1 0 -1 |
0 0 0 |
1 0 0 |
-1 0 0 |
0 0 -1 |
0 0 -1 |
-1 -1 -1 |
1 0 -1 |
1 1 1 |
1 0 -1 |
-1 -1 -1 |
1 0 -1 |
-1 -1 -1 |