我选择了一种基于堆栈的遍历算法(递归光线遍历算法),但我还有一些理解上的困难。
这是我的理解:
我需要找到光线进入体素的点(然后计算光线起点和该点之间的距离),以及它退出的点(然后计算光线起点和该点之间的距离),还需要计算光线起点和平面之间的距离(在某些论文中,我看到了公式:
这是我的理解:
我需要找到光线进入体素的点(然后计算光线起点和该点之间的距离),以及它退出的点(然后计算光线起点和该点之间的距离),还需要计算光线起点和平面之间的距离(在某些论文中,我看到了公式:
(splitPoint - rayOrigin[currentAxle]) / rayOrientation[currentAxle]
我的光线方向是(0, 0, -1)
,在某些情况下我将会除以零(因为x = 0
和y = 0
)。这怎么可能呢?
在算法的初始化中,光线起点在主体素中,如何得到光线进入体素的距离?
我理解得对吗?有人能解释一下吗?