
- •Глава 9. Описание и характеристика поверхностей 3
- •Глава 14. Трассировка лучей 82
- •Глава 15. Цвет в компьютерной графике 90
- •Глава 16. Сжатие графических изображений 96
- •Глава 9. Описание и характеристика поверхностей
- •9.1. Описание поверхностей
- •Параметрическое описание
- •Описание неявными функциями
- •Поточечное описание
- •Фрактальное описание
- •9.2. Характеристики поверхностей
- •Поверхности 1-го порядка
- •Поверхности 2-го порядка
- •Фрактальные поверхности
- •9.3. Моделирование деформации трехмерных полигональных поверхностей в режиме реального времени
- •Метод деформации на основе использования неявного задания поверхности объекта
- •Метод деформации плоских протяженных объектов
- •Метод деформации тела, заданного полигональной сеткой
- •9.4. Триангуляция поверхностей
- •Уровень детализации (lod)
- •Глава 10. Получение реалистичных изображений
- •10.1. Методы создания реалистических изображений
- •Перспективные проекции
- •Передача глубины яркостью
- •10.2. Перспективные изображения
- •Глава 11. Проецирование
- •11.1. Основные виды проекций
- •Параллельные проекции
- •Центральные проекции
- •11.2. Математическое описание прямоугольных проекций
- •11.3. Математическое описание косоугольных проекций
- •11.4. Математическое описание перспективной проекции
- •11.5. Задание произвольных проекций. Видовое преобразование.
- •Глава 12. Алгоритмы удаления скрытых линий и поверхностей
- •12.1. Общие сведения об удалении скрытых линий и поверхностей
- •12.2. Алгоритм сортировки по глубине (оп)
- •12.3. Алгоритм, использующий z-буфер (пи)
- •12.4. Алгоритм построчного сканирования (пи)
- •12.5. Алгоритм разбиения области
- •12.6. Алгоритм плавающего горизонта
- •12.8. Алгоритм трассировки лучей
- •12.9. Иерархический z—буфер (смешанный тип)
- •Глава 13. Свет в компьютерной графике
- •13.1. Общие сведения о свете.
- •13.2. Модель освещения.
- •Свойства объектов
- •Отражение диффузное
- •Зеркальное отражение
- •Пропускание света (прозрачность)
- •13.3. Закраска полигональных сеток
- •Однотонная закраска
- •Интерполяция интенсивностей (метод Гуро)
- •Интерполяция векторов нормали (метод Фонга)
- •13.4. Тени
- •Источник света в бесконечности
- •Локальный источник
- •13.5. Фактура. Нанесение узора.
- •Нанесение узора на поверхность. Регулярная текстура.
- •Нанесение узора на поверхность. Стохастическая текстура.
- •13.6. Создание неровностей на поверхности.
- •Использование карт высот
- •Метод возмущения нормали
- •Использование фрактальных поверхностей
- •13.7. Фильтрация текстур
- •13.8. Полутоновые изображения
- •Глава 14. Трассировка лучей
- •14.1 Метод прямой трассировки
- •14.2 Метод обратной трассировки
- •Глава 15. Цвет в компьютерной графике
- •15.1. Ахроматический и хроматический цвета
- •15.2. Цветовые модели
- •Системы смешивания основных цветов
- •Цветовая модель hsv
- •Модель hls
- •Цилиндрическая цветовая модель
- •Глава 16. Сжатие графических изображений
- •16.1. Графические форматы
- •16.2. Основные сведения о сжатии изображений
- •16.3. Алгоритмы сжатия файлов без потерь
- •Алгоритм Хаффмана
- •Алгоритм Лемпеля—Зива (lzw)
- •Алгоритм rle (Run Length Encoding)
- •Обрезание хвостов
- •16.4. Сжатие с потерями цветных и полутоновых файлов
- •Сжатие изображения по стандарту jpeg
- •Новый стандарт jpeg 2000
- •Фрактальное сжатие изображений
Глава 13. Свет в компьютерной графике
Получение геометрической модели объекта является первостепенной задачей компьютерной графики, но не менее важно увидеть проектируемый объект с учетом особенностей тех материалов, из которых он изготовлен, изучить его в реальных световых условиях. Это актуально как в рекламных целях или на презентациях разрабатываемых объектов, когда необходимо представить на рассмотрение проект при отсутствии изготовленного образца, так и при проектировании. Например, при работе над новым образом здания архитектору желательно посмотреть его общий вид, представить, как здание впишется в существующую застройку, как будут распределяться тени. В процессе такого моделирования можно менять материалы и покрытие (текстуры) элементов проекта, проверять освещенность отдельных участков в зависимости от времени суток. Для моделирования освещенности, просчета теней, нанесения рисунка и создания неровностей на поверхности объекта необходимо изучения особенностей света.
13.1. Общие сведения о свете.
Свет – электромагнитная энергия, которая после взаимодействия с окружающей средой попадает в глаз, где в результате химических и физических реакций вырабатываются электроимпульсы, воспринимаемые мозгом.
Через опыт наш мозг учится определять и распознавать множество образов и отпечатков, которые создает свет из окружающей нас действительности. Младенец берет предмет, глядит на него мгновение, затем тащит в рот. Его язык - это прекрасный датчик, и может определять форму и вид поверхности предмета практически так же, как и глаз, а иногда и лучше. Ребенок учится ассоциировать то, что он видит с той формой, которую ему описал язык. Со временем ребенок узнает, что один и тот же предмет может выглядеть по-разному в зависимости от того, как его держать, хотя он по-прежнему является тем же самым предметом. Это очевидно - подумаете вы, но было обнаружено, что слепым с рождения людям, которым медицина вернула зрение, понять вышеизложенное очень сложно. Им также сложно усвоить смысл тени и отражения, суть которых зрячие люди познали еще от рождения. И сам факт того, что мы можем видеть, еще не означает, что мы можете понять то, что видим.
В этом и заключается разница между данными (Data) и информацией (Information). Данные – это световой образ, формирующийся на сетчатке глаза. Информация – это интерпретация этого образа нашим мозгом.
Создавая изображение любого вида, мы пытаемся сформировать световой образ на сетчатке глаза таким образом, чтобы он интерпретировался мозгом как предмет, который отображает это изображение. Тренированный мозг может извлечь огромное количество информации из изображения. Благодаря этому в голове мы можем получить полное трехмерное преставление сцены, изображенной на двухмерной картинке. Чтобы получить это, наш мозг анализирует порядок взаимодействия света со сценой (набором объектов изображенных на картинке) и на основе такого анализа данных выдает нам конечное трехмерное представление сцены.
Разнообразие моделей освещения, применяемых в процессе формирования изображений компьютером, - это попытка увеличить количество информации, которую мозг сможет извлечь.
Человеческий мозг может извлечь и интерпретировать четыре информационных ресурса из потока видимых данных.
Форма.
Это внешний вид объекта (предмета) в сцене, его видимые границы и края. Глаз человека обладает способностью улучшать четкость воспринимаемого изображения, что позволяет увереннее распознавать края предметов; (к месту сказать, что многие компьютерные программы для обработки изображений используют алгоритмы, позволяющие получать улучшения четкости, подобные тем, какие производит глаз человека.)
Оттенки
Блики и тени. Тон и структура поверхностей.
Цвет
Три цвета могут быть обнаружены человеческим глазом — красный, зеленый и синий.
Движение.
Мозг человека особенно восприимчив к движению объектов. Прекрасно «камуфлированное» животное мгновенно будет обнаружено, если оно пошевелится. Очень часто, если потерян курсор на экране монитора, лучший способ найти его – двинуть мышкой.
Специальные отделы головного мозга отвечают за обработку этих четырех информационных ресурса. Это было неоднократно доказано в случаях анализа черепно-мозговых травм, получаемых человеком. Как только человек получает травму и лишается отдела головного мозга, отвечающего за любой из вышеперечисленных ресурсов, то он сразу утрачивает способность к восприятию этой информации. Способность к восприятию принимается человеком как само собой разумеющееся. Принято считать, если мы можем видеть, то, значит, мы в состоянии определить форму, оттенки, цвет и движение. Но это не всегда так.
Не менее важной является информация, которую мозг добавляет или удаляет во время анализа. Когда мы созерцаем, мы имеем дело с гигантскими объемами информации. Было бы просто невозможным проанализировать и запомнить все сведения до мельчайших деталей. Да это и не нужно. Большая часть сведений (данных), поступающих нам через зрение, не обладают какой-либо ценностью. Мозг автоматически производит фильтрацию этого «мусора», позволяя нам сконцентрироваться на более значимой информации. Что еще более важно, мозг также добавляет недостающую информацию. Человеческое зрение имеет "мертвые зоны", но, тем не менее, мы этого не замечаем, потому что пробелы будут всегда заполнены подходящей информацией. Наш мозг много прощает.
Для программиста это означает то, что ему совсем не нужно прорисовывать изображение с точностью до мельчайших деталей. Большинство из этих деталей будет просто проигнорировано и заполнено чем-то другим. Картина может быть значительно упрощена.
Конечное изображение может быть еще более упрощено, если сцена находится в движении. Если нажать паузу на видеомагнитофоне и посмотреть на неподвижное изображение, то будет заметно, что оно выглядит никуда негодным, но это становится незаметным, когда оно в движении.
Поэтому главное – грамотно разграничить, что выполняет и по каким алгоритмам программист, а что будет доделывать мозг. Цель программиста фотореалистичной графики – попытаться смоделировать взаимодействие света с объектами сцены настолько аккуратно, чтобы оно могло выдержать скрупулезную проверку человеческим мозгом.
Также надо учитывать две особенности глаза:
Глаз приспосабливается к «средней» яркости сцены, поэтому область с постоянной яркостью на темном фоне кажется ярче или светлее, чем на светлом.
Границы областей постоянной яркости кажутся более яркими (рис.13.1).
Рис. 13.1 Полосы Маха
Этот эффект является причиной слишком резкого перепада яркости на граничных ребрах, где происходит изменение яркости между соседними плоскостями. Это явление называется эффектом полос Маха.
На рис. 13.1. показаны действительные и кажущиеся изменения яркости вдоль поверхности, вызванные литеральным торможением рецепторов глаза. Рецепторы глаза при реакции на свет подвергаются воздействию соседних рецепторов. Рецепторы, расположенные на границе перепада яркостей с более яркой ее стороны, подвергаются более сильному раздражению, чем те, которые находятся дальше от границы. Это объясняется тем, что они меньше затормаживаются своими соседями с более темной стороны. И наоборот, рецепторы, расположенные на границе с более темной стороны, подвергаются меньшему воздействию, чем находящиеся дальше от границы. Причина в том, что они подвергаются более сильному торможению от соседей с яркой стороны границы.
Эффект полос Маха мешает глазу создавать сглаженное изображение сцены. Увеличивая количество полигональных граней, его можно ослабить, но полностью уничтожить нельзя.