ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/lsys/lib/fractint.l
Revision: 1.1
Committed: Thu Nov 6 14:31:25 2008 UTC (15 years, 7 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 ruleset ( // Adrian Mariano
2     // from The Fractal Geometry of Nature by Mandelbrot
3    
4     Koch(n) => attr (delta, 360/6) F--F--F, n;
5     F => F+F--F+F;
6     )
7    
8     ruleset ( // Adrian Mariano
9     // from The Fractal Geometry of Nature by Mandelbrot
10    
11     Koch1(n) => attr (delta, 360/12) F---F---F---F, n;
12     F => -F+++F---F+;
13     )
14    
15     ruleset ( // Adrian Mariano
16     // from The Fractal Geometry of Nature by Mandelbrot
17    
18     Koch2(n) => attr (delta, 360/4) F-F-F-F, n;
19     F => F-F+F+FF-F-F+F;
20     )
21    
22     ruleset ( // Adrian Mariano
23     Koch3(n) => attr (delta, 360/4) F+F+F+F, n;
24     F => F-F F+F F+F+F-F-F F+F+F-F-F F-F F+F;
25    
26     )
27    
28     ruleset ( // Adrian Mariano
29     // from The Fractal Geometry of Nature by Mandelbrot
30    
31     Dragon(n) => attr (delta, 360/8) FX, n;
32     F => ;
33     y => +FX--FY+;
34     x => -FX++FY-;
35     )
36    
37     ruleset ( // Adrian Mariano
38     // from The Fractal Geometry of Nature by Mandelbrot
39    
40     Peano(n) => attr (delta, 360/4) F-F-F-F, n;
41     F => F-F+F+F+F-F-F-F+F;
42     )
43    
44     ruleset ( // Adrian Mariano
45     // from The Fractal Geometry of Nature by Mandelbrot
46    
47     Cesaro(n) => attr (delta, 360/34) FX, n;
48     F => ;
49     X => ----F!X!++++++++F!X!----;
50     )
51    
52     ruleset ( // Adrian Mariano
53     // from The Fractal Geometry of Nature by Mandelbrot
54    
55     Double_cesaro(n) => attr (delta, 360/4) F -(90) F -(90) F -(90) F -(90) , n;
56     F => -(42) !F! +(84) !F! -(42) ;
57     )
58    
59     ruleset ( // Adrian Mariano
60     // from The Fractal Geometry of Nature by Mandelbrot
61     anfle => 6;
62     Flow_snake(n) => attr (delta, 360/4) FL, n;
63     L => FL-FR--FR+FL++FLFL+FR-%,;
64     R => +FL-FRFR--FR-FL++FL+FR%,;
65     F => ;
66     )
67    
68     ruleset ( // Adrian Mariano
69     // from The Fractal Geometry of Nature by Mandelbrot
70    
71     Cantor_dust(n) => attr (delta, 360/6) F, n;
72     F => FfF;
73     f => fff;
74     )
75    
76     ruleset ( // Adrian Mariano
77     // from The Fractal Geometry of Nature by Mandelbrot
78    
79     Snowflake(n) => attr (delta, 360/12) F, n;
80     F => ++!F!F--F--F attr (distance, distance/03^0.5) |+F!F--;
81     F => F--F!+++ attr (distance, distance*03^0.5) F attr (distance, distance/03^0.5) |+F!F attr (distance, distance*03^0.5) |+F!F;
82     )
83    
84     ruleset ( // Adrian Mariano
85     // from The Fractal Geometry of Nature by Mandelbrot
86    
87     Snowflake_color(n) => attr (delta, 360/12) F, n;
88     F => --!F!F++F++F attr (distance, distance/03^0.5) |-F!F++;
89     F => F++F!--- attr (distance, distance*03^0.5) F attr (distance, distance/03^0.5) |-F!F attr (distance, distance*03^0.5) |-F!F;
90     F => ;
91     )
92    
93     ruleset ( // Adrian Mariano
94     // from The Fractal Geometry of Nature by Mandelbrot
95    
96     Island(n) => attr (delta, 360/4) F+F+F+F, n;
97     F => FFFF-F+F+F-F[-fFF+F+FF+F]FF;
98     f => attr (distance, distance*08) f attr (distance, distance/08) ;
99     )
100    
101     ruleset ( // Adrian Mariano
102     // from The Fractal Geometry of Nature by Mandelbrot
103    
104     Island1(n) => attr (delta, 360/4) F+F+F+F, n;
105     F => F+f F-F F-F-F F+f+F F-f F+F F+F+F F-f-F FF;
106     f => attr (distance, distance*06) f attr (distance, distance/06) ;
107     )
108    
109     ruleset ( // Adrian Mariano
110     // from The Fractal Geometry of Nature by Mandelbrot
111    
112     Quartet(n) => attr (delta, 360/4) F b, n;
113     A => FBFA+HFA+FB-FA;
114     B => FB+FA-FB-JFBFA;
115     F => ;
116     H => -;
117     J => +;
118     )
119    
120     ruleset ( // Adrian Mariano
121     // from The Fractal Geometry of Nature by Mandelbrot
122    
123     Snow_flake(n) => attr (delta, 360/12) FR, n;
124     R => ++!FRFU++FU++FU!--- attr (distance, distance*03^0.5) FU|- attr (distance, distance/03^0.5) !FRFU!;
125     U => !FRFU!|+ attr (distance, distance*03^0.5) FR attr (distance, distance/03^0.5) +++!FR--FR--FRFU!--;
126     F => ;
127     )
128    
129     ruleset ( // Adrian Mariano
130     // from The Fractal Geometry of Nature by Mandelbrot
131    
132     Snow_flake1(n) => attr (delta, 360/12) F x, n;
133     x => ++F!x!F y--F x--F y|+ attr (distance, distance/03^0.5) F yF!x!++F!y!++F!y!F x attr (distance, distance*03^0.5) +++F!y!F x;
134     y => F yF!x!+++ attr (distance, distance/03^0.5) F yF!x!++F!x!++F!y!F x attr (distance, distance*03^0.5) |+F x--F y--F xF!y!++;
135     F => ;
136     )
137    
138     ruleset ( // Adrian Mariano
139     // from The Fractal Geometry of Nature by Mandelbrot
140     anfle => 12;
141     Tree(n) => attr (delta, 360/12) +++FX, n;
142     X => attr (distance, distance*0.6) [-FX]+FX;
143     )
144    
145     ruleset ( // Adrian Mariano
146     // from The Fractal Geometry of Nature by Mandelbrot
147    
148     Peano1(n) => attr (delta, 360/8) FXY++F++FXY++F, n;
149     X => XY attr (distance, distance*02^0.5) -F attr (distance, distance/02^0.5) -FXY++F++FXY;
150     Y => - attr (distance, distance*02^0.5) F- attr (distance, distance/02^0.5) FXY;
151     )
152    
153     ruleset ( // Adrian Mariano
154     // from The Fractal Geometry of Nature by Mandelbrot
155    
156     Sierpinski(n) => attr (delta, 360/3) F, n;
157     F => FXF;
158     X => +FXF-FXF-FXF+;
159     )
160    
161     ruleset ( // Adrian Mariano
162     // from The Fractal Geometry of Nature by Mandelbrot
163    
164     Koch4(n) => attr (delta, 360/12) F++++F++++F, n;
165     F => +F--F++F-;
166     )
167    
168    
169     ruleset ( // Ken Philip, from The Science of Fractal Images p.285b
170     Plant(n) => attr (delta, 360/12) Z, n;
171     z => zFX[+Z][-Z];
172     x => x[-FFF][+FFF]FX;
173    
174     )
175    
176     ruleset ( // Ken Philip, from The Science of Fractal Images, p.286
177     Plant1(n) => attr (delta, 360/14) SLFFF, n;
178     s => [+++Z][---Z]TS;
179     z => +H[-Z]L;
180     h => -Z[+H]L;
181     t => TL;
182     l => [-FFF][+FFF]F;
183    
184     )
185    
186     ruleset ( // Ken Philip, from The Science of Fractal Images
187     Hilbert(n) => attr (delta, 360/20) x, n;
188     x => -YF+XFX+FY-;
189     y => +XF-YFY-FX+;
190    
191     )
192    
193     ruleset ( // From Jim Hanan via Corbit
194     Sierpinski1(n) => attr (delta, 360/4) F-F-F, n;
195     F => F[-F]F;
196    
197     )
198    
199    
200     ruleset (
201     Peano2(n) => attr (delta, 360/3) x, n;
202     x => XFYFX+F+YFXFY-F-XFYFX;
203     y => YFXFY-F-XFYFX+F+YFXFY;
204    
205     )
206    
207     ruleset (
208     Koch5(n) => attr (delta, 360/4) F+F+F+F, n;
209     F => F+F-F-FFF+F+F-F;
210    
211     )
212    
213     ruleset ( // from The Science of Fractal Images
214     Sierpinski2(n) => attr (delta, 360/4) FXF--FF--FF, n;
215     F => FF;
216     x => --FXF++FXF++FXF--;
217    
218     )
219    
220     ruleset (
221     Sierpinski_square(n) => attr (delta, 360/6) F+F+F+F, n;
222     F => FF+F+F+F+FF;
223    
224     )
225    
226    
227     ruleset ( // created by Adrian Mariano
228    
229     Pentagram(n) => attr (delta, 360/10) F x++F x++F x++F x++F x, n;
230     // f=f[++++@1.618033989f]
231     x => [++++ attr (distance, distance/01.618033989) F attr (distance, distance*0.618033989) F!x! attr (distance, distance/0.618033989) F];
232     )
233    
234    
235     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
236     // Quadratic Koch island, Figure 1.7a p.9
237    
238     Quad_koch(n) => attr (delta, 360/4) F-F-F-F-, n;
239     F => F+FF-FF-F-F+F+FF-F-F+F+FF+FF-F;
240     )
241    
242     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
243     // FASS curve (3x3 tiles form macrotile), Figure 1.16a p.17
244     Fass(n) => attr (delta, 360/4) -l, n;
245    
246     L => LF+RFR+FL-F-LFLFL-FRFR+;
247     R => -LFLF+RFRFR+F+RF-LFL-FR;
248     )
249    
250     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
251     // FASS curve (4x4 tiles form macrotile), Figure 1.16b p.17
252    
253     Fass1(n) => attr (delta, 360/4) -l, n;
254     L => LFLF+RFR+FLFL-FRF-LFL-FR+F+RF-LFL-FRFRFR+;
255     R => -LFLFLF+RFR+FL-F-LF+RFR+FLF+RFRF-LFL-FRFR;
256     )
257    
258     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
259     // Quadratic Gosper curve, Figure 1.11b p.12
260    
261     Quad_gosper(n) => attr (delta, 360/4) -F r, n;
262     l => F lF l-F r-F r+F l+F l-F r-F rF l+F r+F lF lF r-F l+F r+F lF l+F r-F lF r-F r-F l+F l+F rF r-;
263     r => +F lF l-F r-F r+F l+F lF r+F l-F rF r-F l-F r+F lF rF r-F l-F rF l+F l+F r-F r-F l+F l+F rF r;
264     F => ;
265     )
266    
267     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
268     // Plant-like structure, figure 1.24a p.25
269     // also p.285a The Science of Fractal Images
270    
271     Plant2(n) => attr (delta, 360/14) F, n;
272     F => F[+F]F[-F]F;
273     )
274    
275     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
276     // Plant-like structure, figure 1.24b p.25
277    
278     Plant3(n) => attr (delta, 360/18) F, n;
279     F => F[+F]F[-F][F];
280     )
281    
282     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
283     // Plant-like structure, figure 1.24c p.25
284    
285     Plant4(n) => attr (delta, 360/16) F, n;
286     F => FF-[-F+F+F]+[+F-F-F];
287     )
288    
289     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
290     // Plant-like structure, figure 1.24d p.25
291    
292     Plant5(n) => attr (delta, 360/18) x, n;
293     X => F[+X]F[-X]+X;
294     F => FF;
295     )
296    
297     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
298     // Plant-like structure, figure 1.24e p.25
299    
300     Plant6(n) => attr (delta, 360/14) x, n;
301     X => F[+X][-X]FX;
302     F => FF;
303     )
304    
305     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
306     // Plant-like structure, figure 1.24f p.25
307    
308     Plant7(n) => attr (delta, 360/16) x, n;
309     X => F-[[X]+X]+F[+FX]-X;
310     F => FF;
311     )
312    
313     ruleset ( // Adrian Mariano
314     Plant8(n) => attr (delta, 360/16) y, n;
315     x => X[-FFF][+FFF]FX;
316     y => YFX[+Y][-Y];
317    
318     )
319    
320     ruleset ( // Adrian Mariano
321     Plant9(n) => attr (delta, 360/14) F, n;
322     F => F[+F F][-F F]F[+F F][-F F]F;
323    
324     )
325    
326    
327     ruleset ( // Adrian Mariano
328     Plant10(n) => attr (delta, 360/10) F, n;
329     F => F[+F[+F][-F]F][-F[+F][-F]F]F[+F][-F]F;
330    
331     )
332    
333     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
334     // curve from figure 1.9a p.10
335    
336     Curve(n) => attr (delta, 360/4) F-F-F-F-, n;
337     F => FF-F-F-F-F-F+F;
338     )
339    
340     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
341    
342     Curve1(n) => attr (delta, 360/4) F-F-F-F-, n;
343     F => FF-F+F-F-FF;
344     )
345    
346     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
347     // curve from figure 1.9e p.10
348     Curve2(n) => attr (delta, 360/4) F-F-F-F-, n;
349    
350     F => F-FF--F-F;
351     )
352    
353     ruleset ( // Adrian Mariano
354     Curve3(n) => attr (delta, 360/4) y F, n;
355     x => YF+XF+Y;
356     y => XF-YF-X;
357    
358     )
359    
360     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
361     // Compound leaf with alternating branches, Figure 5.12b p.130
362    
363     Leaf(n) => attr (delta, 360/8) x, n;
364     a => n;
365     n => o;
366     o => p;
367     p => x;
368     b => e;
369     e => h;
370     h => j;
371     j => y;
372     x => F[+A(4)]F y;
373     y => F[-B(4)]F x;
374     F => attr (distance, distance*01.18) F attr (distance, distance/01.18) ;
375     )
376    
377     ruleset ( // Adrian Mariano, from the Algorithmic Beauty of Plants
378     // Compound leaf with alternating branches, Figure 5.12a p.130
379    
380     Leaf1(n) => attr (delta, 360/8) a, n;
381     a => F[+x]F b;
382     b => F[-y]F a;
383     x => a;
384     y => b;
385     F => attr (distance, distance*01.36) F attr (distance, distance/01.36) ;
386     )
387    
388     ruleset ( // Adrian Mariano
389    
390     Bush(n) => attr (delta, 360/16) ++++F, n;
391     F => FF-[-F+F+F]+[+F-F-F];
392     )
393    
394     ruleset ( // Adrian Mariano
395    
396     My_tree(n) => attr (delta, 360/16) ++++F, n;
397     F => FF-[XY]+[XY];
398     X => +FY;
399     Y => -FX;
400     )
401    
402     ruleset ( // Adrian Mariano
403    
404     Color_triang_gasket(n) => attr (delta, 360/6) --X, n;
405     X => ++FXF++FXF++FXF;
406     F => FF;
407     )
408    
409     ruleset ( // Adrian Mariano
410    
411     Square_gasket(n) => attr (delta, 360/4) X, n;
412     X => +FXF+FXF+FXF+FXF;
413     F => FF;
414     )
415    
416     ruleset ( // Adrian Mariano
417    
418     Dragon_curve(n) => attr (delta, 360/4) X, n;
419     X => X-YF-;
420     Y => +FX+Y;
421     )
422    
423     ruleset ( // Adrian Mariano
424    
425     Square(n) => attr (delta, 360/4) F+F+F+F, n;
426     F => FF+F+F+F+FF;
427     )
428    
429     ruleset ( // Adrian Mariano
430    
431     Koch_curve(n) => attr (delta, 360/6) F, n;
432     F => F+F--F+F;
433     )
434    
435    
436     ruleset ( // by Herb Savage
437     // based on Martin Gardner's "Penrose Tiles to Trapdoor Ciphers",
438     // Roger Penrose's rhombuses
439    
440     Penrose(n) => attr (delta, 360/10) +WF--XF---YF--ZF, n;
441     W => YF++ZF----XF[-YF----WF]++;
442     X => +YF--ZF[---WF--XF]+;
443     Y => -WF++XF[+++YF++ZF]-;
444     Z => --YF++++WF[+ZF++++XF]--XF;
445     F => ;
446     )
447    
448     ruleset ( // by Herb Savage
449     // based on Martin Gardner's "Penrose Tiles to Trapdoor Ciphers",
450     // Roger Penrose's rhombuses
451     // Uses color to show the edge matching rules to force nonperiodicy
452    
453     Color_penrose(n) => attr (delta, 360/10) +WF--XF---YF--ZF, n;
454     W => YF++ZF----XF[-YF----WF]++;
455     X => +YF--ZF[---WF--XF]+;
456     Y => -WF++XF[+++YF++ZF]-;
457     Z => --YF++++WF[+ZF++++XF]--XF;
458     F => ;
459     )
460    
461     ruleset ( // by Herb Savage
462     // based on Martin Gardner's "Penrose Tiles to Trapdoor Ciphers",
463     // Roger Penrose's rhombuses
464    
465     Penrose1(n) => attr (delta, 360/10) ++ZF----XF-YF----WF, n;
466     W => YF++ZF----XF[-YF----WF]++;
467     X => +YF--ZF[---WF--XF]+;
468     Y => -WF++XF[+++YF++ZF]-;
469     Z => --YF++++WF[+ZF++++XF]--XF;
470     F => ;
471     )
472    
473     ruleset ( // by Herb Savage
474     // based on Martin Gardner's "Penrose Tiles to Trapdoor Ciphers",
475     // Roger Penrose's rhombuses
476    
477     Penrose2(n) => attr (delta, 360/10) [X]++[X]++[X]++[X]++[X], n;
478     W => YF++ZF----XF[-YF----WF]++;
479     X => +YF--ZF[---WF--XF]+;
480     Y => -WF++XF[+++YF++ZF]-;
481     Z => --YF++++WF[+ZF++++XF]--XF;
482     F => ;
483     )
484    
485     ruleset ( // by Herb Savage
486     // based on Martin Gardner's "Penrose Tiles to Trapdoor Ciphers",
487     // Roger Penrose's rhombuses
488    
489     Penrose3(n) => attr (delta, 360/10) [Y]++[Y]++[Y]++[Y]++[Y], n;
490     W => YF++ZF----XF[-YF----WF]++;
491     X => +YF--ZF[---WF--XF]+;
492     Y => -WF++XF[+++YF++ZF]-;
493     Z => --YF++++WF[+ZF++++XF]--XF;
494     F => ;
495     )
496    
497     ruleset ( // by Herb Savage
498     // This is Penrose3 and Penrose4 superimposed
499    
500     Double_penrose(n) => attr (delta, 360/10) [X][Y]++[X][Y]++[X][Y]++[X][Y]++[X][Y], n;
501     W => YF++ZF----XF[-YF----WF]++;
502     X => +YF--ZF[---WF--XF]+;
503     Y => -WF++XF[+++YF++ZF]-;
504     Z => --YF++++WF[+ZF++++XF]--XF;
505     F => ;
506     )
507    
508     ruleset ( // by Herb Savage
509     // based on Martin Gardner's "Penrose Tiles to Trapdoor Ciphers"
510     // This is an example of a "reptile"
511    
512     Sphinx(n) => attr (delta, 360/6) X, n;
513     X => +FF-YFF+FF--FFF|X|F--YFFFYFFF|;
514     Y => -FF+XFF-FF++FFF|Y|F++XFFFXFFF|;
515     F => ff;
516     f => ff;
517     )
518    
519     ruleset (
520     // Manual construction by Roger Penrose as a prelude to his development of
521     // the famous Penrose tiles (the kites and darts) that tile the plane
522     // only non-periodically.
523     // Translated first to a "dragon curve" and finally to an L-system
524     // by Joe Saverino.
525    
526     Penta_plexity(n) => attr (delta, 360/10) F++F++F++F++F, n;
527     F => F++F++F|F-F++F;
528     )
529    
530     // old PentaPlexity:
531     // Angle 10
532     // Axiom F++F++F++F++Fabxjeabxykabxyelbxyeahxyeabiye
533     // F=
534     // a=Fabxjea
535     // b=++F--bxykab
536     // x=++++F----xyelbx
537     // y=----F++++yeahxy
538     // e=--F++eabiye
539     // h=+++++F-----hijxlh
540     // i=---F+++ijkyhi
541     // j=-F+jkleij
542     // k=+F-klhajk
543     // l=+++F---lhibkl
544    
545     ruleset ( // Adrian Mariano
546     Circular_tile(n) => attr (delta, 360/10) X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X+X, n;
547     x => [F+F+F+F[---X-Y]+++++F++++++++F-F-F-F];
548     y => [F+F+F+F[---Y]+++++F++++++++F-F-F-F];
549    
550     )
551