computational-geometry - k-d 树适合保持三角形还是我需要对经典的 k-d 树构建算法进行一些更改?

标签 computational-geometry nearest-neighbor kdtree

我在 wiki 中阅读了 k-d 树描述,wiki 说 k-d 树保留点。我有三角形网格,需要一些结构来有效计算与圆柱体和距离查询的交集。据我了解,如果我按平面分割网格 - 许多三角形可以与该平面相交。那我该怎么办?将三角形的副本放在左右子框中,还是拆分相交的三角形?

最佳答案

您需要拆分相交的三角形。查看任何使用 KD 树的开源光线追踪算法来了解如何执行此操作,或在 Google Scholar 上搜索学术论文。

查看 Surface Area Heuristic 以了解选择分割平面的好方法,它通常用于光线追踪,但可能适用于您的情况。

关于computational-geometry - k-d 树适合保持三角形还是我需要对经典的 k-d 树构建算法进行一些更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13704762/

相关文章:

python - 使用具有多个搜索条件的多个目标变量的 KDtree 在 sklearn 中查找邻居

c++ - 如何有效地将 float 别名为命名成员和数组元素?

algorithm - 在 O(n) 时间内找到重叠约会?

c++ - 两点之间的最近距离(不相交集)

algorithm - 类 Levenshtein 距离度量中的最近邻搜索

algorithm - K-d 树 : nearest neighbor search algorithm

math - 如何确定多边形点列表是否按顺时针顺序排列?

c# - Bentley-Ottmann 算法实现

matlab - 找到两组矩阵之间最近的点对

c++ - 预测 kD 树中所需的预分配节点数