LINUX.ORG.RU

Поиск ближайших вершин

 


0

1

Допустим есть 3D модель, в ней произвольно выбирается вершина отсчета, от которой постепенно необходимо найти все остальные ближайшие вершины, пока не получим все вершины 3D модели (как на анимационной картинке). Как искать ближайшие вершины если их индексы могут быть перепутаны, единственное что мы о них знаем, это позиция каждой формата vector3(x,y,z)?



Последнее исправление: ioexception (всего исправлений: 1)

Ява кодеры настолько суровы, что не в состоянии догадаться до модуля от разности векторов?

mashina ★★★★★
()

Массив с разностью векторов годится если поиск нужно сделать однократно.

Если таких поисков по массиву точек надо делать много, то следует исходный массив отсортировать по одной из координат. Тогда начинать искать от координаты этой произвольной точки в обе стороны.

Как то называется этот алгоритм, он классический, во всех книгах есть.

anto215 ★★
()
Ответ на: комментарий от ioexception

То есть, создать массив с разностью векторов и его уже отсортировать по возрастанию?

В самом простом случае, ещё есть различные пр-ные деревья

mashina ★★★★★
()

ключевое слово «триангуляция», применив которое получишь граф, а далее обходи его как хочешь из любой вершины :-)

MKuznetsov ★★★★★
()
Ответ на: комментарий от iVS

Слишком долго, ты ему еще сферу предложи построить и искать точки, которые в нее попадают. У него один косяк - «индексы перепутаны», иначе и так граф есть, задача тривиально решается.

cnupm
()

Оп, представь себе лепешку (лаваш, но пообъемнее), так вот ты своим поиском начнешь захватывать вершины с, условно, «бекфейса», оно для тебя приемлемо?

cnupm
()

А вообще, ты нам что-то не договариваешь - раз индексы ушатаны, что ты там отрисуешь? Ладно, пойду спать, а то что-то сам с собой разговорился.

cnupm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.