Instant Self-Intersection Repair — исправление пересечений 3D-мешей

Instant Self-Intersection Repair for 3D Meshes — инструмент для автоматического устранения самопересечений в трёхмерных моделях. Он предназначен для специалистов, работающих с 3D-графикой и моделированием, которым требуется очистить меши от геометрических дефектов.
Возможности и состав проекта
Проект позволяет запускать процесс исправления как в фоновом режиме, сохраняя промежуточные и итоговые результаты, так и с интерактивной визуализацией. В режиме визуализации с помощью Polyscope можно пошагово отслеживать процесс оптимизации, наблюдать за изменением меша и видеть области пересечений, подсвеченные цветом. Статистика показывает текущий шаг, количество столкновений, потери от проникновения и регуляризации, а также лучшее найденное решение.
Начало работы и требования
Для работы проекта требуется Python 3.x, PyTorch (с поддержкой CUDA) и несколько дополнительных библиотек, включая torch-mesh-isect для обнаружения столкновений. Установка torch-mesh-isect требует сборки CUDA-расширения, что может быть чувствительно к окружению и версии CUDA. В репозиторий включена форкнутая версия torch-mesh-isect с исправлениями для современных сред.
Ограничения и выбор сценария
Исправление самопересечений не равнозначно полной подготовке меша к печати или физической симуляции: отдельно проверяются замкнутость, вырожденные элементы и сохранение формы. Слово Instant в названии не гарантирует время обработки любого объекта. CUDA-расширение чувствительно к GPU и версиям инструментов; изучите статистику оптимизации и итоговую геометрию перед заменой оригинала.
Лицензия и условия использования
GitHub не определяет однозначную стандартную лицензию этого репозитория. Условия использования нужно проверить в README, LICENSE и документации авторов; доступность файлов на GitHub сама по себе не разрешает любое распространение или коммерческое использование.





