hilbert_curve_3d
hilbert_curve_3d,
a MATLAB code which
converts 3D Hilbert curve data between spatial coordinates of a
lattice point (x,y,z) and the linear coordinate H which describes
the ordering of that point on the curve.
Licensing:
The information on this web page is distributed under the MIT license.
Languages:
hilbert_curve_3d is available in
a C version and
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version and
a Python version.
Related Data and Programs:
hilbert_curve_3d_test
hilbert_curve,
a MATLAB code which
computes the sequence of discrete 2D Hilbert curves whose limit
is a space-filling curve.
hilbert_curve_display,
a MATLAB code which
displays a 2D Hilbert curve of given order.
Reference:
-
Nick Berry,
Hilbert curves,
https://datagenetics.com/blog/march22013
-
Brian Hayes,
Crinkly curves,
American Scientist,
Volume 101, Number 3, May-June 2013, pages 178-183.
-
David Walker,
Algorithms for encoding and decoding 3D Hilbert Orderings,
UTC Research Institute,
University of Tennessee at Chattanooga, TN 37403,
arXiv:2308.05673v2
Source Code:
-
h_to_xyz.m,
converts a 1D Hilbert coordinate H to a 3D
Hilbert lattice coordinate.
-
i4_log2.m,
returns the integer part of the logarithm base 2 of an integer.
-
rmin.m,
the smallest power of 2 greater than integers x, y and z.
-
xyz_to_h.m,
converts a 3D Hilbert lattice coordinate to a 1D Hilbert
coordinate H.
Last revised on 22 August 2024.