Manifold Geometry // Многообразная Геометрия

Проверка самопересечений контура грани

/ Просмотров: 1670
"In games, collision detection and response can effectively be governed by "if it looks right, it is right." Other applications have stricter accuracy requirements. [Real-Time Collision Detection — Christer Ericson]

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

Рис. 1. Подавление изолированного скругления нарушает геометрическую целостность модели.

В параметрическом пространстве грани, т.е. в области ее определения, может измениться число компонент связности, которое, в случае подавления скруглений, должно оставаться инвариантом (Рис. 2).

Рис. 2. В параметрическом пространстве грани возникают самопересечения контура. Как следствие, область определения грани становится многосвязной.

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

Рис. 3. Результат проверки самопересечений.

В программе «Анализ Положения» проверку самопересечений контура для выбранной грани выполняет команда check-self-inter.