Ray voxel intersection

问题描述 投票:5回答:2

我想测试射线与体素场的交叉点。

我可以通过计算与当前体素边缘的光线盒交点来天真地爬过体素场,然后对下一个体素做同样的操作,直到我碰到某个东西。但是没有更快的方法来追踪体素场吗?我在3D中考虑Bresenham's line algorithm的某些东西,这可以很快给我一条给定线相交的所有单元格。有人这么做过吗?

由于某些限制以及这些光线跟踪不经常发生的事实,我不想构建八叉树或任何其他数据结构。

c# math voxel
2个回答
3
投票

Here's是3D中Bresenham的实现。它在matlab中;如果你不说话,你可以看到一个C implementation here


-1
投票

我相信八叉树算法能满足您的要求。

© www.soinside.com 2019 - 2024. All rights reserved.