Как отфильтровать список (случайных) вершин по расстоянию между каждой из двух соседних вершин?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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