Generazione con funzioni ricorsive
All’interno della definizione di una funzione è possibile inserire una o più chiamate alla funzione stessa. Quando la funzione verrà eseguita verranno effettuate anche le chiamate interne che, a loro volta, effettueranno altre chiamate e così via. Sfruttando questa caratteristica è possibile far generare configurazioni composte da un elemento base che si ripete modificato e moltiplicato all’infinito.
La funzione ha uno o più parametri che permettono di modificare l’esecuzione a ogni (sotto)chiamata. In alcuni casi il solo livello di ricorsione può essere sufficiente per ricavare gli altri parametri.
Per tenere traccia del livello di ricorsione il valore della variabile di riferimento dev’essere incrementato prima delle chiamate interne.
La variabile usata per tenere traccia del livello di ricorsione viene sempre controllata per capire se continuare con ulteriori chiamate. In caso contrario la ricorsione procederebbe all’infinito impedendo la conclusione dello sketch.
Prima che la funzione chiami se stessa è necessario modificare i parametri per evitare che venga disegnato sempre lo stesso elemento nella stessa posizione. La funzione può quindi chiamare se stessa una, due o più volte con parametri diversi ma con lo stesso nuovo valore di livello.
Espandendo l’esecuzione del codice di una ricorsione con un massimo di tre livelli di iterazione, la sequenza delle chiamate sarebbe questa: