【发布时间】:2018-11-04 00:54:47
【问题描述】:
给定一个 3D 体素网格,其中每个体素是 SIZE * SIZE * SIZE(宽度 * 高度 * 长度)对于某个整数 SIZE 和一条穿过网格中一些体素的线,是否有一种相当有效的方法来计算视线算法检测线通过的所有体素?
算法约束:
- 由于原始 Bresenham 的近似性质,没有遗漏任何体素,如此 2D 示例所示:
- 算法需要相当高效,因为它将每帧计算一次;只要算法不采用立方体的面积并计算线是否与每个单独的立方体相交,就可以了。
【问题讨论】:
-
@MBo 我看不到如何将对寻找对象交点感兴趣的光线跟踪算法用作 Bresenham 算法对 3d 的推广
-
-
@MBo 我同意,但 OP 在 3d 中明确要求 Bresenham。请参阅我的回答中的第一段。
-
@tucuxi 我想他用 Bresenham 作为(唯一的)已知算法的例子
标签: c# algorithm unity3d voxel bresenham