ACM Home Page
Please provide us with feedback. Feedback
SFCGen: A framework for efficient generation of multi-dimensional space-filling curves by recursion
Full text PdfPdf (402 KB)
Source ACM Transactions on Mathematical Software (TOMS) archive
Volume 31 ,  Issue 1  (March 2005) table of contents
Pages: 120 - 148  
Year of Publication: 2005
ISSN:0098-3500
Authors
Guohua Jin  Rice University, Houston, TX
John Mellor-Crummey  Rice University, Houston, TX
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 141,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1055531.1055537
What is a DOI?

ABSTRACT

Because they are continuous and self-similar, space-filling curves have been widely used in mathematics to transform multi-dimensional problems into one-dimensional forms. For scientific applications, reordering computation by certain space-filling curves can significantly improve data reuse because of the locality properties of these curves. However, when space-filling curves are used in programs for reordering data, traversal or indexing of the curves must be efficient. To address this problem, we present the table-driven framework SFCGen to efficiently generate multi-dimensional space-filling curves on the fly. The framework is general and easy enough to be used in any application that can be partitioned recursively in multiple dimensions. We describe a movement specification table, a universal turtle algorithm to enumerate points along a space-filling curve, a table-based indexing algorithm to transform coordinates of a point into its position along the curve and an algorithm to pregenerate the table automatically. As examples, we show how high-dimensional Hilbert, Morton, and Peano curves and a two-dimensional Sierpiński curve can be generated with our algorithms. We present performance results for Hilbert, Morton, and Peano curves and compare the efficiency of our curve generation algorithm with the most recent work on generating Hilbert curves. Our experimental results on three modern microprocessor-based platforms show that SFCGen performs up to 63&percent; faster than the most recent recursive algorithm on 2D curve generation and up to a factor of 132 faster than two previous byte-oriented non-recursive implementations. On curve indexing, SFCGen performs as much as a factor of three faster than the byte-oriented implementation. Our results on 4D space-filling curves also show that SFCGen scales very well with curve level for higher dimensional spaces.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Abel, D. J. and Mark, D. M. 1990. A comparative analysis of some two-dimensional orderings. Int. J. Geog. Info. Syst. 4, 1, 21--31.
2
 
3
 
4
 
5
Bially, T. 1969. Space-filling curves: Their generation and their application to bandwidth reduction. IEEE Trans. Info. Theory IT-15, 6 (Nov.), 658--664.
6
7
 
8
 
9
Butz, A. R. 1968. Space filling curves and mathematical programming. Information and Control 12, 314--330.
 
10
Butz, A. R. 1969. Convergence with Hilbert's space filling curve. J. Comput. Syst. Sci. 3, 2, 128--146.
 
11
Butz, A. R. 1971. Alternative algorithm for Hilbert's space-filling curve. IEEE Trans. Comput. C-20, 4 (Apr.), 424--426.
12
 
13
Cole, A. J. 1981. A note on space filling curves. Software--Practice and Experience 13, 12 (Dec.), 1181--1189.
 
14
Drakopoulos, V., Tziovaras, A., Böhm, A., and Dalla, L. 1999. Fractal interpolation techniques for the generation of space-filling curves. In Hellenic European Research on Computer Mathematics and Its Applications, E. A. Lipitakis, Ed. LEA, 843--850.
15
 
16
Goldschlager, L. M. 1981. Short algorithms for space-filling curves. Software--Practice and Experience 11, 1 (Jan.), 99--100.
 
17
Hilbert, D. 1891. Über die stetige abbildung einer linie auf ein flachenstück. Math. Ann. 38, 459--460.
 
18
19
20
 
21
22
 
23
Lamarque, C. H. and Robert, F. 1996. Image analysis using space-filling curves and 1D wavelet bases. Pattern Recognition 29, 8, 1309--1322.
24
 
25
Lindenmayer, A. 1968. Mathematical models for cellular interaction in development, parts I and II. J. Theore. Biol. 18, 280--315.
 
26
27
 
28
Moghaddam, B., Hintz, K. J., and Stewart, C. V. 1991. Space-filling curves for image compression. In Proceedings of the SPIE. 414--421.
29
 
30
 
31
Moore, D. 2000. http://www.caam.rice.edu/~dougm/twiddle/Hilbert.
 
32
Morton, G. M. 1966. A computer oriented geodetic data base and a new technique in file sequencing. Technique Report, IBM, Canada.
 
33
Musgrave, K. 1991. A Peano curve generation algorithm. In Graphics Gems II, J. Arvo, Ed. Academic Press, San Diego, CA, 25.
 
34
Ohno, Y. and Ohyama, K. 1991. A catalog of symmetric self-similar space-filling curves. J. Recreational Math. 23, 161--173.
 
35
Peano, G. 1890. Sur une courbe qui remplit toute une aire plane. Mathematishe Annalen 36, 157--160.
36
 
37
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, H. O. Peitgen, J. M. Henriques, and L. F. Penedo, Eds. Elsevier Science Publisher BV, Amsterdam, The Netherlands, 341--366.
 
38
Sagan, H. 1992. On the geometrization of the Peano curve and the arithmetization of the Hilbert curve. Int. J. Math. Educ. Sci. Tech. 23, 403--411.
 
39
Sagan, H. 1993. A three-dimensional Hilbert curve. Int. J. Math. Educ. Sci. Tech. 24, 541--545.
 
40
Sagan, H. 1994. Space-Filling Curves. Springer-Verlag, New York, NY.
 
41
Sierpiński, W. 1912. Sur une nouvelle courbe countinue qui remplit toute une aire plane. Bull. Acad. Sci. de Cracovie (Sci. math. et nat., Série A), 462--478.
 
42
Stevens, R. J., Lehar, A. F., and Preston, F. H. 1983. Manipulation and presentation of multidimensional image data using the Peano scan. IEEE Trans. Pattern Anal. Mach. Intell. 5, 520--526.
43
 
44
Witten, I. H. and Wyvill, B. 1983. On the generation and use of space-filling curves. Software--Practice and Experience 13, 519--525.
45


Collaborative Colleagues:
Guohua Jin: colleagues
John Mellor-Crummey: colleagues