Перейти к содержимому
Compvision.ru
zaza

Триангуляция

Recommended Posts

Здравствуйте! У меня есть набор точек, по которым надо построить полигональную сетку, где полигоны - треугольники. Нашла функцию cvCreateSubdivDelaunay2D. Но в примерах на нее ничего нет. Может ее использовал кто? Или есть другие способы для достижения цели?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В примерах: delaunay.c

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а какие-либо другие способы\функции\алгоритмы есть? у меня нет точной уверенности, что триангуляцию делоне можно будет использовать (не факт, что внутри окружности не будет точек)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тогда я не совсем понял задачу (причем тут окружность?).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Триангуляцией Делоне для множества точек S на плоскости называют триангуляцию DT(S), такую что никакая точка A из S не содержится внутри окружности, описанной вокруг любого треугольника из DT(S), такого, что ни одной из вершин его не является точка A.

У меня же есть набор точек, по которым надо построить полигональную сетку. Есть вероятность, что такой тип триангуляции не подойдет.

И вопрос - есть ли алгоритмы для такого построения ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

по типу этого)

а можно вообще построить поверхность по облаку точек, учитывая близость точек?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тут обсуждалась библиотека для работы с облаком точек:

http://www.compvision.ru/forum/index.php?showtopic=480

Еще CGAL это может.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо) и еще вопрос - cvCreateSubdivDelaunay2D ведь для двумерных точек? а альтернатива для трехмерного есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тоже очень интересует этот вопрос. Вот тут вроде бы расписано, а все равно нифига не понятно...

http://www.wiziq.com/tutorial/20171-feb-21-lecture-one-Algorithms-in-Geometry-and-Topo

Задача усложняется тем, что Convex Hull 3D делает вместо модели "подарочную упаковку" (пример с зайцем отсюда), то есть подходит только для совсем выпуклых моделей без выступающих частей. А триангуляция Делоне соединяет вообще все точки, даже те, которые находятся внутри предполагаемой модели, а в итоге тоже получается "подарочная упаковка", да еще и с кучей вершин внутри.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

и все же интересно, возможна ли, используя возможности OpenCV, триангуляция облака точек внутри контура, да к тому и трехмерная?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×