首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >递归射线遍历算法-遍历k-d树

递归射线遍历算法-遍历k-d树
EN

Stack Overflow用户
提问于 2011-07-01 19:03:49
回答 1查看 1.1K关注 0票数 3

我选择了一种基于堆栈的遍历算法(递归射线遍历算法),我对它的理解有点困难。

这是我所理解的。

我需要找到一个点,光线进入体素(然后计算距离射线起源和那个点)它存在的地方(然后计算出射线起源和那个点之间的距离),射线起源和平面之间的距离(在一些论文中我看到了公式:

代码语言:javascript
运行
复制
(splitPoint - rayOrigin[currentAxle]) / rayOrientation[currentAxle]

我的射线方向是(0, 0, -1),在某些情况下,我将用零除以(因为x = 0y = 0)。这怎么可能呢?

在算法的初始阶段,射线起源在主体素中,如何求出射线进入体素的距离?

我理解得对吗?有人能解释一下吗?

EN

回答 1

Stack Overflow用户

发布于 2013-06-04 07:21:36

它来自于“从理论到实现的基于物理的渲染”一书.

两种情况下,节点的两个子节点不需要处理,因为射线不重叠它们。

(a)顶部射线在射线的t_max位置之外与分裂平面相交,因此不进入远子层。底部射线远离分裂面,用负的t_split值表示。

(b)射线在射线的t_min值之前与平面相交,表明近邻的孩子不需要处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6552210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档