Tutte le famiglie

Riscrittura (L-system)

Il testo viene riscritto più volte, poi ogni lettera diventa un tratto o una svolta.

La regola

Un sistema L parte da una stringa di lettere, l'assioma, e da una regola che dice con che cosa sostituire ogni lettera. La regola si applica a tutte le lettere insieme, poi di nuovo sul risultato. Ogni giro è una generazione.

F → F-F++F-F

Poi una tartaruga legge la stringa. F vuol dire: avanza tracciando un segno. + gira a sinistra di un angolo fisso, - gira a destra dello stesso angolo. Le parentesi quadre [ e ] mettono da parte la posizione e poi la ritrovano: è così che nascono i rami. Le altre lettere, come X, non disegnano nulla, servono solo alla riscrittura.

Qui l'assioma è F++F++F, un triangolo, e l'angolo è di 60°. A ogni generazione, ogni segno è sostituito da quattro segni più piccoli. Il testo cresce molto in fretta, ma il disegno conserva lo stesso aspetto.

Tocca a voi

Scegliete una regola, poi alzate le generazioni una alla volta. La stringa compare accanto al disegno: quando diventa troppo lunga, ne viene mostrato solo l'inizio, con la lunghezza reale subito sotto. La tartaruga la percorre, e il disegno viene reinquadrato a ogni generazione per stare nel riquadro.

Il drago e la pianta hanno un proprio limite di generazioni, perché la pagina resti fluida.

3

Stringa riscritta

F++F++F

7 caratteri

F → F-F++F-F

Il disegno qui sopra è uno schema didattico, non l'opera: mostra la regola, ma non riproduce i colori, la dimensione dei punti né la grana della stampa.

Che cosa cambia da un algoritmo all'altro

Quasi tutto sta nei dati: l'assioma, la regola e l'angolo. Il motore che legge la stringa è lo stesso per quasi tutti.

Curva del drago
Il drago di Heighway: una striscia di carta piegata a metà ancora e ancora, poi aperta ad angoli retti. L'opera non scrive una regola di riscrittura: costruisce direttamente la successione delle svolte, a sinistra o a destra, piegando la carta. Lo schema qui sopra passa da una regola, più semplice da mostrare.
Terdrago
Il drago ternario, tracciato con un solo tratto. La regola è F → F+F-F, con svolte di 120°.
Curva C di Lévy
La curva a C di Lévy. Ogni segno è sostituito da due segni ad angolo retto: F → +F--F+, con svolte di 45°.
Fiocco di neve di Koch
Il fiocco di Koch: un triangolo (F++F++F) i cui lati si increspano secondo F → F-F++F-F, con svolte di 60°. La curva è chiusa.
Curva di Koch quadratica
La variante ad angolo retto: F → F+F-F-F+F, con svolte di 90°. Ogni segno diventa un merlo. A differenza del fiocco, la curva è aperta.
Punta di freccia di Sierpiński
La punta di freccia di Sierpiński: un solo tratto che finisce per disegnare il triangolo di Sierpiński. Due lettere, F e G, disegnano entrambe: F → G-F-G e G → F+G+F, con svolte di 60°.
Sierpiński (sistema L)
Il triangolo di Sierpiński, ottenuto in un altro modo: l'assioma è F-G-G, le regole sono F → F-G+F+G-F e G → GG, con svolte di 120°.
Fiocco di neve di Gosper
Il fiocco di Gosper, o flowsnake: una curva esagonale che riempie lo spazio. Due lettere disegnano, F → F-G--G+F++FF+G- e G → +F-GG--G-F++F+G, con svolte di 60°.
Curva di Hilbert
La curva di Hilbert, che riempie il quadrato. Le lettere X e Y non disegnano, servono solo alla riscrittura: X → +YF-XFX-FY+ e Y → -XF+YFY+FX-, con svolte di 90°.
Curva di Peano
La curva di Peano, un'altra curva che riempie il quadrato. La stringa è moltiplicata per nove a ogni generazione, contro quattro per Hilbert: non si può quindi salire altrettanto. Svolte di 90°, regole scritte con X e Y.
Curva di Moore
La curva di Moore, la versione chiusa di Hilbert: l'assioma LFL+F+LFL unisce quattro pezzi di Hilbert in un anello. Le lettere L e R non disegnano, svolte di 90°.
Pianta frattale
La pianta di Lindenmayer, l'unica della famiglia ad avere dei rami: le parentesi quadre [ e ] mettono da parte la posizione. X → F+[[X]-X]-F[-FX]+X e F → FF, con svolte di 25°. È anche l'unica il cui angolo può essere estratto a caso, di poco, a ogni svolta.

Ciò che decide il caso

Per ogni opera, il programma sorteggia queste impostazioni, entro limiti fissati in anticipo.

  • Numero di riscritture Curva del drago da 11 a 16
  • Angolo di svolta (°) Curva del drago da 88 a 92
  • Angolo (°) Fiocco di neve di Koch da 58 a 62

Gli algoritmi di questa famiglia

  • Curva del drago
  • Terdrago
  • Curva C di Lévy
  • Fiocco di neve di Koch
  • Curva di Koch quadratica
  • Punta di freccia di Sierpiński
  • Sierpiński (sistema L)
  • Fiocco di neve di Gosper
  • Curva di Hilbert
  • Curva di Peano
  • Curva di Moore
  • Pianta frattale

Opere di questa famiglia

Tutte le famiglie