русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование света на практике


Дата добавления: 2013-12-23; просмотров: 1101; Нарушение авторских прав


Использование света и цвета на практике

Ну что же, теперь, после того, как мы рассмотрели основы света, рассмотрим ряд практических подходов при решении реальных задач.

3.1.1 Допущения и упрощения

Конкретный вариант моделирования света зависит от требований к создаваемому

изображению. Существует целый ряд допущений, которые можно (и, чаще всего, нужно) применить для того, чтобы увеличить скорость просчета модели и вывода на экран.

Точечные источники света. Для упрощения математических расчетов источники света обычно рассматривают в виде точки в пространстве. В подавляющем большинстве случаев это будет не слишком далеко от реальности. Лампочки и фонари на улицах очень малы по сравнению с объектами, которые они освещают. Проблема возникает тогда, когда необходимо изобразить сцену с источником света в виде длинной люминесцентной лампы или сцену, равномерно освещаемую естественным небесным освещением. В этом случае можно применить группу в виде нескольких, более слабых источников - для того, чтобы они могли имитировать один большой.

Многократные отражения. Просчеты эффектов, производимых светом при отражении от одной поверхности на другую, длительны и сложны. Поэтому для больших пространств можно не просчитывать множественные отражения, ввиду того, что разница между однократным и многократным отражением, в космосе, например, совершенно незаметна. Другое дело, если моделируется свет в маленькой комнатке. Здесь эта разница будет более чем заметна, так как объекты, находящиеся в зоне непосредственной тени, будут все равно освещены за счет отраженных лучей от других поверхностей.

Тени. Тени снабжают наблюдателя огромным количеством информации о трехмерной сцене. Объект, отбрасывающий тень значительно более понятен. Тени придают глубину сцене и дают интуитивное представление о местоположении источников света.



Так, например, на изображение слева изображены два шара. Один из них парит над зеленой поверхностью стола, второй лежит на поверхности. Но, глядя на это изображение, не видно, какой из них касается стола, а какой нет. Более того, даже нельзя определить положение этих шаров в пространстве, и даже их размер. На изображении справа все ясно. Красный шар больше синего и находится прямо на столе в удалении. Синий шар висит в воздухе, и он гораздо ближе к нам. А эти два изображения отличаются лишь тем, что на правом присутствуют тени от объектов.

Несмотря на то, что тени могут дать наблюдателю дополнительную информацию о глубине

сцены, их отсутствие иногда может быть незначительной потерей. В зависимости от ситуации

часто возможно сделать внести упрощения в задачу просчета теней. Например, при изображении летящего самолета воспроизведение его тени может быть очень важным для обозначения высоты полета. Но окружающий мир содержит всего один источник света - солнце, а остальные предметы

очень малы и разбросаны. Таким образом, не стоит думать над имитацией теней на самом

самолете и каждом маленьком домике далеко внизу на земле, достаточно спроектировать тень только на плоскость земли.

Статические (неподвижные) тени. Сцены с неподвижными источниками света и объектами имеют статические тени.

Для анимационных изображений имеется возможность заранее просчитать все тени в сцене. А затем использовать эту информацию для быстрой прорисовки этих теней на экране. Хорошим примером подобного подхода являются игры типа па1е. Уровень заранее обсчитывался утилитами просчета освещения, и в реальном времени движок игры уже не тратит драгоценное процессорное время на их создание. Все тени хранятся в виде "карты теней" в самом ф айле уровня и в процессе игры комбинируются с соответствующими текстурами.

 

3.1.2 Яркость окружающего мира

 

Некоторые места в окружающем нас мире могут быть очень и очень темными: пещеры.

угольные отвалы, пространство под кроватью в темное время суток. Некоторые части

окружающей действительности уже не столь темные: вечернее время, песок, лица людей. Некоторые вещи могут быть очень яркими: белая рубашка, снег, паруса. Ну, а некоторые - ослепительно яркими: солнце, небо, лампы, лазерные источники.

Яркость внутри компьютера имеет (обычно) 256 градаций, начиная с 0 (почти черный) и заканчивая 255 (почти белый).

Как же в таком случае отобразить реалистичный рисунок на экране монитора ведь

реальный мир имеет очень широкий яркостной диапазон, а компьютер - только узкую полосу из него.

Самое простое - это просто привести значения яркости к диапазону градаций яркости

компьютера. Так, темная пещера будет соответствовать яркости 0 , а солнце - яркости 255. Однако, в этом случае возникнут проблемы с отображением, скажем, лиц людей. Они будут слишком темными.


Вот пример: слева - яркость солнца приведена к величине 255. Можно прекрасно видеть солнце, но такое впечатление, что на земле ночь.

Другой напрашивающийся вариант - подрезать значения. Допустим, все, что ярче снега,

будет иметь яркость 255. Справа результат такого подхода. Земля выглядит прекрасно, но вот

небо... Большая часть его просто белая, о солнце можно только догадаться. Тучи же выглядят светлыми пятнами на белом фоне.

Обратимся к фотографии. Как и монитор компьютера, фотографии имеют узкий диапазон

передаваемых значений яркости. Самое черное место на фотографии не является в

действительности черным, а самое яркое не может быть ярче самой бумаги.

Но фотографии не страдают от вышеперечисленных проблем. Хотя, конечно, страдают, но, скажем, имеют гораздо более совершенный механизм разрешения проблем с яркостью. Этот механизм - экспозиция, или выдержка. Чтобы разобраться, что здесь к чему, поверхностно рассмотрим процесс фотографирования.

В момент нажатия на кнопку фотоаппарата затвор в камере открывается на доли секунды,

что дает возможность свету проникнуть внутрь фотоаппарата. Через систему линз свет фокусируется на светочувствительной пленке. Пленка покрыта специальным химическим

составом, который темнеет под воздействием на него светового потока. Изображение на пленке формируется из участков засвеченного или не засвеченного химического состава (эмульсии). Чем

темнее стал участок эмульсии на пленке, тем ярче будет этот участок на окончательной

фотографии.

Количество света, которое проходит через линзы и попадает на пленку, контролируется

временем пребывания затвора в открытом состоянии (выдержка или экспозиция, от английского exposure).

Возникает законный вопрос, как связать процесс получения фотографии с компьютерной графикой. Для дальнейшего анализа определимся с начальным значением выдержки (экспозиции)

пленки на свету. Допустим, что на некоторой площади поверхности пленки находится 100 молекул светочувствительного химического состава. Свет попадает на этот участок, и половина молекул темнеет (конечно же, молекулы темнеть не могут, но для упрощения понимания процесса будем говорить так). Таким образом, результирующая фотография будет иметь половинную от максимально возможной яркости. Если на тот же участок пленки снова попадет

такое же количество света, то потемнеет половина из оставшегося количества молекул, таким

образом, результирующий снимок будет иметь 75°/о яркости от максимума. Чем больше свет воздействует на пленку, тем больше молекул темнеет. Однако чем меньше молекул остаются не

Рис. Остаток нереагировавших молекл

 

 

тронутыми, тем дольше должно быть воздействие света.

Конечно, фотоаппарат был бы бесполезным, если бы он не имел органов управления выдержкой пленки. Количество света, который достигает поверхности пленки, зависит от силы света, размеров объектива и диафрагмы, а также времени открытия затвора. Для упрощения проигнорируем разницу между размером диафрагмы и скоростью движения затвора и представим

их влияние под видом коэффициента К. Меньшие значения К будут означать более темное

изображение, и наоборот. Тогда

Количество света на пленке = Количество света х К ,

а значение яркости

Вrightness = 1 — е -Количество света на пленке


Вот теперь ясно, что необходимо использовать

экспоненциальный закон для преобразования реального

диапазона яркости в ограниченный диапазон компьютера

и отобразить на экране монитора практически любое

изображение, даже с самыми большими вариациями яркости, и при этом не потерять в качестве отображения.

Вот результат. Солнце ярче неба, которое, в свою очередь, ярче земли, все детали отчетливо видимы, и мы ничего не потеряли. Именно так оно и должно быть.

ничего не потеряли. Имен



<== предыдущая лекция | следующая лекция ==>
Колориметрия - научный подход к цвету | Использование цвета


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.