Joerg, Jason, et al>I'd much like to see a generalization of the string substitution rules for the 2D curve, I hate this substitution rule picture of "spacefilling curves". I even hate the term "spacefilling curve". A curve is a range set, the image of some function of the unit interval. If it's really a spacefilling function, the "curve" is a two (or more) dimensional blob. There is no way to define this blob as the "limit" of some sequence of squiggly lines, nor to prove that the blob is not only completely filled, but has countably many points triply covered. To spacefill a blob, find one with a self similar dissection and order the n subblobs in a Hamiltonian path (the path suggested by your polygonal squiggles). Chop the unit interval into n pieces of which the subblobs are the images. Recurse. Now you can *exactly* evaluate your spacefilling *function* (and its up to three-valued inverse). Choose t in the unit interval. Write it in base n. Construct a finite state machine that turns the digits base n^2 into pairs of digits base n. So rationals map to rationals, which you can give exactly via loop detection. You can even play with irrationals. I seem to recall proving that if P(t) = (x,y) is the Peano squarefilling function, then the only solutions of P(y) = (1,y) are y = theta and 1-theta, where theta := the Thue parity constant .0110100110010110... With some more work, you can write the *exact* fourier coefficients that trace out a time-smoothed approximation (a curve!) with rotating vectors. (Difficult paper: http://gosper.org/fst.dvi . Crude pix: http://gosper.org/fst1.png,http://gosper.org/fst2.png, http://gosper.org/fst3.png,http://gosper.org/fst4.png .) But the squiggly lines are pretty, you say. Yes! And the way to get them, in abundance, is to choose some rational(?) step size and offset, evaluate the function at those equally spaced t, and connect the dots. See www.tweedledum.com/rwg/. Click Sampled Peano squarefiller, Sampled trianglefilling function, Sampled Sierpinski halfsquare filler . The latter is the two-dimensional limit of the Snowflake construction-- a really nice spacefilling function, but you'd never know it from the recursive polygon view, which completely retraces itself and makes a simple grid from a bunch of crosses.
P.S.: is there any paper dealing with three- or higher dimensional Hilbert curves that is not totally obscure?
Foo, just self-similarly dissect a 3D blob and make an FSM to crank out 3-vectors. --rwg __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com