Алгоритм реконструкции трехмерной поверхности - PullRequest
4 голосов
/ 05 декабря 2008

У меня есть 3D поверхность (например, конус). Он проецируется на 2D-план в форме контура, что означает, что разные Z будут иметь разные линии на 2D-плане. Проблема из контура, как восстановить 3D поверхность с помощью интерполяции? Мы знаем только о разнице z между разными линиями контура.

Ответы [ 2 ]

7 голосов
/ 05 декабря 2008

Технический термин для "контуров", который вы упомянули, - "изо-линии".
Учитывая набор изо-линий, вам сначала нужно построить облако точек в 3D (просто набор точек в 3D-пространстве). Вы делаете это в два этапа. сначала путем выборки каждой изо-линии через равные интервалы, вы получаете 2D точки, а затем вы поднимаете точки на соответствующую высоту.
Сэмплирование линии с одинаковыми интервалами может быть легко выполнено путем ее отслеживания. Вы можете узнать высоту линии, начав с самой внешней линии и проведя линии одну за другой внутрь, удаляя каждую линию, которую вы отслеживаете, и отслеживая количество линий, которые вы проследили. Конечно, вам нужно заранее знать, какова разница в высоте между линиями и какова высота самой внешней линии (или любой другой линии, которая может использоваться в качестве справочной)

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

2 голосов
/ 29 декабря 2009

Алгоритм реконструкции поверхности в этом случае будет пустой тратой времени, если ваши точки находятся в точке z = f (x, y) или ваша форма выпуклая.

Для z = f (x, y) простое решение

  1. триангуляция Делоне с использованием только координаты x, y
  2. нанесите на поверхность поверхность с предыдущей триангуляцией, на этот раз также используйте z. Работа выполнена!

Ваша форма является выпуклой, используйте алгоритм "заливки"

Ваша форма вогнутой формы: http://www.advancedmcode.org/surface-recostruction-from-scattered-points-cloud-mycrust-robust.html

...