Генерация сетки из точек с координатами x, y и z - PullRequest
38 голосов
/ 03 февраля 2011

Проблема: Создание сетки из трехмерных точек (с координатами x, y и z).

enter image description here

enter image description here

То, что у меня есть, это точки в трехмерном пространстве (с координатами x, y и z), вы можете увидеть их на рисунке 1.
На выходе получится изображение 2 или изображение 3, или изображение 4. Короче говоря, это будет меш. Материал на нем может быть предоставлен, если у меня есть сетка.

Я видел, как многие люди говорят, что триангуляции Делоне или ограниченные триангуляции Делоне помогут мне в генерации сетки, но в основном я обнаружил, что это реализация в 2D точках (только с координатами x и Y).

Но моя проблема в том, что у меня есть точки в 3D, как вы можете видеть на рисунке 1.

Будут ли триангуляции Делоне или ограниченные триангуляции Делоне нормально работать с 3D точками? Если да, то как? Или мне нужно найти другой алгоритм генерации сетки из трехмерных точек?

Примечание: Одно хорошее объяснение триангуляции Делоне для 2D-точек можно найти здесь

Ответы [ 3 ]

24 голосов
/ 04 февраля 2011

Вот еще несколько хороших ссылок для генерации сетки и связанной с ней работы.

TetGen: Качественный тетраэдрический генератор сетки http://wias -berlin.de / software / tetgen /

CGal - Библиотека алгоритмов вычислительной геометрии http://www.cgal.org/. http://www.cgal.org/Manual/latest/doc_html/cgal_manual/packages.html#Pkg:Triangulation3. http://www.cgal.org/Manual/latest/doc_html/cgal_manual/contents.html#part_VI.
http://www.cgal.org/Manual/latest/doc_html/cgal_manual/Surface_reconstruction_points_3/Chapter_main.html.
3D Генерация Поверхностной Сетки - http://www.cgal.org/Manual/3.3/doc_html/cgal_manual/Surface_mesher/Chapter_main.html

Библиотека GTS - Библиотека триангулированных поверхностей GNU. http://gts.sourceforge.net/index.html

Джонатан Шевчук - http://www.cs.berkeley.edu/~jrs/ http://www.cs.cmu.edu/~quake/robust.html

VTK: Visualization Toolkit (VTK) - это свободно доступная программная система с открытым исходным кодом http://www.vtk.org/.

Объем и поверхностная сетка - http://www.cse.ohio -state.edu / ~ tamaldey / mesh.htm .

Poly2Tri: Библиотека CDT с открытым исходным кодом http://code.google.com/p/poly2tri/.

CM2Mesh Tools - http://www.computing -objects.com / index.php .

Адаптивная тесселяция - http://fluxionsdividebyzero.com/p1/math/geometry/g046.html#_3D

CUBIT - Набор инструментов CUBIT Geometry and Mesh Generation. http://cubit.sandia.gov/index.html

Геометрия в действии - http://www.ics.uci.edu/~eppstein/geom.html

SlimDX - SlimDX - это бесплатная платформа с открытым исходным кодом, позволяющая разработчикам легко создавать приложения DirectX с использованием технологий .NET, таких как C #, VB http://slimdx.org/

17 голосов
/ 03 февраля 2011

3D триангуляция Делони приведет к (3D) объемной сетке.Я предполагаю, что вам нужна (2D) поверхностная сетка, встроенная в 3D, которая приближается к заданному набору точек.

В зависимости от типа данных (малый или большой шум, выбросы и т. Д.) Вы можете использовать различные подходы,Обратите внимание, что вы всегда можете предварительно обработать данные (например, для удаления выбросов, сглаживания данных или оценки нормалей).

  • Для ориентированной точки, установленной с небольшим шумом и без выбросов, вы можетерассмотрим реконструкцию поверхности Пуассона (например, в Майкл Каждан, М. Болито и Хьюг Хоппе. Реконструкция поверхности Пуассона. В Symp. по обработке геометрии, стр. 61-70, 2005 .).
    Обратите внимание, что вы можете предварительно обработать свои данные для полного удовлетворения требований, см., Например, Нормальная оценка .Вот библиотека C ++, реализующая реконструкцию поверхности Пуассона (с хорошими объяснениями): Реконструкция поверхности CGAL из наборов точек

  • Данные о рассеянных точках см., Например, Ohtake, Y .;Беляев, А. и Зейдель, HP. Многомасштабный подход к трехмерной интерполяции рассеянных данных с компактно поддерживаемыми базовыми функциями Shape Modeling International, 2003, 2003, 153-161 .Он использует иерархический подход для создания нескольких уровней интерполяции.

  • Другой подход для сильно неоднородных или зашумленных рассеянных данных - Чжао, Х.-К .;Ошер, С. & Федкив, Р. Быстрое восстановление поверхности с использованием метода установки уровня Вариационные и методы набора уровня в компьютерном зрении, 2001. Труды.IEEE Workshop, 2001, 194-201 .Используются вариационные методы и PDE (особенно методы установки уровня).

1 голос
/ 05 августа 2015

ENigMA - Разработанный в основном для решения задач PDE, он также имеет ограниченный генератор поверхности и объема. Все еще не уверен, собираюсь ли выпустить его как открытый исходный код в будущем.

https://www.sites.google.com/site/billyaraujo/enigma/volume-mesh-generation

...