The Pseudo-Dragon Spacefilling Tree...
Here is an old L-system find of mine, which I have recently explored further. It started out as a speedup to one of my favourite discoveries, a curve which could be adjusted from being a spacefilling 1:sqrt2 rectangle to the TwinDragon, which is 2 Dragon Curves laid end to end. Then I discovered that this curve could also be transformed into Levy's Curve; and recently found its Dragon Curve version as well. This led me to a curve which seems to be halfway between the DC and TD! Other variations are possible: indeed, if one translates the curve into d version from f version, its Angles can be incremented to arbitrarily fine differences, making animations between the various curves possible. (This is the case with many L-systems...) Below, included with the curve, are many of the variations I have found. Paste the whole thing into a text editor, and call it pdsft.l Keep this file open, and Alt-Tab into Fractint. Here you can try all of the variations one at a time, by jumping back into the file in the text editor and removing the preceeding; semicolon from the string you wish to try, saving the file, and jumping back into Fractint. I have left it with the variation which is a half-DC, half-TD mix as default. One question: given 8 positions for an angle change, such as + or - (before and after each of f, x, f and x), and 8 possible changes of angle for Angle 8 (0, +, ++, +++, |, +++++, ++++++, -), what is the total number of permutations? (Some of these permutations will lead to a flat line or other redundant variations.) Tony Hanmer Tbilisi, Republic of Georgia (adh5306l {; Anthony Hanmer 7/3/2004 Angle 8 ; pdsft (Pseudo-Dragon SpaceFilling Tree) speedup, various variants Axiom x ; Choose any string by removing its preceeding ;semicolon ; (All possibilities: 1f1, 1x1, 1f1, 1x1 and ; 0, +, ++, +++, |, +++++, ++++++, -: = ...?) ;x=d[@iq2\90x]\180d[@iq2\90x]; rectangular sft ;x=f[@iq2++x]|f[@iq2++x]; rectangular sft ;x=f[@iq2+x]|f[@iq2+x]; TD ;f=f+@iq2f|f+++@q2; TD 4026, multiple-layer redundant (mlr) (needs Axiom f) ;f=f+++@iq2f|f+@q2; TD 4027 mlr (needs Axiom f) ;x=d[@iq2\45x]\180d[@iq2/45x]; DC 5306m ;x=f[@iq2+x]|f[@iq2-x]; DC 5306n; 1-string all-f DC eludes me so far! ;x=f[@iq2+x]f|[@iq2-x]; Fat DC, 13/3/2004 ;x=f[@iq2+x]|f[@iq2x-]; Halfway between DC & TD, 13/3/204 ;x=f[@iq2+x]f|[@iq2x-]; Halfway between DC & TD, 13/3/204 ;x=f[@iq2+x]-f[@iq2x]; Levy's Curve, 13/3/204 ;x=f[@iq2++x]|f[@iq2x]; Partway between DC & sft?, 13/3/2004 ;x=f[@iq2++x]|f[@iq2+x]; Partway between DC & sft?, 13/3/2004 ;x=f[@iq2++x]|f[@iq2-x]; Partway between DC & sft?, 13/3/2004 ;x=f[@iq2+x]f[@iq2+x]; TD tree ;x=f[@iq2+x]f[@iq2-x]; Levy's Curve, 12/3/2004 x=f[@iq2+x]|f[@iq2x]; *Halfway BETWEEN* DC & TD! - 8/3/2004 ;x=d[@iq2\45x]\180d[@iq2x]; *BETWEEN* DC & TD!, d-version - 9/3/2004 ;x=d[@iq2\45x]\180d[@iq2/15x]; *BETWEEN* DC & TD!, Angle 8 - 9/3/2004 ;x=d[@iq2\45x]\180d[@iq2/30x]; *BETWEEN* DC & TD!, Angle 8 - 9/3/2004 ;x=d[@iq2\45x]\180d[@iq2/40x]; *BETWEEN* DC & TD!, Angle 8 - 9/3/2004 ;x=d[@iq2\45x]\180d[@iq2\15x]; *BETWEEN* DC & TD!, Angle 8 - 9/3/2004 ;x=d[@iq2\45x]\180d[@iq2\30x]; *BETWEEN* DC & TD!, Angle 8 - 9/3/2004 ;x=d[@iq2\45x]\180d[@iq2\40x]; *BETWEEN* DC & TD!, Angle 8 - 9/3/2004 ;x=d[@iq2\30x]\180d[@iq2x]; Just playing - 9/3/2004 ;x=d[@iq2\60x]\180d[@iq2x]; Just playing - 9/3/2004 ;x=d[@iq2\15x]\180d[@iq2x]; Just playing - 9/3/2004 ;x=d[@iq2\75x]\180d[@iq2x]; Just playing - 9/3/2004 ;x=d[@iq2\90x]\180d[@iq2x]; Just playing - 9/3/2004 ;x=f[@iq2+x]|f[@iq2+!+x]; Just playing - 9/3/2004 ;x=f[@iq2-!x]|f[@iq2++!x]; Just playing - 9/3/2004 ;x=f[@iq2-x]|!f[@iq2+!x]; TD - 9/3/2004 ;x=f[@iq2|!x]-!f[@iq2+!x]; sft - 9/3/2004 ;x=f[@iq2-!+!x]+f[@iq2+!x]; Just playing - 9/3/2004 ;x=f[@iq2-!+!x]|!f[@iq2+!x]; Just playing - 9/3/2004 ;x=f[@iq2-!--x]|!f[@iq2+!x]; Rt Triangle - 9/3/2004 ;x=f[@iq2---x]|!f[@iq2+!x]; Rt Triangle - 9/3/2004 ;x=f[@iq2---x]+++f[@iq2+!x]; Just playing - 9/3/2004 ;x=f[@iq2---x]+++f[@iq2|x]; Nice new DC - 9/3/2004 ;x=f[@iq2+x]-f[@iq2+x]; playing, 12/3/2004 ;x=f[@iq2x]f[@iq2-x]; playing, 12/3/2004 } _________________________________________________________________ MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*. http://join.msn.com/?page=features/virus
participants (1)
-
Tony (Anthony) Hanmer