Abstract
An efficient algorithm for the generation of Hilbert's space-filling curve is given. The algorithm implements a recursive procedure that involves simple integer operations and quickly converges to the set of points that make the Hilbert curve. The algorithm is elegant, short, and considerably easier to implement than previous recursive and nonrecursive algorithms and can be efficiently implemented in all programming languages that have integer operations and allow recursion. The fundamental Hilbert shape (a line joining the four corners of a square) is represented by two variables with values of either 0 or 1. This coding technique could be successfully applied to the generation of other regular space-filling curves, such as the Peano curve.
Supplemental Material
Available for Download
Software for "Generating Hilbert's Space-Filling Curves by Recursion"
- ABEND, K., HARLEY, T. J., AND KANAL, L. N. 1965. Classification of binary random patterns. IEEE Trans. Inf. Theor. IT-11, 4 (Oct.), 538-544.Google Scholar
- AGRANOV, G. AND GOTSMAN, C. 1995. Algorithms for rendering realistic terrain image sequences and their parallel implementation. Visual Comput. 11, 9, 455-464.Google Scholar
- ASANO, T., RANJAN, D., Roos, T., WELZL, E., AND WIDMAYER, P. 1995. Space filling curves and their use in the design of geometric data structures. In Proceedings of the Conference on Theoretical Informatics (LATIN '95). 36-48. Google Scholar
- BERTILSSON, M., BRICKELL, E., AND INGEMARSSON, I. 1989. Cryptanalysis of video encryption based on space-filling curves. In Advances in Cryptology--EUROCRYPT '89. 403-411. Google Scholar
- BIALLY, T. 1969. Space-filling curves: Their generation and their application to bandwidth reduction. IEEE Trans. Inf. Theor. IT-15, 6 (Oct.), 658-664.Google Scholar
- BUTZ, A. R. 1968. Space filling curves and mathematical programmming. Inf. Control 12, 314-330.Google Scholar
- BUTZ, A. R. 1969. Convergence with Hilbert's space filling curve. J. Comput. Syst. Sci. 3, 128-146.Google Scholar
- BUTZ, A. R. 1971. Alternative algorithm for Hilbert's space-filling curve. IEEE Trans. Comput. C-20 (Apr.), 424-426.Google Scholar
- COLE, A. J. 1983. A note on space filling curves. Softw. Pract. Exper. 13, 12 (Dec.), 1181-1189.Google Scholar
- GAO, J. AND STEELE, J. M. 1994. General spacefilling curve heuristics and limit theory for the traveling salesman problem. J. Complexity 10, 2 (June), 230-245. Google Scholar
- GIORDANA, N. AND PIECZYNSKI, W. 1997. Estimation of generalized multisensor hidden Markov chains and unsupervised image segmentation. IEEE Trans. Pattern Anal. Mach. InteU. 19, 5, 465-475. Google Scholar
- GOLDSCHLAGER, L. M. 1981. Short algorithms for space-filling curves. Softw. Pract. Exper. 11, 1 (Jan.), 99-100.Google Scholar
- GOTSMAN, T. AND LINDENBAUM, M. 1994. On the metric properties of discrete space-filling curves. In Proceedings of the 12th IAPR International Conference on Pattern Recognition. IEEE Computer Society Press, Los Alamitos, CA, 98-102.Google Scholar
- GILBERT, D. 1891. Uber die stetige Abbildung einer Linie auf ein Fl~chenstfick. Math. Ann. 38 (Mar.), 459-460.Google Scholar
- KAMATA, S., KAWAGUCHI, E., AND NIIMI, M. 1995. An interactive analysis method for multidimensional images using a Hilbert curve. Syst. Comput. Japan 26, 3, 83-92.Google Scholar
- LAMARQUE, c.-g. AND ROBERT, F. 1996. Image analysis using space-filling curves and 1D wavelet bases. Pattern Recognit. 29, 8, 1309-1322.Google Scholar
- LEE, J.-H. AND HSUEH, Y.-C. 1994. Texture classification method using multiple space filling curves. Pattern Recognit. Lett. 15, 12 (Dec.), 1241-1244. Google Scholar
- MATIAS, Y. AND SHAMIR, A. 1987. A video scrambling technique based on space filling curves. In Advances in Cryptology--CRYPTO '89. 398-416. Google Scholar
- MOGHADDAM, B., HINTZ, K. J., AND STEWART, C.V. 1991. Space-filling curves for image compression. In Proceedings of the SPIE. 414-421.Google Scholar
- NORMAN, M. G. AND MOSCATO, P. 1995. The Euclidean traveling salesman problem and a space-filling curve. Chaos Solitons Fractals 6, 389-397.Google Scholar
- OHNO, Y. AND OHYAMA, K. 1991. A catalog of symmetric self-similar space-filling curves. J. Recreat. Math. 23, 3, 161-174.Google Scholar
- PEANO, G. 1890. Sur une Courbe qui Remplit Toute une Aire Plane. Math. Ann. 36, 157-160.Google Scholar
- PETIGEN, g.-o., JURGENS, g., AND SAUPE, D. 1992. Chaos and Fractals. Springer-Verlag, New York, NY.Google Scholar
- PRUSINKIEWICZ, P. AND LINDENMAYER, A. 1990. The Algorithmic Beauty of Plants. Springer-Verlag, New York, NY. Google Scholar
- PRUSINKIEWICZ, P., LINDENMAYER, A., AND FRACCHIA, F. D. 1991. Synthesis of space-filling curves on the square grid. In Fractals in the Fundamental and Applied Sciences, Peitigen, H.-O., Henriques, J. M., and Pendo, L. F., Eds. Elsevier Sci. Pub. B. V., Amsterdam, The Netherlands, 341-366.Google Scholar
- SAGAN, g. 1992. On the geometrization of the Peano curve and the arithmetization of the Hilbert curve. J. Math. Educ. Sci. Tech. 23, 3, 403-411.Google Scholar
- SAGAN, g. 1994. Space-Filling Curves. Springer-Verlag, New York, NY.Google Scholar
- STEVENS, R. J., LEHAR, A. F., AND PRESTON, F. g. 1983. Manipulation and presentation of multidimensional image data using the Peano Scan. IEEE Trans. Pattern Anal. Mach. InteU. PAMI-5, 5 (Sept.), 520-526.Google Scholar
- VELHO, L. AND GOMES, J. D. M. 1991. Digital halftoning with space filling curves. SIGGRAPH Comput. Graph. 25, 4 (July), 81-90. Google Scholar
- WITTEN, I. A. AND NEAL, R. M. 1982. Using Peano curves for bilevel display of continuous-tone images. IEEE Comput. Graph. Appl. 2, 3 (May), 47-52.Google Scholar
- WITTEN, I. A. AND WYVILL, B. 1983. On the generation and use of space-filling curves. Softw. Pract. Exper. 13, 6 (June), 519-525.Google Scholar
- ZHANG, Y. AND WEBBER, R. E. 1993. Space diffusion: An improved parallel halftoning technique using space-filling curves. In Conference Proceedings on Computer Graphics (SIGGRAPH 93, Anaheim, CA, Aug. 1-6). ACM Press, New York, NY, 305-312. Google Scholar
Index Terms
Algorithm 781: generating Hilbert's space-filling curve by recursion
Recommendations
Algorithm 952: PHquintic: A Library of Basic Functions for the Construction and Analysis of Planar Quintic Pythagorean-Hodograph Curves
The implementation of a library of basic functions for the construction and analysis of planar quintic Pythagorean-hodograph (PH) curves is presented using the complex representation. The special algebraic structure of PH curves permits exact algorithms ...
D2P: from recursive formulations to distributed-memory codes
Recursive formulations of programs are straightforward to reason about and write, often have good locality properties, and readily expose parallelism. We observe that it is easier to automatically generate distributed-memory codes for recursive ...
On the completeness of naive memoing in Prolog
AbstractMemoing is often used in logic programming to avoid redundant evaluation of similar goals, often on programs that are inherently recursive in nature. The interaction between memoing and recursion, however, is quite complex. There are several top-...






Comments