How many three-dimensional Hilbert curves are there?

Hilbert's two-dimensional space-filling curve is appreciated for its good locality-preserving properties and easy implementation for many applications. However, Hilbert did not describe how to generalize his construction to higher dimensions. In fact, the number of ways in which this may be done ranges from zero to infinite, depending on what properties of the Hilbert curve one considers to be essential. In this work we take the point of view that a Hilbert curve should at least be self-similar and traverse cubes octant by octant. We organize and explore the space of possible three-dimensional Hilbert curves and the potentially useful properties which they may have. We discuss a notation system that allows us to distinguish the curves from one another and enumerate them. This system has been implemented in a software prototype, available from the author's website. Several examples of possible three-dimensional Hilbert curves are presented, including a curve that visits the points on most sides of the unit cube in the order of the two-dimensional Hilbert curve; curves of which not only the eight octants are similar to each other, but also the four quarters; a curve with excellent locality-preserving properties and endpoints that are not vertices of the cube; a curve in which all but two octants are each other's images with respect to reflections in axis-parallel planes; and curves that can be sketched on a grid without using vertical line segments. In addition, we discuss several four-dimensional Hilbert curves.

[1]  G. Peano Sur une courbe, qui remplit toute une aire plane , 1890 .

[2]  D. Hilbert Ueber die stetige Abbildung einer Line auf ein Flächenstück , 1891 .

[3]  E. H. Moore On certain crinkly curves , 1900 .

[4]  H. Hahn Leçons sur l'intégration et la recherche des fonctions primitives , 1904 .

[5]  D. Hilbert Über die stetige Abbildung einer Linie auf ein Flächenstück , 1935 .

[6]  Arthur R. Butz,et al.  Alternative Algorithm for Hilbert's Space-Filling Curve , 1971, IEEE Transactions on Computers.

[7]  R. Durbin,et al.  Optimal numberings of an N N array , 1986 .

[8]  John J. Bartholdi,et al.  Spacefilling curves and the planar travelling salesman problem , 1989, JACM.

[9]  Christos Faloutsos,et al.  Fractals for secondary key retrieval , 1989, PODS.

[10]  D. Voorhies SPACE-FILLING CURVES AND A MEASURE OF COHERENCE , 1991 .

[11]  Christos Faloutsos,et al.  On packing R-trees , 1993, CIKM '93.

[12]  P. Sanders,et al.  On the Manhattan-Distance Between Points on Space-Filling Mesh-Indexings , 1996 .

[13]  Michael Lindenbaum,et al.  On the metric properties of discrete space-filling curves , 1996, IEEE Trans. Image Process..

[14]  Rolf Niedermeier,et al.  Towards optimal locality in mesh-indexings , 1997, Discret. Appl. Math..

[15]  Murray Cole,et al.  Recursive 3D Mesh Indexing with Improved Locality , 1997, HPCN Europe.

[16]  Desh Ranjan,et al.  Space-Filling Curves and Their Use in the Design of Geometric Data Structures , 1997, Theor. Comput. Sci..

[17]  Peter Winkler,et al.  Optimal linear arrangement of a rectangular grid , 2000, Discret. Math..

[18]  Rolf Niedermeier,et al.  On Multidimensional Curves with Hilbert Property , 2000, Theory of Computing Systems.

[19]  Mario A. López,et al.  High dimensional similarity search with space filling curves , 2001, Proceedings 17th International Conference on Data Engineering.

[20]  Peter J. H. King,et al.  Querying multi-dimensional data indexed using the Hilbert space-filling curve , 2001, SGMD.

[21]  Christos Faloutsos,et al.  Analysis of the Clustering Properties of the Hilbert Space-Filling Curve , 2001, IEEE Trans. Knowl. Data Eng..

[22]  Jens-Michael Wierum Logarithmic path-length in space-filling curves , 2002, CCCG.

[23]  Jens-Michael Wierum,et al.  On the Quality of Partitions Based on Space-Filling Curves , 2002, International Conference on Computational Science.

[24]  P. Campbell,et al.  Dynamic Octree Load Balancing Using Space-Filling Curves ∗ , 2003 .

[25]  Hans-Joachim Bungartz,et al.  A Parallel Adaptive Cartesian PDE Solver Using Space-Filling Curves , 2006, Euro-Par.

[26]  Michael Bader,et al.  Cache oblivious matrix multiplication using an element ordering based on the Peano curve , 2006 .

[27]  Peter Lindstrom,et al.  Mesh Layouts for Block-Based Caches , 2006, IEEE Transactions on Visualization and Computer Graphics.

[28]  Herman J. Haverkort,et al.  Locality and bounding-box quality of two-dimensional space-filling curves , 2008, Comput. Geom..

[29]  Herman J. Haverkort,et al.  Four-dimensional hilbert curves for R-trees , 2009, JEAL.

[30]  Jonathan K. Lawder Calculation of Mappings Between One and n-dimensional Values Using the Hilbert Space-filling Curve ⋆ , 2009 .

[31]  Walid G. Aref,et al.  Irregularity in high-dimensional space-filling curves , 2010, Distributed and Parallel Databases.

[32]  Herman J. Haverkort,et al.  Locality and bounding-box quality of two-dimensional space-filling curves , 2010, Comput. Geom..

[33]  Herman J. Haverkort,et al.  Recursive tilings and space-filling curves with little fragmentation , 2010, J. Comput. Geom..

[34]  Herman J. Haverkort An inventory of three-dimensional Hilbert space-filling curves , 2011, ArXiv.

[35]  Herman J. Haverkort,et al.  Harmonious Hilbert curves and other extradimensional space-filling curves , 2012, ArXiv.

[36]  Felix Wolf,et al.  Dynamic Load Balancing for Unstructured Meshes on Space-Filling Curves , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[37]  Srikanta Tirthapura,et al.  On the optimality of clustering properties of space filling curves , 2012, PODS '12.

[38]  Michael Bader,et al.  Space-Filling Curves - An Introduction with Applications in Scientific Computing , 2012, Texts in Computational Science and Engineering.

[39]  Aubrey Jaffer Recurrence for Multidimensional Space-Filling Functions , 2014, ArXiv.

[40]  Herman J. Haverkort,et al.  Hyperorthogonal well-folded Hilbert curves , 2015, J. Comput. Geom..

[41]  James M. Kang,et al.  Space-Filling Curves , 2017, Encyclopedia of GIS.