Existem bibliotecas robustas de desempenho para indexação de objetos?
Os objetos teriam limites próprios, em vez de serem representados por pontos; e um objeto poderia estar em mais de um compartimento se o índice dividir as coisas em partições de tamanho fixo.
Seria necessário selecionar e visitar objetos atingidos por um raio, bem como buscas nas vizinhanças.
Eu posso encontrar muitos artigos mostrando a matemática para as partes componentes, geralmente como álgebra, em vez de C simples, mas nada que junte tudo (exceto talvez o Ogre, embora aparentemente o PyOrge não exponha o octree ). Certamente os criadores de jogos de hobby nem todos têm que criar seus próprios índices espartiais?
(Estou sentado escrevendo minha própria implementação esfera-esfera, raio-esfera, raio-aabb, cone-aabb, cone-fustrum, aabb-fustrum e octree; certamente há uma maneira melhor, ou seja, alguém já fez isso e faça uma pacote legal?!?!)
(Python ou C / C ++ com ligações preferenciais)
Para ser justo, o Python Octree vinculado foi publicado em 2006, então o Python-Ogre pode muito bem ter exposto a classe Octree até agora.
No entanto, olhando as fontes do Ogre, posso ver duas implementações do Octree: uma
Plugins/OctreeSceneManager/OgreOctree.h
e outraPlugins/OctreeZone/OgreOctreeZoneOctree.h
.Se você me indicar o que você precisa expor, eu o colocarei na minha lista de tarefas para o meu próprio invólucro Python escrito à mão (está disponível no bitbucket, vinculado no meu perfil).
De qualquer forma, boa sorte. : D
fonte
Encontrei algum código para uma implementação octree do Python aqui , pesquisando 'octree python' no Google. ; D
Não é dependente da biblioteca (embora originalmente escrito para o PyOgre) e seja bem comentado.
fonte
Após tentar, sem êxito, alguns dos pacotes mencionados acima, encontrei o RTree , que é um invólucro do libspatialindex .
fonte