Показать все 11 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Поиск ближайшего соседа для точки в пространстве (https://hlfx.ru/forum/showthread.php?threadid=5535)
Поиск ближайшего соседа для точки в пространстве
Есть у меня список точек с их координатами, находящихся в рандомных местах на карте. Стоит задача найти соседей возле определенной точки в пространстве в некоем радиусе из этого списка. Как это можно сделать быстрее, чем линейным перебором? Учитывая, что все это происходит в контексте голдсурса, где можно BSP-дерево использовать для каких-то своих целей.
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
kd деревья хорошо для этого подходят
А сам алгоритм в чем заключается? Со всякими деревьями и теорией информатики у меня пока дела плохо обстоят, было бы хорошо если кто-то указал где можно найти информацию по этой теме.
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
SNMetamorph алгоритм есть на википедии
https://ru.wikipedia.org/wiki/K-d_%...%B5%D0%B2%D0%BE
Если дела плохо обстоят, можно другие варианты рассмотреть. Ты говоришь про БСП - точки являются частью карты, и для них уже построено дерево?
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
SNMetamorph ты можешь их в AABB-tree затолкать, типа того, в которое линкуются энтити в квейке-халфе. KD-tree там избыточно, его сложнее строить.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Проблема еще в том, что они могут постоянно менять своё расположение.
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
PrimeXT
GoldSrc Monitor
SMD Splitter
mdl-flip (gFlip analog)
Xash3D Modding Discord
Делишь боксы до желаемого объема и линкуешь к ним все объекты, которые имели неосторожность их пересечь. Ну или полностью уместились внутри.
Это немного разные типы деревьев, в вики можешь глянуть.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 11:08. | Показать все 11 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024