
- •Монохроматическое излучение?
- •Три атрибута цвета?
- •Что такое цветовой тон?
- •Основные законы колориметрии?
- •Аддитивная цветовая модель rgb?
- •Пропорции смешения цветов и их трехмерное представление?
- •Трехцветные коэффициенты смешивания rgb?
- •Недостатки и достоинства rgb?
- •Цветовая модель cmy?
- •Цветовая модель hsv?
- •Особенности монохромных моделей?
- •Компонентное кодирование цветов. Палитра?
- •Особенности цветопередачи в полиграфии?
- •Понятие дизеринга?
- •Простейший дизеринг?
- •Определение количества градаций цвета?
- •Формула цвета для двух компонент в зависимости от размера ячейки?
- •Линиатура растра?
- •Реализация дизеринга в графической системе?
- •Диагональные растры?
- •Частотная модуляция?
- •Записать в общем виде выражение аффинного преобразование координат?
- •Какие преобразования включают аффинные?
- •Записать в общем виде выражение для поворота угла ?
- •Записать в матричном виде аффинные преобразования?
- •Что такое однородные координаты?
- •Показать вид матрицы вращения в однородных координатах?
- •Показать вид матрицы растяжения-сжатия и отражения вокруг оси Оу в однородных координатах?
- •Показать вид матрицы переноса в однородных координатах?
- •Выписать в матричном виде преобразование для поворота вокруг произвольной точки на угол и указать, что означает каждая из матриц?
- •Выписать вид матриц для вращения в пространстве?
- •Указать, в чем состоит смысл проектирования?
- •Какая проекция называется ортографической?
- •Какая проекция называется аксонометрической?
- •Какая проекция называется изометрической?
- •Какая проекция называется косоугольной?
- •Какая проекция называется кабинетной?
- •Выписать матрицы проектирования вдоль координатных осей?
- •Какую информацию нужно задать для проективного преобразования пространственного объекта?
- •Привести вид матрицы проектирования для косоугольной проекции?
- •Выписать вид матрицы проектирования в однородных координатах и докажите, что она осуществляет проектирование в двумерные координаты?
- •Понятие соседей и связности?
- •Принцип работы четырехсвязного алгоритма Брезенхэма?
- •Принцип работы восьмисвязного алгоритма Брезенхэма?
- •Пример восьмисьмисвязного алгоритма?
- •Построение окружности?
- •Построение эллипса?
- •Р ис.6.4.Четверть эллипса с касательной и нормалью
- •Кривая Безье?
- •Геометрический алгоритм?
- •Задача вывода фигур?
- •Простейший алгоритм закрашивания?
- •Волновой алгоритм закрашивания?
- •Алгоритм закрашивания линиями?
- •Заполнение прямоугольника и круга?
- •Заполнение полигонов?
- •Учет вершин полигона?
- •Ускорение работы алгоритма?
- •Аналитическая модель описания поверхности?
- •Аппроксимация сплайна?
- •Кубический сплайн?
- •Векторная полигональная модель?
- •Первый способ описания структур данных в векторной модели?
- •Второй и третий способы описания структур данных в векторной модели?
- •Достоинства и недостатки векторной модели?
- •Воксельная модель?
- •Отражение света?
- •Закон Снеллиуса?
- •Диффузное преломление и отражение?
- •Распределение энергии при отражении?
- •Распределение энергии при преломлении?
- •Описание поверхности, состоящей из случайно ориентированных микрограней?
- •Преломление света поверхностью, состоящей из микрозеркал?
- •Моделирование общего случая освещенности?
- •Задача удаления невидимых линий и поверхностей?
- •Общие характеристики методов удаления невидимых линий и поверхностей?
- •Типы когерентности?
- •Линии горизонта?
- •Методы плавающего горизонта?
- •Сортировка граней по глубине?
- •Метод z-буфера?
- •Эвристические концепции невидимости?
- •Отличие и сходство видимости в сценах для выпуклых и невыпуклых фигур?
- •Постановка задачи удаления невидимых граней выпуклого многогранника?
- •Алгоритм удаления невидимых граней выпуклого многогранника?
- •Количественная невидимость?
- •Общие свойства функции количественной невидимости?
- •Свойство функции количественной невидимости в особых точках?
Типы когерентности?
Крайне важная роль в повышений эффективности методов удаления невидимых линий и граней отводится использованию когерентности (от английского coherence - связность). Выделяют несколько типов когерентности:
• когерентность в картинной плоскости - если данный пиксель соответствует точке грани Р, то скорее всего соседние пиксели также соответствуют точкам той же грани (рис. 11.3)
Рис. 11.3.
• когерентность а пространстве объектов - если данный объект (грань), видим (невидим), то расположенный рядом объект (грань) скорее всего также является ни видимым (невидимым) (рис. 11.4).
Рис. 11.4.
• в случае построения анимации возникает третий тип когерентности – временная: грани, видимые в данном кадре, скорее всего будут видимы и в следующем; аналогично грани, невидимые в данном кадре, скорее всего будут невидимы и в следующем.
Аккуратное использование когерентности позволяет заметно сократить количество возникающих проверок и заметно повысит быстродействие алгоритма.
Рассмотрим задачу построения графика функции двух переменных z =f(x, у) в виде сетки координатных линий х = const и у = const (рис. 11.5).
Рис. 11.5
Линии горизонта?
Для определения частей линии z = f(x, yk), которые не закрывают ранее нарисованных линий, на каждом шаге вводятся так называемые линии горизонта – верхний и нижний горизонты и рисуется только то, что ниже нижнего горизонта и выше верхнего. Соответственно каждая новая грань поднимает верхний горизонт и опускает нижний. Рассмотрим этот процесс более подробно.
Изначально линии горизонта не инициализированы, поэтому первая линия выводится полностью (так как она ближе всего расположена к наблюдателю, то закрывать ее ничто не может). После этого линии горизонта инициализируются так, что в выводимых точках они совпадают с линией, выведенной первой.
Вторая линия также выводится полностью и линии горизонта корректируются следующим образом: нижняя линия горизонта в любой из точек равна минимуму из двух уже выведенных линий, верхняя - максимуму (рис. 11.6).
Рис. 11.6.
Рассмотрим область экрана между верхней и нижней линиями горизонта - она является проекцией части графика функции, заключенной в полосе y1 у y2, и, очевидно, находится ближе, чем все остальные линии вида z = f(x, yi), i > 2. Поэтому те части линий, которые при проектировании попадают в эту область, указанной частью графика, закрываются и при данном способе проектирования не видны.
Методы плавающего горизонта?
Следующая линия будет рисоваться только в тех местах, где ее проекция лежит вне области, задаваемой контурными линиями.
Пусть проекцией
линии z
= j(x,
уk)
на картинную плоскость является линия
Y
= Yk(X),
где (X, Y) -
координаты на картинной плоскости,
причем Y -
вертикальная координата. Контурные
линии
и
определяются
следующими соотношениями:
На экране рисуются
только те части линии Y
= Yk(X),
которые находятся выше линии
или ниже линии
.
Такой метод называется методом плавающего горизонта.
Возможны разные способы представления линий горизонта, но одной из наиболее простых и эффективных реализации данного метода является растровая реализация, при которой каждая линия горизонта представлена набором значений Y с шагом 1 пиксель.
Для рисования сегментов этой ломаной используется модифицированный алгоритм Брезенхейма, который перед выводом очередного пикселя сравнивает его ординату с верхней и нижней контурными линиями.
Рассмотрим теперь задачу, построения полутонового изображения графика функции z =f(x, у). Как и ранее, введем сетку
.
затем приблизим
график функции набором треугольных
граней с вершинами в точках
.