Crescita per trasformazioni accumulate
Senza push() e pop() le trasformazioni si sommano: a ogni ripetizione il sistema di coordinate viene ruotato e ridotto rispetto a quello della ripetizione precedente. L’istruzione che disegna l’ellisse è sempre la stessa, ma ogni ellisse dipende dalle trasformazioni di tutte quelle che la precedono, anche nello spessore del contorno.
A ogni passo la distanza dal centro si riduce della stessa proporzione, mentre l’angolo cresce della stessa quantità: le ellissi si dispongono lungo una spirale logaritmica, come le camere di una conchiglia. Riempite con il colore dello sfondo, coprono in parte quelle disegnate prima, e sembrano gli anelli di un corno.
Cambiando la rotazione, ad esempio con
0.3, o la riduzione, ad esempio con0.99, gli anelli si allontanano o la spirale si allunga.
Al posto dell’ellisse si può disegnare un’altra forma, ad esempio
rect( 125, 0, 40, 40 ).
Nel libro On Growth and Form (1917) D’Arcy Wentworth Thompson descrisse conchiglie e corna come forme che crescono aggiungendo materiale senza cambiare proporzioni, e che per questo seguono la spirale logaritmica.