русс | укр

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

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

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

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


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

Простейшая модель освещения


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


Визуализация изображений

Изображение литер

Алфавитно-цифровые символы (литеры) записываются в буфер кадра с помощью маски. Литерная маска – маленький растр, содержащий относительные адреса пикселей, используемых для представления литеры. Сама маска просто содержит двоичные величины, обозначающие, используется или нет конкретный пиксель в маске для представления литеры.

Для простых черно-белых изображений 1 означает, что пиксель используется в представлении, а 0 – не используется.

Для цветных изображений применяются дополнительные биты в качестве индексов в таблице цветов.

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

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


Человеческий глаз – очень сложная система. Он имеет почти сферическую форму с диаметром около 20 мм. Воспринимаемый свет с помощью гибкого хрусталика фокусируется на сетчатке глаза, в которой есть два типа рецепторов: колбочки и палочки. В центре задней полусферы собрано 6-7 млн колбочек, чувствительных только к сравнительно высоким уровням освещенности, причем каждая из них присоединена к отдельному нерву. Колбочки позволяют различать мелкие детали. В сетчатке находится около 75-150 млн палочек, чувствительных к очень низким уровням освещенности. К одному нерву присоединено сразу несколько палочек, поэтому они не способны различать мелкие детали.

Световая энергия, падающая на поверхность, может быть поглощена, отражена или пропущена. Частично она поглощается и превращается в тепло, а частично отражается или пропускается. Объект можно увидеть, только если он отражает или пропускает свет; если он поглощает весь свет, то он невидим и называется абсолютно черным телом. Цвет объекта определяется поглощаемыми длинами волн.



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

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

I = I0*k*cosΘ, где

I – интенсивность отраженного света

I0 – интенсивность точечного источника

k – коэффициент диффузного отражения поверхности (0 ≤ k ≤ 1)

Θ – угол между направлением света и нормалью к поверхности (0 ≤ Θ ≤ π/2)

 
 

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

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

I = I0*k*cosΘ + Iа*kа, где

Iа – интенсивность рассеянного света

kа – коэффициент диффузного отражения рассеянного света (0 ≤ kа ≤ 1), обычно константа.

Пусть даны два объекта, одинаково ориентированные относительно источника, но расположенные на разном расстоянии от него. Если найти их интенсивность по предложенной формуле, то она окажется одинаковой. Это значит, что когда предметы перекрываются, их невозможно различить, хотя в реальности один объект должен быть темнее другого. Если предположить, что источник света находится в бесконечности, то диффузная составляющая этой модели освещения обратится в ноль. В случае перспективного преобразования сцены в качестве коэффициента пропорциональности диффузной составляющей можно взять расстояние d от центра проекции до объекта. Однако, если центр проекции лежит близко к объекту, то коэффициент 1/ d2 изменяется очень быстро, и разница интенсивности очень велика. Как показывает практика, наиболее приемлемого можно добиться при линейном затухании. В этом случае модель освещения выглядит следующим образом:

 

, где

 

d – расстояние от центра проекции до объекта

K – экспериментальная постоянная

 

В некоторых случаях в простых моделях освещения пользуются эмпирической моделью Буи-Туонга Фонга, которая имеет вид:

 

I = I0*w (i, λ)*cosn α, где

 

w (i, λ) – кривая отражения, представляющая отношение зеркально отраженного света к падающему как функцию угла падения i и длины волны λ.

n – степень, аппроксимирующая пространственное распределение зеркально отраженного света.

 

 
 

Большие значения n обычно характерны для металлов и других блестящих поверхностей, а малые – для неметаллических поверхностей, например, бумаги.

 

Можно отметить, что коэффициент зеркального отражения для некоторых неметаллов может быть всего 4%, в то время как для металлов более 80%.

 

Объединяя результаты модели Фонга и предыдущей модели, можем получить модель освещения следующего вида:

 

 

Функция w (i, λ) достаточно сложна, поэтому ее заменяют константой, которую выбирают из эстетических соображений, либо определяют экспериментально.

 

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

 

Если есть несколько источников света, то их эффекты суммируются. В этом случае модель освещения определяется как:

 

, где

 

m – количество источников света.




<== предыдущая лекция | следующая лекция ==>
Адресация растра | Простейшая модель освещения со специальными эффектами


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


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

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

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


 


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

 
 

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

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