¿Hay alguna biblioteca robusta de rendimiento para indexar objetos?
Los objetos tendrían límites, en lugar de estar representados por puntos; y, por lo tanto, un objeto podría estar en más de un compartimento si el índice divide las cosas en particiones de tamaño fijo.
Necesitaría el sacrificio y la visita de objetos golpeados por un rayo, así como búsquedas en el vecindario.
Puedo encontrar muchos artículos que muestran las matemáticas para las partes componentes, a menudo como álgebra en lugar de simple C, pero nada que lo reúna todo (aparte de quizás Ogre, aunque aparentemente PyOrge no expone el octree ). ¿Seguramente los creadores de juegos de pasatiempos no tienen que hacer sus propios índices parciales?
(Estoy sentado escribiendo mi propia esfera-esfera, esfera-ray, ray-aabb, cone-aabb, cone-fustrum, aabb-fustrum y octree implementación; seguramente hay una mejor manera, es decir, alguien ya ha hecho esto y ha hecho un ¡¿¡¿lindo paquete?!?!)
(Python o C / C ++ con enlaces preferidos)
Para ser justos, el Python Octree vinculado se publicó en 2006, por lo que Python-Ogre podría haber expuesto la clase Octree por ahora.
Sin embargo, mirando a través de las fuentes de Ogre, puedo ver dos implementaciones de Octree: una en
Plugins/OctreeSceneManager/OgreOctree.h
y otra enPlugins/OctreeZone/OgreOctreeZoneOctree.h
.Si me señala el que necesita exponer, lo pondré en mi lista de tareas para mi propio envoltorio de Python escrito a mano (está disponible en bitbucket, vinculado en mi perfil).
De todos modos, buena suerte. :RE
fuente
Encontré un código para una implementación de Python Octree aquí , simplemente buscando en Google 'Octree Python'. ;RE
No depende de la biblioteca (aunque originalmente se escribió para PyOgre) y está bien comentado.
fuente
Después de probar sin éxito un par de los paquetes mencionados anteriormente, encontré RTree , que es un contenedor alrededor de libspatialindex .
fuente