Basics > Form > PieChart
- Mouse (tasto): diagramma a torta casuale.
- Applicazione Java
int NUMERO; int VALORI[]; float angoli[]; float xc, yc; float raggio1, raggio2; color colore; void setup() { size(500, 500); noStroke(); smooth(); ellipseMode(RADIUS); PFont font = loadFont("C16.vlw"); textFont(font); textAlign(CENTER); xc=width/2; yc=height/2; raggio1=0.42*width; raggio2=0.47*width; esegui(); noLoop(); } void mousePressed() { esegui(); redraw(); } void esegui() { NUMERO=(int)random(5, 10); VALORI=new int[NUMERO]; for(int i=0; i < NUMERO; i++) VALORI[i]=(int)random(5, 50); int totale=0; for(int i=0; i < NUMERO; i++) totale += VALORI[i]; float angolo=TWO_PI/totale; angoli=new float[NUMERO]; for(int i=0; i < NUMERO; i++) angoli[i] = angolo*VALORI[i]; } void draw() { background(255); float angolo=0; for (int i=0; i < NUMERO; i++) { colore=color(random(0, 128), random(0, 128), random(0, 128)); fill(colore); stroke(colore); arc(xc, yc, raggio1, raggio1, angolo, angolo+angoli[i]); text(VALORI[i], xc+raggio2*cos(angolo+angoli[i]/2), yc+raggio2*sin(angolo+angoli[i]/2)); angolo += angoli[i]; } }