【发布时间】:2018-06-04 19:28:52
【问题描述】:
我目前对 kd-tree 的理解是;在每个节点上,我们将点分成两个相同大的组,用于一个轴。
我们遍历各个轴直到树饱和。
当然,这种数据结构对于光线追踪应用程序很有趣,因为我们不必搜索每个三角形面来测试我们与光线的交点,我们只需知道三角形可能在哪里会与我们的射线相交。
我对这是如何完成的有一些疑问。
我们如何处理无法轻松拆分的奇怪三角形(与其他三角形相交的三角形或跨越整个三角形的三角形?
我们是在三角形上分割还是在顶点上分割?
我们如何测试从相机发出的光线的交点?
我看到了几种方法。首先,我们可以从场景和分割平面构建边界框并测试与这些框的相交,或者我们可以测试与分割平面的相交并查看相交相对于相机的位置
【问题讨论】:
-
我会在不同的帖子上询问您的每个问题(显然,这些问题可能没有微不足道的解决方案)。此外,这个问题最好在cs.stackexchange.com 上提出。
-
@nbro 你会这么好心并提供一个链接,当我在谷歌中输入“intersection test kd tree”时,这篇文章是最好的结果,其次请不要再编辑这篇文章,你是只是让它更难读,第三,因为这些问题都与与 kd 树的交叉测试的高度具体的主题有关我不认为用三个问题淹没询问队列会是有益的
标签: data-structures geometry raytracing