我想测试射线与体素场的交集。
我可以通过计算与当前体素边缘的光线盒交点来天真地爬过体素场,然后对下一个体素做同样的事情,直到我碰到什么东西。但是没有更快的方法来追踪体素场吗?我在想一些类似于Bresenham 的3D 线算法的东西,它可以很快给我所有的单元格给定的线相交。以前有人做过吗?
由于某些限制以及这些光线追踪并不经常发生的事实,我不想构建八叉树或任何其他数据结构。
我想测试射线与体素场的交集。
我可以通过计算与当前体素边缘的光线盒交点来天真地爬过体素场,然后对下一个体素做同样的事情,直到我碰到什么东西。但是没有更快的方法来追踪体素场吗?我在想一些类似于Bresenham 的3D 线算法的东西,它可以很快给我所有的单元格给定的线相交。以前有人做过吗?
由于某些限制以及这些光线追踪并不经常发生的事实,我不想构建八叉树或任何其他数据结构。
这是 Bresenham 的 3D 实现。它在matlab中;如果你不说你可以在这里看到一个 C 实现。
我相信八叉树算法可以满足您的要求。