7

二維空間索引的問題:什麼是無限無標度四叉樹稱爲?

你叫什麼數據結構,本質上是一個無限的*四叉樹,其節點既不含絕對座標也不是絕對的尺度 - 在其中協調各節點的系統已被標準化爲單位平方(0,0) - (1,1),並且頂層節點不是絕對固定的?

當然是四叉樹 - 但是四叉樹的型號是是嗎? (有沒有一個共同的名字?我已經看過幾十種類型的四叉樹,在文獻中被命名和定義,但不是這個特定的。)

爲了渲染一個場景,給你一些起始節點(不一定是根節點),其大小(以像素爲單位)及其在屏幕上的位置。然後通過使用當前轉換矩陣縮放它們的座標來繪製節點內的所有對象,當您沿着樹向下推動堆棧並將其減半時。因此,節點的絕對座標只能在渲染期間通過臨時工作變量使用,並且不包含在數據結構本身內。

如果節點內的某個對象移動到該節點的外部(例如,在單位正方形之外),則將其傳遞給父級以重新分配給另一個節點。如果一個物體變成碎片(例如,小行星擊中小行星),較小的部分會傳遞給子節點,子節點必須適當縮放座標以保持每個節點內的單位平方歸一化。

與用於空間索引的傳統四叉樹實現的關鍵區別在於,對象的座標總是相對於它們所包含的節點的座標系。這種相對主義不僅適用於地位,而且適用於規模。

*無限的缺乏絕對座標;即使是雙精度浮點座標,在用於絕對定位時也會限制位置和大小。

+3

Fred? (開玩笑)。 – bmargulies 2010-02-07 03:27:52

回答

1

你聽起來像一個四叉樹網格。在每個整數座標的平方之間,你似乎是在網格的那部分上構建一個四叉樹。

2

是啊這是一個呃......「包裹網格嵌套四叉樹」?如果這是您用於網格座標的值,那麼您僅限於最高和最低的int32值。