Apakah ada perpustakaan berkinerja kuat untuk mengindeks objek?
Objek akan memiliki batas sendiri, daripada diwakili oleh poin; dan karena itu sebuah objek dapat berada di lebih dari satu kompartemen jika indeks membagi berbagai hal dalam partisi berukuran tetap.
Itu akan membutuhkan pemusnahan dan mengunjungi benda-benda yang terkena sinar serta pencarian lingkungan.
Saya dapat menemukan banyak artikel yang menunjukkan matematika untuk bagian-bagian komponen, sering sebagai aljabar daripada C sederhana, tetapi tidak ada yang menempatkan semuanya bersama-sama (terlepas dari mungkin Ogre, meskipun tampaknya PyOrge tidak mengekspos octree ). Tentunya pembuat game hobi tidak semua harus membuat indeks bela diri mereka sendiri?
(Saya duduk menulis sphere-sphere saya sendiri, sphere-ray, ray-aabb, cone-aabb, cone-fustrum, aabb-fustrum dan implementasi octree; tentu ada cara yang lebih baik yaitu seseorang telah melakukan ini dan membuat paket yang bagus?!?!)
(Python atau C / C ++ w / binding lebih disukai)
Agar adil, Python Octree yang ditautkan telah diposting pada tahun 2006, jadi Python-Ogre mungkin telah mengekspos kelas Octree sekarang.
Namun, melihat melalui sumber-sumber Ogre, saya bisa melihat dua implementasi Octree: satu masuk
Plugins/OctreeSceneManager/OgreOctree.h
dan satu masukPlugins/OctreeZone/OgreOctreeZoneOctree.h
.Jika Anda mengarahkan saya ke salah satu yang perlu Anda buka, saya akan meletakkannya di daftar todo saya untuk bungkus Python saya yang ditulis tangan (tersedia di bitbucket, tertaut di profil saya.)
Bagaimanapun, semoga beruntung. : D
sumber
Saya menemukan beberapa kode untuk implementasi octree Python di sini , hanya dengan googling 'octree python'. ; D
Ini bukan ketergantungan perpustakaan (meskipun awalnya ditulis untuk PyOgre) dan dikomentari dengan baik.
sumber
Setelah gagal mencoba beberapa paket yang disebutkan di atas saya menemukan RTree , yang merupakan pembungkus libspatialindex .
sumber