Как отфильтровать список (случайных) вершин по расстоянию между каждой из двух соседних вершин?C++

Программы на C++. Форум разработчиков
Anonymous
Как отфильтровать список (случайных) вершин по расстоянию между каждой из двух соседних вершин?

Сообщение Anonymous »

Вот моя предыстория проблемы: у меня есть сетка поверхности и список вершин (эти вершины генерируются путем пересечения сетки поверхности с другой сеткой с использованием CGAL), показанных синими точками следующим образом: p>
Изображение

< img alt="введите описание изображения здесь" src="https://i.sstatic.net/ps2ZISfg.png" />
Поскольку вершины расположены слишком близко, я хочу отфильтровать Эти вершины так, что расстояние до оставшихся вершин примерно равно длине целевого ребра (первая соседняя вершина, расстояние которой превышает длину целевого ребра).
Чтобы получить то, что я хочу, я думаю, что первым шагом следует переставить вершины, поскольку эти вершины хранятся в векторе случайным образом; затем вычислите расстояние между i-й вершиной и i+1-й вершиной и отфильтруйте вершины, которые находятся слишком близко. Но я не знаю, как это реализовать.
Или, если у вас есть лучший алгоритм, не могли бы вы помочь мне решить эту проблему?
Я признателен, если любой мог решить эту проблему. Спасибо.
Для реализации этого я использую C++ и CGAL

Подробнее здесь: https://stackoverflow.com/questions/787 ... -of-the-tw

Вернуться в «C++»