光线追踪器:创建一个统一的网格

计算科学 算法 网格
2021-12-04 04:11:33

我写了一个简单的光线追踪器,现在我尝试实现一个统一的网格。有很多关于如何遍历网格的文档,但我不知道如何构建网格。

我有统一的网格和三角形。我怎么知道网格中的哪些单元格对应于我的三角形?

谢谢你的回答。

1个回答

您不必显式地形成和存储均匀网格,因为您可以进行算术运算来计算单元索引。如果你知道你有Nx中的细胞x网格上的方向[0,Lx], 那么你知道单元格的索引是 你可以对你的三个角中的每一个的三个坐标中的每一个执行相同的操作三角形。您生成的索引唯一地定义了包含每个角的单元格。如果单元格包含所有三个角,则单元格包含整个三角形。x

i=xNxLx

该索引从 0 开始。如果您的数组是基于 1 的(例如 Fortran 或 MATLAB),则添加 1。