Создать LevelSet из облака точек

Я довольно новичок в OpenVDB. Заранее извиняюсь, если этот запрос звучит тривиально.

Я хочу построить неявную поверхность из набора неорганизованных точек данных. Я хочу знать, как я могу сделать это с помощью OpenVDB.

В настоящее время я делаю это следующим образом: ( здесь)

  1. Вычислить функцию расстояния на прямоугольной сетке до произвольного набора данных.
  2. Найти начальную поверхность для алгоритма градиентного потока
  3. Решите зависящий от времени PDE для функции установки уровня

Я хочу упомянуть, что я просто использую простую регулярную сетку для вышеупомянутых трех шагов.

Пример создания и записи сетки из примеров кода очень похож на то, что я хочу, за исключением того, что я хочу заменить набор уровней сферы на уровень, установленный из облака точек.

Есть ли способ, которым я могу построить набор уровней из утилит в tools пространство имен для построения набора уровней из облака точек? Я вижу ParticlesToLevelSet как нечто похожее на то, что я хочу сделать. Может ли кто-нибудь любезно поделиться примером?

0 ответов

Мне также интересно найти ровную поверхность неструктурированного облака точек.

Лучшее, что я смог найти, - это статья, в которой описан алгоритм для этого. У автора есть и другие статьи по этой теме. Однако я не нашел кода, реализующего этот тип алгоритма.

https://www.cs.drexel.edu/~david/Papers/Linsen_TVCG.pdf

Другие вопросы по тегам