Точная средняя ось, поверхности, скелетонизация трехмерных многогранников - PullRequest
2 голосов
/ 06 апреля 2011

Я заинтересован в поиске программного обеспечения для вычисления точной медиальной оси (или вашего выбора!) Трехмерного многогранника.Я предполагаю, что на выходе будет список треугольных граней, возможно, ребер и вершин, представляющих узлы, листы и швы медиальной поверхности.В идеале мне бы хотелось что-то, что могло бы обрабатывать все многогранники, включая вогнутые формы (в этом случае треугольных граней недостаточно), но я был бы очень рад найти что-то, что могло бы обрабатывать выпуклые многогранники.

Позвольте мне сначала рассказать оизвестные мне программы:

Существуют различные "приблизительные" методы, которые предполагают, что форма, которую я преобразую, представляет собой сложную поверхность и рассеивает плотные точки на поверхности.
Один из этих методовэто программное обеспечение powercrust, предоставляемое http://www.cs.ucdavis.edu/~amenta/powercrust.html (хотя как правильно определять файлы точек для этого программного обеспечения, чтобы правильно обрабатывать вогнутые случаи, я не уверен)

Другой приблизительный метод интегрирован в Tight Cocone(* 1 010 * -state.edu / ~ tamaldey / cocone.html).Это, опять же, плотно распределяет точки на поверхности и использует диаграмму Вороного, чтобы сходиться к медиальной оси.Существует версия «улучшенной средней оси для моделей CAD», которая использует тот факт, что поверхность точно известна.Однако эта улучшенная модель не включена в распределенный код.

Существует код Matlab, например, "skeleton in 3D", Джанни Скена (http://www.mathworks.com/matlabcentral/fileexchange/4917-skeleton-in-3d), который использует несколько простых методов, основанных на расстояниипреобразование. Все еще приблизительное.

Видимо, приближенные методы могут страдать от определенных типов числовой нестабильности, давая поверхности "шипы". Кроме того, они генерируют очень большую структуру данных граней и вершин. То, что я хочу, является точнымпредставление средней оси / поверхности многогранника (например, куба), который должен иметь очень простую и небольшую структуру данных.

В [2004, Culver, Keyser, and Manocha, Точное вычисление средней осимногогранник], метод вычисления точной медиальной оси многогранника, был опубликован, однако я не могу найти никакого программного обеспечения, где кто-то фактически реализовал бы этот метод.

Кто-нибудь знает что-нибудь или есть что добавить к моемунебольшой опыт в программном обеспечении трехмерной медиальной поверхности?

1 Ответ

2 голосов
/ 01 октября 2011

Проверьте трансформацию оси трехмерного масштаба из Miklos в SIGGRAPH 2010. Сигма контролирует масштаб, на 1 это точная медиальная ось, но чтобы удалить срединные волоски, вы можете просто немного их увеличить ...

...