Benutzer:Arbol01/Fraktale
Fraktal | L-System | Winkel | Strecken-Verhältnis | Visualisierung |
Drachenkurve |
F → R oder F → L R → +R--L+ L → -R++L- |
|||
Gosper-Kurve |
F → R oder F → L R → R+L++L-R--RR-L+ L → -R+LL++L+R--R-L |
|||
Hilbert-Kurve |
X X → -YF+XFX+FY- Y → +XF-YFY-FX+ |
|||
Koch-Flocke |
F--F--F F → F+F--F+F |
|||
Peano-Kurve |
X X → XFYFX+F+YFXFY-F-XFYFX Y → YFXFY-F-XFYFX+F+YFXFY |
|||
Peano-Kurve |
F F → F-F+F+F+F-F-F-F+F |
|||
Penta Plexity |
F++F++F++F++F F → F++F++F|F-F++F |
|||
Pfeilspitze |
F → R oder F -> L R → -L+R+L- L → +R-L-R+ |
|||
Sierpinski-Dreieck |
FXF--FF--FF X → --FXF++FXF++FXF-- F → FF |
|||
Sierpinski-Teppich |
F F → F+F-F-FF-F-F-fF f → fff |
to kurve :stufe :laenge
make "stufe :stufe - 1 make "laenge :laenge / 3 if :stufe > 0 [kurve :stufe :laenge rt 60 kurve :stufe :laenge lt 120 kurve :stufe :laenge rt 60 kurve :stufe :laenge] if :stufe = 0 [fd :laenge rt 60 fd :laenge lt 120 fd :laenge rt 60 fd :laenge] end
to flocke :stufe :laenge repeat 3 [kurve :stufe :laenge lt 120] end
- Drachenkurve
to dragon :stufe :laenge dcr :stufe :laenge end
to dcr :stufe :laenge make "stufe :stufe - 1 make "laenge :laenge / 1.41421 if :stufe > 0 [rt 45 dcr :stufe :laenge lt 90 dcl :stufe :laenge rt 45] if :stufe = 0 [rt 45 fd :laenge lt 90 fd :laenge rt 45] end
to dcl :stufe :laenge make "stufe :stufe - 1 make "laenge :laenge / 1.41421 if :stufe > 0 [lt 45 dcr :stufe :laenge rt 90 dcl :stufe :laenge lt 45] if :stufe = 0 [lt 45 fd :laenge rt 90 fd :laenge lt 45] end
- Gosperkurve
to rg :st :ln make "st :st - 1 make "ln :ln / 2.6457 if :st > 0 [rg :st :ln rt 60 gl :st :ln rt 120 gl :st :ln lt 60 rg :st :ln lt 120 rg :st :ln rg :st :ln lt 60 gl :st :ln rt 60] if :st = 0 [fd :ln rt 60 fd :ln rt 120 fd :ln lt 60 fd :ln lt 120 fd :ln fd :ln lt 60 fd :ln rt 60] end
to gl :st :ln make "st :st - 1 make "ln :ln / 2.6457 if :st > 0 [lt 60 rg :st :ln rt 60 gl :st :ln gl :st :ln rt 120 gl :st :ln rt 60 rg :st :ln lt 120 rg :st :ln lt 60 gl :st :ln] if :st = 0 [lt 60 fd :ln rt 60 fd :ln fd :ln rt 120 fd :ln rt 60 fd :ln lt 120 fd :ln lt 60 fd :ln] end
- Pfeilspitze
to pfeilspitze :stufe :laenge rpfeil :stufe :laenge end
to rpfeil :stufe :laenge make "stufe :stufe - 1 make "laenge :laenge / 2 if :stufe > 0 [rt 60 lpfeil :stufe :laenge lt 60 rpfeil :stufe :laenge lt 60 lpfeil :stufe :laenge rt 60] if :stufe = 0 [rt 60 fd :laenge lt 60 fd :laenge lt 60 fd :laenge rt 60] end
to lpfeil :stufe :laenge make "stufe :stufe - 1 make "laenge :laenge / 2 if :stufe > 0 [lt 60 rpfeil :stufe :laenge rt 60 lpfeil :stufe :laenge rt 60 rpfeil :stufe :laenge lt 60] if :stufe = 0 [lt 60 fd :laenge rt 60 fd :laenge rt 60 fd :laenge lt 60] end
- Pentaplexity
to pepl :stufe :laenge make "stufe :stufe - 1 make "laenge :laenge / 2.618 if :stufe > 0 [pepl :stufe :laenge rt 72 pepl :stufe :laenge rt 72 pepl :stufe :laenge rt 180 pepl :stufe :laenge lt 36 pepl :stufe :laenge rt 72 pepl :stufe :laenge] if :stufe = 0 [fd :laenge rt 72 fd :laenge rt 72 fd :laenge rt 180 fd :laenge lt 36 fd :laenge rt 72 fd :laenge] end
to pp :stufe :laenge repeat 4 [pepl :stufe :laenge rt 72] pepl :stufe :laenge end