我正在研究一種需要3D「基於體素」引擎的工具。我的意思是它將涉及到從網格中添加和刪除多維數據集。爲了管理這些立方體,我需要一個允許快速插入和刪除的數據結構。我在k-d樹和八叉樹中看到的問題是,由於這些操作,他們似乎經常需要重新創建(或至少重新平衡)。自動平衡(或便宜平衡)的3D數據結構
在我跳入之前,我想獲得有關這方面的最佳方法的意見。
更多的細節:
- 的x,y,z位置是在整數空間
- 需要是足夠有效的實時應用
- 沒有對數量沒有硬性限制將使用的立方體。 在所有的可能性的數量將最經常不合邏輯 低(< 100),但是我想有工具處理多達 立方體儘可能
我想最終的問題是什麼是最好的方式以一種可以處理頻繁插入和刪除的方式來管理本質上的3D點數據?
(不,我不是做的Minecraft)
如果您只需要插入和刪除,請使用帶(x,y,z)的簡單哈希表作爲關鍵字。但我想在某些時候你需要進行空間查詢,對嗎? – fortran
我現在還不確定。我目前的要求實際上並不要求空間查詢,但我可以看到它們在某些時候是必要的。我可能會從簡單的哈希表開始,然後根據需要移動到八分符。謝謝! – Kyle