是否有任何方法可以在四叉樹細分中查找相鄰單元格?我的意思是在任何層次上與所選單元相鄰的所有單元格?QuadTree中的相鄰單元格
1
A
回答
2
空間填充曲線填充空間完整性並將2維減小到1維。我已經在phpclasses.org(hilbert曲線)上寫了一個免費的php類。它包括一條z曲線,4條希爾伯特曲線和摩爾曲線以及一個quadkey函數。這是一個關於碰撞檢測和四叉樹的博客:lab.polygonal.de/?p = 202?
甲莫頓又名Z-曲線很容易構造。將x值和y值轉換爲二進制值並連接值。你可以在這裏找到一些代碼:http://msdn.microsoft.com/en-us/library/bb259689.aspx。您可以通過使用最高有效位來驗證上限。
0
您需要跟蹤節點是哪個孩子。如果相鄰節點在同一父節點中,則只需返回它。如果沒有,你需要在樹上向上走,直到找到一個共同的祖先。然後沿着類似的路徑向下,直到你回到正確的水平(或達到底部)。
Node WalkLeft(Node node)
{
if (node == null) return null;
Node leftParent;
switch (node.ChildDirection)
{
case ChildDirection.Root:
return null;
case ChildDirection.TopRight:
return node.Parent.TopLeft;
case ChildDirection.BottomRight:
return node.Parent.BottomLeft;
case ChildDirection.TopLeft:
leftParent = WalkLeft(node.Parent);
return leftParent.TopRight ?? leftParent;
case ChildDirection.BottomLeft:
leftParent = WalkLeft(node.Parent);
return leftParent.BottomLeft ?? leftParent;
}
}
對於其他方向類似。
x ?? y
選取第一個非空值。
相關問題
- 1. 在GPU上使用Quadtree中的相鄰單元格
- 2. 搜索相鄰單元格
- 3. Excel:相鄰單元格
- 4. 計數相鄰單元格
- 5. QuadTree查找鄰居
- 6. 桌單元格中的圖片不對齊相鄰單元格
- 7. Openpyxl填充相鄰的單元格
- 8. jquery搜索表格單元格 - >更新相鄰單元格
- 9. numpy陣列中多個單元格貼片的相鄰單元
- 10. 在Excel中與相同單元格的單元格相鄰的單元格的數量和比例
- 11. VBA複製相鄰單元格
- 12. Excel VBA:用相鄰單元格值填充空單元格
- 13. 基於相鄰單元格值更改單元格值
- 14. 在Excel中選擇具有特定值的單元格的相鄰單元格
- 15. 條件格式Excel中的多個相鄰單元格
- 16. 4X4網格中的哪些單元格彼此相鄰?
- 17. 使用excel VBA顯示相鄰單元格中單元格值的變化
- 18. 在Excel中獲取當前單元格周圍的相鄰單元格值VBA
- 19. 根據相鄰單元格中的值查找並清理excel單元格
- 20. 在Array中查找單元格並獲取相鄰單元格的值?
- 21. 檢查範圍內的Excel中的相鄰單元格
- 22. 設置單元格的名稱等於相鄰單元格的值
- 23. 如果單元格匹配任一列中的單元格返回相鄰單元格文本
- 24. 在Excel中當相鄰單元格相等時的條件格式
- 25. 基於相鄰單元格的條件格式值
- 26. 如何引用Apex表格形式的相鄰單元格?
- 27. (Excel)基於相鄰單元格的條件格式化,整列
- 28. 如何突出顯示與匹配相鄰單元格的單元格
- 29. 活動單元格的邊框不應延伸到相鄰單元格
- 30. 使用VBA填充基於相鄰單元格信息的單元格
感謝Chibox,從編程的角度來看更詳細? – abenci
我仍然很難看到我的問題和z曲線之間的聯繫。 – abenci
沒有運氣。我需要找到與所選單元相鄰的單元格,即使在很遠的距離上,我也不明白z曲線如何幫助,對不起。 – abenci