
- •Компьютерная графика
- •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. Устройства получения твердых копий струйные принтеры
- •Технология электрографического копирования
- •Устройство черно-белого лазерного принтера
- •Устройство цветного лазерного принтера
- •Итоги раздела
- •Джойстик
- •Дискретный
- •Плавный
- •Содержание
Октарные и бинарные деревья
За основу берется куб, в который вписано тело. Куб разбивается на восемь подкубов-октантов, которые нумеруются как показано на рисунке. Октантам присваивается «цвет»:
Белый – октант пуст (лист);
Черный – октант заполнен полностью (лист);
Серый – октант заполнен ЧАСТИЧНО
Для «серых» октантов пространство дальше разбивается рекурсивно.
ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ОКТАРНОГО ДЕРЕВА
Для тела, показанного на рисунке выше, дерево октантов выглядит так:
СМЫСЛ РАСКРАСКИ:
Белый – октант пуст (лист);
Черный – октант заполнен полностью (лист);
Серый – октант заполнен ЧАСТИЧНО (промежуточный узел дерева).
Удобство графического вывода состоит в том, что, выбирая определенный порядок вывода октантов (соответствующий их упорядоченности по глубине), можно рисовать сцену методом «плывущего горизонта» и избежать таким образом трудоемкого удаления невидимых линий и граней.
Здесь имеет место такая УПОРЯДОЧЕННОСТЬ ОКТАНТОВ ПО ГЛУБИНЕ:
4, 0, 5, 1, 6, 2, 7, 3
ЛИНЕЙНОЕ ПРЕДСТАВЛЕНИЕ ОКТАРНОГО ДЕРЕВА
Это октарное дерево можно задать такой линейной записью. Б=белый узе, Ч= черный узел, стрелка = переход на уровень вниз к составляющим
Двоичное дерево деления пространств
Бинарное разделение пространства тоже возможно, вводят такую дисциплину: сначала объем делят пополам вдоль оси Х, потом кахжую половину пополам влоль оси Y, затем каждую четвертину еще раз пополам вдоль оси Z.
Каждую из восьмушек далее рекурсивно делят с той же последовательностью разделений. Двоичное дерево ля рассмотренного выше примера:
…И его линейное представление
КОНСТРУКТИВНАЯ ГЕОМЕТРИЯ
Метод моделирования трехмерных тел с помощью параметризованных примитивов (CSG – Compositional Space Geometry ) напоминает по логике игру «в кубики». Для получения сложных тел программа моделирования должна быть в состоянии выполнять с примитивами и их объединениями теоретико-множественные операции объединения, вычитания, пересечения и т.п.
Пример
применения CGM.
ГРАНИЧНОЕ ПРЕДСТАВЛЕНИЕ
Трехмерное тело задается своей поверхностью. Как правило, это отсеки плоскостей, но теоретически рассматриваются и отсеки бикубических параметрических поверхностей. Нормали к каждой грани должны быть направлены внутрь тела. Пример параллелепипеда:
Списком вершин
Если задавать тело только списком вершин, то нет возможности восстановить ни ребра, ни грани:
Слишком мало информации.
Списком ГРАНЕЙ
При задании тела только списком граней, задаваемых как последовательность вершин, то информации уже больше. Но в таком описании информация о ребрах содержится только НЕЯВНО.
Каноническое (три уровня)
Для целей визуализации трехмерных тел лучше всего подходит трехуровневое описание, которое считается каноническим.
Верхний уровень – список граней. Каждая грань задается списком указателей на ребра, которые его ограничивают.
Средний уровень – список ребер. Каждое ребро задается парой указателей на вершину-начало и вершину-конец ребра.
Нижний уровень – список вершин. Каждая вершина задается тройкой своих координат в системе координат сцены («мировая» система координат).
Достоинством этой схемы есть то, что средний и верхний уровни – топологические, а нижний – физический. При перемещениях и др. преобразованиях тела пересчетам подвергается только уровень вершин, два верхних уровня остаются без изменений.