Variazioni di poligoni regolari: stella

// height=100 lines=auto
function setup() {
    background( 200 );

    let vertici = 16;
    let angoloArco = TWO_PI/vertici;

    beginShape();
    for (let i=0; i<vertici; ++i) {
        let angolo = i * angoloArco;
        let raggio = (i%2 == 0)? 40 : 10;  // raggio variabile
        let x = 50 + cos( angolo )*raggio;
        let y = 50 + sin( angolo )*raggio;
        vertex( x, y );
    }
    endShape( CLOSE );
}
let raggio = (i%2 == 0)? 40 : 10;

La condizione è vera quando i è un numero pari (resto di i/2 uguale a 0). Se la condizione è vera raggio diventa 40, altrimenti diventa 10.

let raggio = (i%2 == 0)? 40 : 10;

L'operatore ternario ?: permette di ottenere una versione sintetica del seguente codice:

  let raggio;
  if (i%2 == 0) {
      raggio = 40;
  } else {
      raggio = 10;
  }

Modificare il numero di vertici usando anche valori dispari o con decimali.