我正在C++中實現八叉樹,後者應該包含用於渲染的網格。但目前我正在爲八叉樹的建設而努力。更確切地說,它是導致問題的addNode()函數。我認爲類似於一二進制樹的遞歸實現的: Binary Tree implementation C++如何在C++中構造八叉樹
然而,在一個八叉樹的每個節點具有8個兒子和不僅2。此外,所以不能用一個簡單的開關(左/右),如二叉樹決定在哪裏添加節點。我需要檢查8個兒子中的一個是否爲空(指針爲NULL),如果沒有指針爲空,我需要用其中一個兒子作爲參數調用add函數。然而,這將導致一個八叉樹,總是第一個兒子將包含所有後續子八分音符。這個添加函數是如何實現的,並避免了這個問題?
在我讀[Octree的維基](http://en.wikipedia.org/wiki/Octree)之前,我從來沒有聽說過他們(不是3D傢伙,Sry)。就像Phpnda的答案那樣簡單(並且被公認是隱晦的),它與所需要的東西並沒有太大的區別。每個孩子代表整個父母的空間立體感。 「中心」(或起源)是父母,3D座標指示哪個可移動到該過程重複的地方。網上有很多例子。感謝大腦的食物! – WhozCraig