Arbelo di Archimede: in greco è il trincetto da calzolaio.
La lunghezza del suo contorno è uguale alla circonferenza di diamentro AB.
La sua superficie è equiestesa all’area del cerchio di diametro CD.
- Mouse (posizione orizzontale): cambia la figura
- Mouse (tasto): rivela la proprietà
- Applicazione Java
color fSfondo, fPrimo, fSecondo, sPrimo, sSecondo, cLettere; int dx, dy; float Ax, Bx, Cx, Dx, ACx, CBx, CDx, CCx, // ascisse Ay, By, Cy, Dy, ACy, CBy, CDy, CCy, // ordinate CCr, ACr, CBr, CDr; // raggi PFont fontLettere; void setup() { size(500, 300); ellipseMode(RADIUS); smooth(); fontLettere = loadFont("C16.vlw"); textFont(fontLettere); textAlign(CENTER); fSfondo =color(255, 255, 255); fPrimo =color(0, 0, 0); sPrimo =color(0); fSecondo=color(0, 255, 0, 50); sSecondo=color(0, 255, 0); cLettere=color(0, 0, 255); dx=width; dy=height; CCx=dx/2; CCy=dy*0.9; CCr=dx*0.42; Ax=CCx-CCr; Ay=CCy; Bx=CCx+CCr; By=CCy; Cy=CCy; ACy=CCy; CBy=CCy; noLoop(); } void mousePressed() { redraw(); } void mouseMoved() { redraw(); } void mouseDragged() { redraw(); } void aggiorna() { Cx=constrain(mouseX, Ax, Bx); ACx=(Ax+Cx)/2; CBx=(Cx+Bx)/2; Dx=Cx; Dy=CCy-CCr*sin(acos((Cx-CCx)/CCr)); CDx=Cx; CDy=(Cy+Dy)/2; ACr=(Cx-Ax)/2; CBr=(Bx-Cx)/2; CDr=(Cy-Dy)/2; } void draw() { aggiorna(); background(fSfondo); smooth(); noStroke(); fill(fPrimo); arc(CCx, CCy, CCr, CCr, PI, TWO_PI); strokeWeight(2); stroke(fSfondo); fill(fSfondo); arc(ACx, ACy, ACr, ACr, PI, TWO_PI); arc(CBx, CBy, CBr, CBr, PI, TWO_PI); if(mousePressed) { strokeWeight(1); stroke(sSecondo); fill(fSfondo); arc(ACx, ACy, ACr, ACr, PI, TWO_PI); arc(CBx, CBy, CBr, CBr, PI, TWO_PI); line(Ax, Ay, Bx, By); line(Cx, Cy, Dx, Dy); strokeWeight(2); fill(fSecondo); ellipse(CDx, CDy, CDr, CDr); stroke(cLettere); fill(cLettere); ellipse(Ax, Ay, 2, 2); ellipse(Bx, By, 2, 2); ellipse(Cx, Cy, 2, 2); ellipse(Dx, Dy, 2, 2); text("A", Ax-20, Ay+20); text("B", Bx+20, By+20); text("C", Cx , Cy+20); if(Dx > CCx ) text("D", Dx+20, Dy-10); else if(Dx == CCx) text("D", Dx , Dy-10); else text("D", Dx-20, Dy-10); } }