- •Компьютерная графика
- •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. Устройства получения твердых копий струйные принтеры
- •Технология электрографического копирования
- •Устройство черно-белого лазерного принтера
- •Устройство цветного лазерного принтера
- •Итоги раздела
- •Джойстик
- •Дискретный
- •Плавный
- •Содержание
Дополнительные условия
Все ребра – ориентированные. Ориентация задается ПОРЯДКОМ УПОМИНАНИЯ вершин на концах – от НАЧАЛЬНОЙ к КОНЕЧНОЙ.
Все грани – также ориентированные плоскости. Нормаль направлена ВНУТРЬ тела. Практически это означает, что направление обхода ребер грани (глядя СНАРУЖИ тела) – ПО ЧАСОВОЙ СТРЕЛКЕ.
Замечания про обозначения
Грань – а face Обозначаем буквой f
Ребро – аn edge Обозначаем буквой e
Вершина – а vertex Обозначаем буквой v
Проверка правильности задания граничного представления
Для «правильных» тел количество граней, вершин и ребер должно находиться в соотношениях, которые задает ФОРМУЛА ЭЙЛЕРА:
V – E + F = 2
Где
V - количество вершин,
Е – количество ребер,
F – количество граней.
Пример для куба:
Вершин 8, ребер 12, граней 6.
8 – 12 + 6 = 2.
Таковы основные принципы моделирования трехмерных тел в системах компьютерной графики.
Итоги раздела
Моделировать трехмерные тела можно: а) дроблением пространства, б) задавая границы тела или в) путем конструирования тела из примитивов.
Воксельное представление и метод конструктивной геометрии удобны для выполнения булевых операций объединения, вычитания и пересечения тел.
Наиболее удобным для ВИЗУАЛИЗАЦИИ является граничное представление тела, поэтому необходимы методы пересчета различных моделей трехмерных тел в граничное представление.
7 Понятие о видеоконвейере
В этом разделе производится обсуждение ПОЛНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ ОПЕРАЦИЙ, с помощью которой структура данных, описывающая трехмерную сцену, доводится до изображения на выводном устройстве.
Это раньше было названо ВИЗУАЛИЗАЦИЕЙ).
Исходное состояние
Исходным состоянием является представление сцены в виде структур данных в области памяти программы, которая осуществляет видеоконвейер. Для примера это может быть программа Autodesk 3D Studio MAX, Cinema 4D или Maya. В чловеческом сознании этому соответствует воображаемое представление о заданной трехмерной сцене. Здесь для определенности сцена представлена моделями домика и дерева.
Шаг 1 – ВИДОВОЕ ПРЕОБРАЗОВАНИЕ
Поскольку в сцене, которая визуализируется, должен быть задан наблюдатель (камера), то сначала координаты всех вершин объектов пересчитываются в систему координат наблюдателя. Это называется видовым преобразованием.
Результат шага 1
Результатом первого шага является та же сцена, но пересчитанная в систему координат НАБЛЮДАТЕЛЯ.
Что видит и чего не видит наблюдатель?
Для выполнения следующего шага нужно принять во внимание, что ни человек, ни камеры не «видят» во всех направлениях. Область видимости образует некий телесный угол. В случае камеры боковые ограничивающие поверхности этого подпространства видимости имеют, как правило, форму плоскостей, что объясняется конструкцией камеры. Чтобы имитировать ограниченную способность реальных объективов различать объекты только в некотором диапазоне дальностй, видимый объем дополнительно замыкают двумя плоскостями, перпендикулярными лучу зрения: ближней фронтальной плоскостью и дальней фронтальной плоскостью.
Все,что находится внутри видимого объема, камера «видит», все, что за его пределами – для камеры невидимо.
Шаг 2 – ОТСЕЧЕНИЕ ПО ВИДИМОМУ ОБЪЕМУ
Размеры видимого объема являются параметрами объекта «камера». Суть шага 2 состоит в том, что все объекты сцены отсекаются гранями видимого объема и те, что оказываются вне его, в дальнейших шагах видеоконвейера не обрабатываются. Это приводит к резкому снижению количества обрабатываемых объектов.
Разумеется, это весьма трудоемкая вычислительная задача.