- •Компьютерная графика
- •0915 “Компьютерная инженерия”
- •Чернигов чгту 2008
- •Задание бкс по безье
- •Сплайны
- •3 Алгоритмы вычислительной геометрии. Геометрия на плоскости План раздела
- •Отсечение отрезков по окну
- •Отсечение многоугольника по окну
- •Задача триангуляции
- •Условие Делоне
- •Алгоритм триангуляции Делоне
- •4 Трехмерная вычислительная геометрия план раздела
- •Описание плоскости через точку и нормаль
- •Описание плоскости через три инцидентные ей точки
- •Описание плоскости через вершины полигона
- •Точка встречи плоскости и прямой
- •5 Описание перемещений и деформаций объектов план раздела
- •Перенос, масштабирование и поворот двумерной точки Обычный линейный перенос…
- •Масштабирование координат
- •Поворот (вокруг начала координат)
- •Неоднородность описаний
- •Как перемещение описать умножением?
- •Однородные координаты
- •Формальный подход
- •Но, к счастью…
- •Пример: отображение окна в окно Постановка задачи
- •Решение
- •Октарные и бинарные деревья
- •Дополнительные условия
- •Проверка правильности задания граничного представления
- •Итоги раздела
- •7 Понятие о видеоконвейере
- •Исходное состояние
- •Результат шага 1
- •Что видит и чего не видит наблюдатель?
- •Результат шага 2
- •Результат шага 3
- •Результат:
- •8 Видовое преобразование
- •План раздела
- •Исходное состояние
- •Вычисление базиса ск камеры
- •Стратегия видового преобразования
- •Принцип относительности движений
- •9 Особенности отсечения по видимому объему
- •План раздела
- •Суть действия «отсечения»
- •Различные формы видимых объемов
- •Выпуклые оболочки граней
- •Метод Коэна-Сазерленда в применении к трехмерному случаю
- •Результат быстрой селекции граней
- •Объекты, которые отсекаются в трехмерном случае
- •Общая схема действий по отсечению
- •Как задается видимый объем
- •Дополнительные проблемы отсечения при центральном проецировании
- •Повышение эффективности проверок при центральном проецировании
- •10 Удаление невидимых граней, ребер и вершин
- •План раздела
- •Общая классификация методов удаления невидимого
- •Алгоритмическая основа удаления невидимых примитивов
- •Неустранимое противоречие
- •Классификация методов удаления невидимых примитивов
- •Замечание о трудоемкости методов
- •Алгоритм робертса
- •«Матрица тела»
- •Учет видового преобразования
- •Алгоритм z-буфера
- •Алгоритм заполнения z-буфера
- •Пример работы с z-буфером
- •Достоинства алгоритма z-буфера
- •Простота и универсальность.
- •Он нечувствителен к сложности сцены.
- •Недостаток алгоритма z-буфера
- •Повышенный расход оперативной памяти.
- •11Построение проекций план раздела
- •Общая классификация проекций Понятие «проекция»
- •12Рендеринг по освещенности план раздела
- •Модели локального освещения объектов
- •Ограничения локальной модели освещения объектов сцены
- •Рассеянное освещение
- •Диффузное отражение света
- •Зеркальное отражение света
- •«Краевой эффект» Маха(Mach Bound Effect)
- •Модель затенения Гуро (h.Gouraud)
- •Модель затенения Фонга (Phong)
- •Модификации модели затенения Фонга
- •Иллюстрация методов шейдинга для сравнения
- •Алгоритмы получения высокореалистических изображений общие замечания
- •Классическая прямая трассировка лучей
- •Обратная трассировка лучей
- •Вторичные лучи обратной трассировки
- •Дерево вторичных лучей обратной трассировки
- •Достоинства и недостатки метода обратной трассировки световых лучей
- •Распределенная (стохастическая) трассировка лучей (рстл)
- •О сэмплинге
- •Так почему трассировка здесь называется «распределенная»?
- •И просто несколько красивых картинок…
- •13 Растровые изображения План раздела
- •Растровый документ: Представление слоями
- •Смешение цветов в слоях
- •Алгоритм брезенхема – предпосылки-1
- •Предпосылки-2
- •Проблемы яркости отрезка
- •Компенсация алиасинга яркостью
- •Растеризация окружности – подходы
- •Заливка областей постоянным цветом
- •Классификация областей
- •Классификация областей Итог и примеры
- •Простейший рекурсивный алгоритм заливки
- •Примерный вид текстурированной грани
- •Неочевидные применения текстур
- •Быстрый приближенный «шейдинг по способу Фонга»
- •Быстрое приближенное построение отражений
- •А. Теория цвета и цветоизмерение свет и цвет
- •Феномен составных цветов
- •«Уравновешивание» цветов
- •Странности сине-зеленого цвета
- •«Отрицательный» красный цвет
- •Диаграммы уравновешивания цветов
- •Измерение цвета
- •Цветовой охват
- •Б. Воспроизведение цветов
- •Технология светоизлучения (суммирующая)
- •Реализация модели rgb
- •«Цветовой куб» модели rgb
- •Изохромы
- •Технология цветопоглощения (вычитающая)
- •Субтрактивная цветовая модель cmyk
- •Как задается цвет в модели cmyk
- •Проблемы преобразования цвета
- •«Техническая» цветовая модель l*a*b
- •Использование модели l*a*b
- •«Художественная» цветовая модель hsl
- •Проблемы правильной передачи цвета
- •16Сжатие графических файлов план раздела
- •Перечисление методов точного сжатия
- •Кодирование однородных серий
- •44 44 44 11 11 11 11 11 01 33 Ff 22 22 - исходная последовательность байтов
- •Алгоритм лемпела–зива-велча ( Lempel- Ziev-Welch, lzw )
- •Битовые коды переменной длины (метод хаффмана)
- •Методы энтропийнного сжатия
- •Индексирование цвета
- •7. Седьмое преобразование:
- •Проектор экранный микрозеркальный (устройство)
- •Дискретное микрозеркальное устройство
- •B. Устройства получения твердых копий струйные принтеры
- •Технология электрографического копирования
- •Устройство черно-белого лазерного принтера
- •Устройство цветного лазерного принтера
- •Итоги раздела
- •Джойстик
- •Дискретный
- •Плавный
- •Содержание
Примерный вид текстурированной грани
Два результата текстурирования, которые отличались начальным заданием текстурных координат на вершинах грани.
Это одна текстурированная грань.
Это текстурированный многогранный объект.
ПРИМЕЧАНИЕ. В этом случае текстурные координаты вершин были назначены НЕ ТАК, КАК В РАССМОТРЕННОМ ВЫШЕ ПРИМЕРЕ, а по-другому. Способов расстановки текстурных координат бесконечно много, и для каждого вид объекта БУДЕТ РАЗНЫЙ!
Неочевидные применения текстур
Быстрота получения цвета пиксела при текстурировании открыла возможность с помощью текстурирования приближенно решать другие вычислительно сложные задачи компьютерной графики с вполне приемлемым качеством. Рассмотрим два из них.
Быстрый приближенный «шейдинг по способу Фонга»
Вычисление закраски (рендеринг) сложных объектов по методу Фонга – одна из наиболее сложных типовых задач в видеоконвейере. Текстурирование позволяет избавиться от пространственного анализа расположения граней и источников света.
Сначала в качестве прототипа рендеринга получают модель сферы, которую тщательно закрашивают по Фонгу.
Текстуру (справа) получают, переводя цвета со сферы на квадрат с заданными координатами. Видно, что тета и фи – это сферические координаты точки на сфере.
Цвет произвольной точки сложной фигуры получают текстурированием на основании интерполированного значения нормали к ее поверхности.
Пример текстурного «шейдинга по Фонгу»
Быстрое приближенное построение отражений
Получение отражений одних объектов сцены в зеркальной поверхности других является весьма трудной задачей, которая, как известно из нашего курса, требует для своего решения методов моделирования глобальной освещенности сцены. Однако оказывается, что умелое применение подходов текстурирования позволяет получать вполне практически применимые результаты, не прибегая к методам трассировки световых лучей.
Объект, в поверхности которого нужно получить изображение, заключается в о вспомогательный куб, на грани которого обычны м проецированием наносятся изображения всего, что находится вокруг объекта.
Получаем проекции среды на 6 граней куба, по сути - 6 карт-текстур.
Дальнейшая работа сохраняет начальную операцию метода обратной трассировки лучей, а именно – вычисление направления первого отраженного от тела обратного луча. Далее по этому направлению с одной из шести карт-текстур снимается цвет тексела и присваивается точке объекта, от которой вычислялся отраженный луч. На примере: точка А на объекте имеет цвет тексела В. Никакого расчета вторичных и последующих отражений и преломлений.
Пример применения ускоренного построения отражений
Другие применения текстур
1. Нанесение на поверхность объекта цветов, связанных с любой однозначной функцией Z(t,s). ЭТО ПОЗВОЛЯЕТ МОДЕЛИРОВАТЬ ЦВЕТАМИ:
Физическое свойство (например, температуру);
Рисовать на объекте линии уровня;
Текстурирование – это очень продуктивный подход к ускорению раскраски. Приведенные примеры подтверждают это.
ДРУГИЕ КЛАССЫ ТЕКСТУР
Трехмерная текстура – функция ЦВЕТ(x,y,z).
Любая точка поверхности любого объекта имеет геометрические координаты. По ним можно рассчитать цвет такой точки.
Применяя такой подход, часто получают имитацию «деревянной поверхности».
ИТОГИ РАЗДЕЛА
Текстура – это чаще всего плоское изображение, которое программно проецируется на поверхность объектов.
Текстура позволяет придать объектам естественный вид (имитация материала, макронеровностей…).
Придуманы очень эффективные приближенные методы имитации шейдинга и трассировки лучей, основанные на текстурах, при этом достигается ускорение в сотни раз.
15 ЦВЕТА В КОМПЬЮТЕРНОЙ ГРАФИКЕ
ПЛАН РАЗДЕЛА
А. ТЕОРИЯ ЦВЕТА и ЦВЕТОИЗМЕРЕНИЕ
Что такое «свет» и «цвет».
Феномен цветового зрения человека.
Спектральные характеристики фоторецепторов глаза.
Феномен составных цветов.
«Уравновешивание» цветов.
«Наблюдатель цвета» МКО.
Измерение цвета. «Цветовое крыло».
Цветовые охваты.
Б. ВОСПРОИЗВЕДЕНИЕ ЦВЕТОВ
Цветовая модель RGB.
«Цветовой куб» RGB.
Web-цвета.
Цветовая модель CMYK.
Цветовая модель Lab (YCrCb).
Цветовая модель HSB.
Проблемы цветовоспроизведения.