Stella a 6 punte

final float RAGGIO         = 85,
            h              = RAGGIO,
            deltaROTAZIONE = 0.05,
            GAP            = PI/6;

color colori[];

float angoloRotazione,
      H,
      WIDTH2,
      HEIGHT2;

void setup()
{
  size(500, 500, P3D);
  noStroke();
  frameRate(30);
  H=2.5*h;
  colori=new color[36];
  for(int i=0; i < 36; i++)
     colori[i]=color(random(0,127), random(127,255), 0);

  WIDTH2  = width/2;
  HEIGHT2 = height/2;
}

void draw()
{
  background(255);
  angoloRotazione+=deltaROTAZIONE;

  translate(WIDTH2, HEIGHT2);
  rotateX(-map(mouseY, 0, width, -GAP, TWO_PI+GAP));
  rotateY(angoloRotazione);

  solido();  
}

void solido()
{
  int k=0;
  beginShape(TRIANGLE_FAN); 
    vertex( 0, H, 0);  fill(colori[k++]);
    vertex( h, h, h);  fill(colori[k++]);
    vertex( h, h,-h);  fill(colori[k++]);
    vertex(-h, h,-h);  fill(colori[k++]);
    vertex(-h, h, h);  fill(colori[k++]);
    vertex( h, h, h);  fill(colori[k++]);
  endShape();

  beginShape(TRIANGLE_FAN);
    vertex( 0,-H, 0);  fill(colori[k++]);
    vertex( h,-h, h);  fill(colori[k++]);
    vertex( h,-h,-h);  fill(colori[k++]);
    vertex(-h,-h,-h);  fill(colori[k++]);
    vertex(-h,-h, h);  fill(colori[k++]);
    vertex( h,-h, h);  fill(colori[k++]);
   endShape();

  beginShape(TRIANGLE_FAN); 
    vertex( 0, 0, H);  fill(colori[k++]);
    vertex( h, h, h);  fill(colori[k++]);
    vertex(-h, h, h);  fill(colori[k++]);
    vertex(-h,-h, h);  fill(colori[k++]);
    vertex( h,-h, h);  fill(colori[k++]);
    vertex( h, h, h);  fill(colori[k++]);
  endShape();

  beginShape(TRIANGLE_FAN);  
    vertex( 0, 0,-H);  fill(colori[k++]);
    vertex( h, h,-h);  fill(colori[k++]);
    vertex(-h, h,-h);  fill(colori[k++]);
    vertex(-h,-h,-h);  fill(colori[k++]);
    vertex( h,-h,-h);  fill(colori[k++]);
    vertex( h, h,-h);  fill(colori[k++]);
  endShape();

  beginShape(TRIANGLE_FAN); 
    vertex( H, 0, 0);  fill(colori[k++]);
    vertex( h, h, h);  fill(colori[k++]);
    vertex( h,-h, h);  fill(colori[k++]);
    vertex( h,-h,-h);  fill(colori[k++]);
    vertex( h, h,-h);  fill(colori[k++]);
    vertex( h, h, h);  fill(colori[k++]);
  endShape();

  beginShape(TRIANGLE_FAN); 
    vertex(-H, 0, 0);  fill(colori[k++]);
    vertex(-h, h, h);  fill(colori[k++]);
    vertex(-h,-h, h);  fill(colori[k++]);
    vertex(-h,-h,-h);  fill(colori[k++]);
    vertex(-h, h,-h);  fill(colori[k++]);
    vertex(-h, h, h);  fill(colori[k++]);
  endShape();
}