Файл: Учебник для вузов. М Издво мгту им. Баумана, 2002, 336 с. Теоретические основы сапр Учебник для вузов Корячко В. П., Корейчик В. М., Норенков И. П. М. Энергоатомиздат, 1987, 400 с.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 126

Скачиваний: 10

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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


Например, пусть объект составлен из примитивов О = (П1 – П2) – П3. Световой луч пересекает эту комбинацию в точках 1 – 6. Ближайшей к источнику луча (т.е. к экрану) будет точка 1. Функции принадлежности этой точки и примитивов принимают значения: (X1, Y1, Z1; П1) = –1, (X1, Y1, Z1; П2) = 0, (X1, Y1, Z1; П3) = –1, тогда (X1, Y1, Z1; П1 – П2) = –1, (X1, Y1, Z1; (П1 – П2) – П3) = –1. Следовательно, точка 1, будучи ближайшей к источнику луча
, не является видимой, так как находится вне объекта. Подобным образом анализируются остальные точки и так до исчерпания всех точек. Таким образом, либо констатируется факт непересечения луча и объекта, либо определяются координаты видимой точки.

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

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