У меня есть набор известных точек / узлов, нерегулярно расположенных в N-мерном пространстве (N> = 2), и я хотел бы получить способ сгенерировать триангуляцию Делоне этих точек и вернуть соответствующие элементы.
Существуют ли какие-либо библиотеки с сетками, которые будут выполнять триангуляцию ND Делоне?
(Я делаю это, потому что я хочу использовать сетчатые элементы в качестве основы для линейной интерполяции в любой точке пространства. В настоящее время мое измерение обрабатывается классом C ++, расположенным над измерением, если это имеет значение для предложений ...)
Ответы:
Я думаю, что вы можете сделать это с помощью программного обеспечения выпуклой оболочки (например, QHull) с помощью алгоритма подъема. По крайней мере, документация команды delaunayn в matlab, похоже, указывает на это.
источник
Эта функция, кажется, доступна в CGAL
источник
Я также нашел distmesh в Matlab, который, кажется, способен сделать это:
Distmesh Домашняя страница
Он делает тесселяции для конечно-элементных сеток (через QHull), но с хорошим интерфейсом для определения областей / поверхностей на основе функций расстояния. Лучше для случаев, когда вы хотите определить поверхность математически и не обращать внимания на то, где находятся внутренние узлы.
источник