Выдавливание без самопересечения

#graphics #3d #mesh

#графика #3D #сетка

Вопрос:

У меня есть сетка, состоящая из треугольников или четырехугольников, и мне нужно ее выдавливать.

К сожалению, я обнаружил, что сетка имеет внутренние ячейки, а затем я создаю самопересекающиеся твердые тела. Вот кошка, которая содержит внутренние треугольники для того, что я могу только предположить, это рот и язык. Более близкое изображение может пролить некоторый свет на сетку.

клип

масштабирование

Есть ли библиотека, которая может помочь мне создавать экструдированные твердые тела, которые не являются самопересекающимися? VTK и CGAL оба говорят, что это может привести к самопересечению.

В качестве альтернативы, есть ли известный алгоритм, который может мне помочь?

Комментарии:

1. изображения, сопровождающие ваш вопрос, могут быть полезны

2. @Makogan вы правы, я добавил два изображения, надеясь, что это может прояснить проблему.

3. Вот дикая сложная идея, есть статья о вычислении количества вершин намотки в 3D. Возможно, вы могли бы использовать это и удалить все внутренние вершины, а затем попытаться вставить то, что осталось?

4. @Makogan спасибо за ответ. Ну, не так уж и сложно, но это кардинально изменило бы сетку. Я надеюсь оставить сетку такой, какая она есть, если это возможно.