前几天,我正在阅读 kd-trees 。我一直在寻找一个具体而简单的情况,这种数据结构可能很有用。有没有人有这样的例子?
答案 0 :(得分:7)
我已经将它们用作查找机器学习的给定点的最近邻居的有效方法。
答案 1 :(得分:7)
我使用kd树来模拟通过波浪产生的喷雾的光传输。这使得可以渲染不仅仅被灯照亮的喷雾液滴,而且可以产生来自其他液滴的间接照明。
我将喷射点存放在kd树中,然后使用kd树快速找到彼此靠近的点,从而相互照亮了哪些水滴。 (实际上,它有点复杂,但结构仍然是kd树。)这使得通过喷雾呈现出漂亮的光芒成为可能。
以下是使用方法的图片。
注意灯光周围的喷雾如何散射光线。
答案 2 :(得分:4)
它们用于光线加工,将场景分解成几个方框。它加速了碰撞,因为如果光线不与边界框碰撞,它肯定不会与其内容发生碰撞。
答案 3 :(得分:1)
VTK有一个:http://www.vtk.org/doc/nightly/html/classvtkKdTree.html为例。
查看FindClosestPoint
等功能。在给定大量输入点的情况下,该类需要相对较长的时间来构建。但是在构建树之后,像这样的函数运行得非常快。
答案 4 :(得分:1)
我在定价项目中使用它们。目标是找到符合多个标准的最佳价格。