,而3D坐标向Z阶曲线的转换相对简单(在Fortran中有效的Z阶转换(,我很难在数学上围绕数学来缠绕我的头,以使用不同的空间 - 填充曲线,例如Peano或Hilbert。关于进行转换的实际代码看起来的任何暗示,都将不胜感激。目标是拥有一个子例程,该子例程将XYZ坐标作为具有任何归一化的输入,并返回空间填充曲线的索引。
subroutine(x,y,z,space_filling_index(
和与此相关的内容:我读到有很多方法可以在3D空间中定义希尔伯特曲线,这在当地方面是最好的吗?如果对此有明确的答案...
应用程序将是笛卡尔计算网格中细胞的重新排序,目的是在访问其邻居细胞时增加缓存命中。
希尔伯特曲线通过在每个步骤中使用相同的基本形状递归对立方体(对于3D(进行旋转,从而通过旋转曲线来工作下一个立方体的点。
奇妙的资源是C. Hamilton的技术报告紧凑的Hilbert Indices。该报告还介绍了非立我们系统的紧凑型希尔伯特指数。
当我围绕它缠住它时,我在2015年写了一篇博客文章:了解希尔伯特(Hilbert(索引的样本python代码的希尔伯特曲线,并说明了希尔伯特(Hilbert("子立方体"的旋转。作为我编写的基于粒子的分子动力学仿真代码的一部分,我在Fortran中实现了紧凑的Hilbert索引,请参见此处。
重新讨论的详细信息是我相信的"超出范围"的"超出了范围",但是上面的资源应该对您有很大帮助。