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
On Thu, 10 Apr 2008, Bill Gosper wrote: ...
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. ...
I've been thinking of making a mosaic out of wood or tile using this technique. Use 4 different colors or shades of square tiles A,B,C,D, perhaps sorting from light to dark, and use them to represent 00, 01, 10, 11. Hilbert: BADC CDAB BCDC ADAB It would be amusing to tile a floor that way and see if anybody noticed. You could even use hilbert tiles: http://www.designbiz.com/Biz/bizProfile.asp?CompanyID=79983 I doubt the cycling pattern would be very elucidating; the rainbow effect works better but would require unique tiles: http://mathforum.org/advanced/robertd/hilbert2.gif It makes me wonder if there are other ways to illuminate the path from 0-1.
On Sat, Apr 12, 2008 at 2:29 AM, Jason <jason@lunkwill.org> wrote:
I doubt the cycling pattern would be very elucidating; the rainbow effect works better but would require unique tiles:
I have the tubes and pipes to go with these tiles: http://www.flickr.com/photos/sbprzd/2316368582/ Best, Seb
Apologies Fred--I just found this under a massive spamslide: On 4/3/08, Bill Gosper <rwmgosper@yahoo.com> wrote:
rwg>It's pretty clear that any product or sum over a period of a rational function of trigs comes out in closed form. You can interconvert such products and sums via trig, calculus, and generating function hacks. [...] So we get sums/prods over periods of some algebraic functions of trigs as well as rational.
I stand amazed. Is there some automatic algorithm lurking under there? I'd love to find it--it would make a nifty enhancement to the definite summation capabilities of computer algebra systems. In principal, you could convert all the trigs to complex exponentials, algebraically factor everything down to terms linear in cis(2 pi k/n), and then repeatedly use n 2 %i %pi k /===\ ---------- | | n n n (*) | | (a - b %e ) = a - b | | k = 1 and its log derivatives. But this will produce gruesomely unsimplified results. So I have a small collection of generalizations of (*). I can produce algebraic summands and prodands with nonlocal derangement (http://gosper.org/fst.dvi again), but not on cue, at least not without a lot more practice. But it can sure make for screwy summands, e.g.: inf ==== 2 \ 1 9 pi > -- cos(-----------------------) = - -----. / 2 2 2 3 ==== n sqrt(n pi - 9) + n pi 12 e n = 1
(Reminder: T_n(x) = cos(n acos x) = cosh(n acosh x) = 2 x T_n-1 - T_n-2, T_0(x)=1, T_1(x)=x. T_n(T_m(x)) = T_nm(x), so e.g. T_(n/2)(x) := T_n(sqrt((x+1)/2)) = sqrt((T_n(x)+1)/2) .)
This last line does seem to work --- e.g. T_2(x) = 2x^2 - 1, T_4(x) = 8x^4 - 8x^2 + 1, 2x^2 - 1 = 2((x+1)^2) - 4(x+1) + 1 = sqrt(4x^4 - 4x^2 + 1)
The very last line is even more interesting: Using T_(1/2)(x):=sqrt((x+1)/2) = inverse of T_2, e.g., (c187) chebyshev_t[3](sqrt((x+1)/2)) = sqrt((chebyshev_t[3](x)+1)/2) 3/2 3 2 (x + 1) 3 sqrt(x + 1) sqrt(4 x - 3 x + 1) (d187) ------------ - ------------- = -------------------- sqrt(2) sqrt(2) sqrt(2) so T_2n(x)+1 is a square, and T_(2n+1)(x)+1 is x+1 times a square. Even the function 2 1/3 (sqrt(y - 1) + y) 1 T (y) := --------------------- + ----------------------- 1/3 2 2 1/3 2 (sqrt(y - 1) + y) commutes with the Chebs.
--- but I still don't quite understand why. Something to do with underlying exponential functions? --WFL
Sort of. The acosh cancels the cosh, so the m multiplies the n. --rwg __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
participants (3)
-
Bill Gosper -
Jason -
Sebastien Perez-Duarte