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

Архивы

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

"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.