Fillotassi con l'angolo aureo

    function setup() {
    createCanvas( 670, 300 );
    background( 240 );
    noStroke();
    fill( 40 );
    let angoloAureo = radians( 137.5 );
    for (let n = 0;  n < 700;  n++) {
        let angolo = n * angoloAureo;
        let distanza = 5 * sqrt( n );
        let x = 335 + cos( angolo ) * distanza;
        let y = 150 + sin( angolo ) * distanza;
        circle( x, y, 7 );
    }
}
  

  

radians() converte l’angolo aureo da gradi a radianti, l’unità usata da cos() e sin().


  

Ogni seme è ruotato dell’angolo aureo rispetto al precedente. La distanza dal centro cresce con la radice quadrata di n, quindi l’area occupata cresce quanto il numero dei semi, che restano ugualmente fitti: è il modello proposto da H. Vogel nel 1979 per i semi del girasole.

Nessuna istruzione disegna spirali, ma i semi ne formano due famiglie, in versi opposti.

Cambiando di poco l’angolo, ad esempio con 137.3 o 137.6, i semi si allineano in bracci a spirale e lasciano spazi vuoti.

Aggiungendo fill( (n % 21) * 12 ); prima di circle(), i semi con lo stesso grigio stanno sulla stessa spirale. Le altre famiglie di spirali si vedono con (n % 13) * 19 e con (n % 34) * 7.