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

Analysis Situs или как препарировать B-Rep

"... Analysis situs... describes the relative situation of points and lines on surfaces, without consideration of their magnitude" (Henri Poincaré. Analysis Situs. 1895).
Проект Analysis Situs родился благодаря научной работе автора в Нижегородском университете им. Лобачевского. Это открытый, некоммерческий проект, предназначенный для ведения исследований в области геометрического моделирования.

Analysis Situs — это исторически первое название топологии — раздела математики, изучающего наиболее общие геометрические преобразования. Так именовал топологию ее родоначальник Анри Пуанкаре. В переводе с латыни это кудрявое название есть всего лишь «анализ положения», то есть математический аппарат по выяснению общих свойств объектов — их отношений друг с другом. Основной топологический вопрос (по крайней мере, в области геометрического моделирования) — принадлежит ли точка телу. То есть каково положение (situs) точки относительно тела. Это небольшое введение поясняет, почему та программа, о которой пойдет речь, называется Analysis Situs.

Хороший программист, использующий OpenCascade, знает и любит Draw — очаровательную Tcl-консоль, из которой можно вызвать почти любую операцию геометрического ядра, но не только. Draw прекрасно подходит для отладки и профилирования алгоритмов, для интроспекции CAD-моделей, для юнит-тестирования, прототипирования и демонстраций. Не программа, а лампа джинна. Но есть и минусы, в частности, крутой порог вхождения в ряды пользователей этой утилиты. Виртуозное владение Draw приходит спустя месяцы интенсивной работы. Кроме того, получив навык владения консолью, вы не избавитесь от некоторых ограничений, но этот разговор мы продолжим в будущем. Сейчас же мы ограничимся презентацией нового приложения для анализа состава CAD-моделей. Итак, Analysis Situs.

Идея в следующем. Вы грузите свою модель (основной формат входа — STEP) и изучаете ее состав на уровне отдельно взятых граней, ребер и вершин. Выбирая грань, вы видите ее параметрический портрет и несущую поверхность. Ровно то же самое можно сделать в Draw, но ценой много больших усилий.

Сайт приложения находится на ГитЛабе. Скачать последнюю версию можно здесь.