Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


3.3.3. ОПРЕДЕЛЕНИЕ ЗАТЕНЕННЫХ ТОЧЕК

Множество точек объекта, видимых множеством рецепторов, качественно различается между собой. Одни точки освещаются прямыми лучами света, другие – находятся в тени. Алгоритм вычисления освещенности для этих групп точек существенно различается, поэтому предварительно следует установить признак освещенности – затененности для каждой видимой точки. Идея решения определяется очевидным фактом: видимая точка находится "на свету", если она не загораживается от источника другими поверхностями, или, другими словами, эта точка является ближайшей к источнику света среди всех остальных, лежащих на световом луче [73].

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

82.jpg

Рис. 3.3.2. Определение факта затененности точки

Среди множества точек-решений отбирают действительные, а затем среди последних – ближайшую точку к точечному источнику и одновременно лежащую на поверхности объекта.

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

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

Когда же видимая рецептором точка не является ближайшей к источнику света, то она затенена, т.е.  затенена, если .

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

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

 



<< ПредыдущаяОглавлениеСледующая >>