Ultima modifica:
È una funzione ricorsiva. Concettualmente funziona esattamente come l'hai descritta tu: dato un segmento, dividi la sua lunghezza in tre e disegni una specie di triangolo _/\_ costituito da quattro segmenti. Adesso che hai quattro segmenti, puoi ripetere lo stesso procedimento per ognuno di essi e andare avanti potenzialmente anche all'infinito. Invece di continuare a sbriciolare ogni segmento triangolo in pezzi sempre più piccoli, stabilisci che i segmenti piccoli (n < 10) rimangono tali.
In pratica non disegni un triangolo per poi spezzarlo. L'unica cosa che tracci sono i segmenti più piccoli, perché ogni chiamata (ricorsiva) alla funzione kotch deve risolversi completamente prima di passare la riga di codice successiva. Supponendo n=81, almeno mi vengono numeri interi, possiamo schematizzare in questo modo:
Prima di disegnare di disegnare la seconda curva lunga 27 devo disegnare tutta la prima curva lunga 27 (...che mi richiede di disegnare quattro curve lunghe 9).
Volevo colorare anche l'albero, ma non si può colorare all'interno del blocco code e se lo tolgo perdo gli spazi. Supponi che ogni numero sia colorato in modo diverso e che se due numeri uguali sono colorati allo stesso modo identificano lo stesso segmento. Chiaro?
In pratica non disegni un triangolo per poi spezzarlo. L'unica cosa che tracci sono i segmenti più piccoli, perché ogni chiamata (ricorsiva) alla funzione kotch deve risolversi completamente prima di passare la riga di codice successiva. Supponendo n=81, almeno mi vengono numeri interi, possiamo schematizzare in questo modo:
Codice:
81
27 27 27 27
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
- Il segmento 81 scopre che al suo interno ha un segmento 27. Il segmento 27 scopre che al suo interno ha un segmento 9. Il segmento 9 viene disegnato.
- Adesso si ritorna al segmento 27, che svolta di 60 gradi e scopre il secondo segmento 9. Il segmento 9 viene disegnato.
- Adesso si ritorna al segmento 27 che svolta di altri 60 gradi e scopre un altro segmento 9. Il segmento 9 viene disegnato.
- Adesso si ritorna al segmento 27 che svolta di altri 60 gradi e scopre un altro segmento 9. Il segmento 9 viene disegnato.
- Adesso si ritorna al segmento 27 che è stato completamente disegnato e torna al segmento 81, che svolta di 60 gradi e scopre che al suo interno ha un altro segmento 27. Il segmento 27 scopre che al suo interno ha un segmento 9. Il segmento 9 viene disegnato.
- eccetera eccetera...
Prima di disegnare di disegnare la seconda curva lunga 27 devo disegnare tutta la prima curva lunga 27 (...che mi richiede di disegnare quattro curve lunghe 9).
Volevo colorare anche l'albero, ma non si può colorare all'interno del blocco code e se lo tolgo perdo gli spazi. Supponi che ogni numero sia colorato in modo diverso e che se due numeri uguali sono colorati allo stesso modo identificano lo stesso segmento. Chiaro?