Basics > Form > TriangleStrip
- Mouse (tasto): aumenta il numero di triangoli
- Mouse (Ctrl+tasto): diminuisce il numero di triangoli
- Applicazione Java
final int maxPUNTI=32;
final int minPUNTI=8;
float PUNTI = 12;
float RUOTA,
xc, yc,
raggio1,
raggio2;
boolean cresce=true;
void setup()
{
size(500, 500);
stroke(127);
smooth();
xc = width/2.0;
yc = height/2.0;
raggio1 = 0.95*xc;
raggio2 = 0.5*xc;
RUOTA=360.0/PUNTI;
noLoop();
}
void keyPressed() { cresce=false; }
void keyReleased() { cresce=true; }
void mousePressed()
{
if(cresce && PUNTI < maxPUNTI)
{
PUNTI+=2;
RUOTA=360.0/PUNTI;
redraw();
}
else if(!cresce && PUNTI > minPUNTI)
{
PUNTI-=2;
RUOTA=360.0/PUNTI;
redraw();
}
}
void draw()
{
float px = 0,
py = 0,
angolo = 0;
background(255);
beginShape(TRIANGLE_STRIP);
for (int i=0; i < PUNTI; i++)
{
fill(127, 127, 0);
px = xc+cos(radians(angolo))*raggio2;
py = yc+sin(radians(angolo))*raggio2;
vertex(px, py);
angolo += RUOTA;
fill(0, 0, 127);
px = xc+cos(radians(angolo))*raggio1;
py = yc+sin(radians(angolo))*raggio1;
vertex(px, py);
angolo += RUOTA;
}
endShape();
}