2012-02-28 39 views
5

我前幾天在讀關於Kd-Trees的內容,我正在尋找一個具體/簡單的情況,這種數據結構可能有用。何時使用Kd-Trees?

有沒有人有這樣的例子?

感謝,

+4

它們用於放射線將場景分解爲幾個盒子。它加速了碰撞,因爲如果光線不與邊界框碰撞,它肯定不會與其內容碰撞。 – Blender 2012-02-28 19:33:43

+1

@Blender然後讓它成爲答案。 – delnan 2012-02-28 19:42:50

+0

在3D中查找最近點。 – Jack 2012-02-28 19:42:58

回答

6

我用它們作爲一種有效的方式找到機器學習給定點的最近的鄰居。

3

它們用於放射線將場景分解爲幾個盒子。它加速了碰撞,因爲如果光線不與邊界框碰撞,它肯定不會與其內容碰撞。

1

我在定價項目中使用它們。目標是找到符合多個標準的最佳價格。

5

我用kd-tree來模擬通過波浪產生的噴霧的光傳輸。這使得不僅可以照亮燈泡的噴霧液滴,而且還可以噴射來自其他液滴的間接照明。我將一些點噴入kd樹中,然後用kd樹快速找到彼此相鄰的點,從而確定哪些水滴被相互照射。 (實際上,它有點複雜,但結構仍然是一棵kd-tree。)這使得通過噴霧呈現出一種不錯的光芒。以下是使用中的方法的圖片。不是周圍的燈光散射光如何發光。 Simulated light transport