Вопрос о зеркальном отражении поведения? - PullRequest
5 голосов
/ 28 сентября 2011

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

Ответы [ 2 ]

6 голосов
/ 29 сентября 2011

С физической точки зрения это происходит потому, что:

  • зеркальное отражение возникает в результате отражения света от поверхности материала
  • в результате диффузного отражения светавокруг внутри материал

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

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


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


Редактировать: ссылка в ответ на комментарий Айяппы - механизм, который обычно вызывает зеркальные блики, называется Отражение Френеля .Это классическое явление, зависящее исключительно от показателя преломления материала.

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

2 голосов
/ 29 сентября 2011

Это вопрос поглощения длины волны против отражения.

Во-первых, зеркальных отражений в реальном мире не существует. Все, что вы видите, - это в основном отраженный свет (остальное излучающее или другое), включая рассеянное освещение. Реально, нет никакого реального различия между рассеянным и зеркальным освещением: все это отражение. Также имейте в виду, что реальное освещение не ограничено диапазоном 0-1, как пиксели.

Рассеяние света, отраженного от поверхности, вызвано микроскопической шероховатостью поверхности (микротрещины). Представьте себе, что поверхность состоит из миллионов микроскопических зеркал. Если они все выровнены, вы получите идеальное полированное зеркало. Если все они ориентированы случайным образом, свет рассеивается во всех направлениях, и полученное отражение «размыто». Многие формулы в компьютерной графике пытаются моделировать эту микроскопическую шероховатость поверхности, например Oren – Nayar , но обычно используется простая модель Ламберта, потому что она вычислительно дешева.

Цвета являются результатом поглощения длины волны по сравнению с отражением. Когда световая энергия попадает в материал, часть этой энергии поглощается этим материалом. Однако не все длины волны энергии поглощаются с одинаковой скоростью. Если белый свет отражается от поверхности, которая поглощает красные волны, вы увидите зелено-синий цвет. Чем больше поверхность поглощает свет, тем темнее будет цвет, тем меньше будет возвращаться световой энергии. Большая часть поглощенной световой энергии преобразуется в тепловую энергию, и поэтому черные материалы будут нагреваться на солнце быстрее, чем белые.

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


Дополнительные ссылки и пояснения:

Зеркальные отражения:

Зеркальные отражения отличаются от диффузных только шероховатостью отражающей поверхности. Между ними нет внутренней разницы, оба термина относятся к отраженному свету . Также обратите внимание, что диффузия в этом контексте просто означает рассеивание света, и диффузное отражение не следует путать с другими формами рассеивания света, такими как подповерхностная диффузия (обычно называемая подповерхностным рассеянием или SSS). Зеркальные и диффузные отражения можно заменить такими терминами, как «резкие» и «размытые» отражения света.

Поглощение электромагнитной энергии атомами:

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

Итак, в очень очень простой модели, игнорируя угол падения и другие факторы, скажем, я сияю RGB (1,1,1) на поверхности, которая поглощает RGB (0,5,0,0,75), предполагая, что пропускание не происходит. ваше значение отраженного света - RGB (0,5,1,0,0,25).

Теперь скажите, что вы освещаете RGB (2,2,2) на той же поверхности. Свойства поверхности не изменились. Отраженный свет - RGB (1,5, 2,0, 1,25). Если датчик, принимающий этот отраженный свет, зажимает на 1,0, тогда воспринимается свет - RGB (1,1,1) или белый, даже если материал окрашен.

Некоторые ссылки:

на странице www.physicsclassroom.com

страница на вопрос ученого

Википедия: Атомы

Википедия: Уровни энергии

...