虽然将 3D 坐标转换为 z 阶曲线相对简单(Fortran 中的高效 z 阶转换),但我很难围绕使用不同空间填充曲线的数学问题,例如 Peano 或 Hilbert。任何有关如何进行转换的实际代码的提示都将不胜感激。目标是有一个子程序,它将 xyz 坐标作为输入,并进行必要的标准化,并返回空间填充曲线的索引。
子程序(x,y,z,space_filling_index)
与此相关:我读到有很多方法可以在 3D 空间中定义希尔伯特曲线,哪一种在局部性方面最好?如果有一个明确的答案...
该应用程序将重新排序笛卡尔计算网格中的单元格,目标是在单元格访问其相邻单元格时增加缓存命中。