George, As always, I'm feeling as if I'm trying to catch up the running away train. May be, it's just the time difference. :-) > Date: Wed, 06 May 1998 14:59:57 -0400 > From: George Mills <mills@softronix.com> > To: Olga Tuzova <olgatu@ort.spb.ru> > Cc: logo-l@gsn.org, cpthook@global2000.net > Subject: Re: LOGO-L> Arcs once again > Reply-to: George Mills <mills@softronix.com> > Sorry Olga, I could not resist. Here is a a true Hilbert "Curve". > > Note, that all I did was take someones Hilbert Curve > http://www.xylem.demon.co.uk/hilbert.htm > and replace FD with FDA (Forward Arc). It's a good challenge. I'm not well familiar with space filling curves and I'd rather go to the library and read something on this question, but as I haven't done this yet, I'm putting there the questions, for which I can't find answers. The space filling curves I've seen before could fill a square and any iteration of the curve never leaves it. To fill a square I may just increase the level of iteration and don't have to change a size parameter. It looks like this Hilbert curve sooner or later will cross the boundaries of any large square. Is it so? Apparently, there are characteristics for the curves which allow to conclude whether the curve is space filling or not. I don't know them. Looking through the web sites I found some images which are considered to be iterations for space filling curves without proofs. Nevertheless they look fine and I tried to design Logo codes for one of them (http://www.math.utk.edu/~morwen/fill.html ). I hope, they describe the curve perfectly and I took it for granted that it's space filling. And, of course, I couldn't resist the temptation to make a "convex" version of it. Though, in this case, I'm afraid, the curve is loosing it's property to fill the space. In the attachment, if it isn't lost, there are iterations of the "straight" (red) and "convex" (blue) curves. Regards, Olga. ----------------------------------------- to filling.curve :size :level :p if :level<1 [fd :size rt :p*90 fd :size stop] filling.curve :size/2 :level-1 -:p rt :p*90 filling.curve :size/2 :level-1 :p lt :p*90 filling.curve :size/2 :level-1 :p rt :p*90 filling.curve :size/2 :level-1 -:p end to convex.filling.curve :size :level :p if :level<1 [fda :size rt :p*90 fda :size stop] convex.filling.curve :size/2 :level-1 -:p rt :p*90 convex.filling.curve :size/2 :level-1 :p lt :p*90 convex.filling.curve :size/2 :level-1 :p rt :p*90 convex.filling.curve :size/2 :level-1 -:p end to fda :size lt 90 arc2 180 :size/2 lt 90 end ----------------------------------------- > > to fda :dist > lt 90 > arc2 180 :dist/2 > lt 90 > end > > to go > cs > pu > setxy 250 -250 > pd > hilbert 20 5 45 > end > > to hilbert :size :level :parity > if :level > 0 ~ > [ > lt :parity*90 hilbert :size :level-1 :parity*-1 > fda :size > rt :parity*90 hilbert :size :level-1 :parity > fda :size > hilbert :size :level-1 :parity rt :parity*90 > fda :size > hilbert :size :level-1 :parity*-1 lt :parity*90 > ] > end > > -- --------------------------------------------------------------- Please post messages to the Logo forum to logo-l@gsn.org. Mail questions about the list administration to logofdn@gsn.org. To unsubscribe send unsubscribe logo-l to majordomo@gsn.org.
Global SchoolNet Foundation -
Linking Kids Around the World!
Copyright GSN - All Rights Reserved
- Comments
& Questions
Visit GSN's
Global
Schoolhouse for more exciting learning resources!
Search our Site
-
Home