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

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


3.2.4. ВЗАИМНОЕ ПОЛОЖЕНИЕ ТОЧКИ И ОБЪЕКТА

Введенные правила задания примитивов позволяют формальными методами определять взаимное расположение любой точки и конкретного примитива. Зная правила объединения примитивов в объект, возможно определить взаимное положение точки и объекта. Взаимное положение охарактеризуем через признак или функцию принадлежности  (в более краткой записи ), где  – координаты точки;  – обозначение примитива, объекта или другой фигуры. Функция  принимает значение , если точка  находится вне объекта , , если точка лежит на поверхности ; , если точка лежит внутри . В формальных терминах положение точки и примитива определяется следующим образом. Пусть примитив  состоит из   уравнений вида , где знаки функций выбраны по правилу (3.2.2). Тогда

, если ;

, если , где ;

, если , где .

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

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

Таблица 3.2.1 – это правила определения положения точки по отношению к комбинации пары примитивов  и .

Таблица 3.2.1.

-1

-1

-1

0

0

0

1

1

1

-1

0

1

-1

0

1

-1

0

1

1

1

1

0

0

0

-1

-1

-1

-1

-1

-1

0

-1

-1

1

0

-1

-1

0

1

-1

-1

0

-1

-1

-1

-1

0

1

0

0

1

1

1

1

-1

-1

-1

-1

0

0

-1

0

1

Заметим, что если , то  т. е. поверхность фигуры и ее дополнения являются общими.

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

Приведем другой пример (рис. 3.2.12). Объект  сконструирован по правилу , точка  принадлежит косому торцу примитива  и лежит на его оси, т.е. . Соответственно , , . Определим положение точки по отношению к объекту: , , тогда , т.е. точка  не принадлежит объекту, как и показано на рисунке.

75-1.jpg

Рис. 3.2.12. Положение точки  относительно примитивов и объекта

На рис. 3.2.13 показаны два объекта  и , составленные из примитивов  по правилам , . Положение точки  показано на изображениях примитивов; тогда , , . Пользуясь табл. 3.2.1, можно получить: , , т. е. точка  лежит вне объекта . Для второго объекта справедливо ; тогда , т. е. точка  лежит внутри , как и показано на рис.3.2.13.

75-2.jpg

Рис. 3.2.13. Положение точки  относительно примитивов и объекта

 



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