- Mouse (orizzontale): posizione del vertice C del triangolo rettangolo.
- Applicazione Java
color fSfondo, fPrimo, fSecondo, sPrimo, sSecondo, cLettere; int dx, dy; float xMIN, xMAX, yMIN, yMAX, CCx, CCy, Cx, Cy, CCr, d, distanza, h; PFont fontLettere; void setup() { size(500, 500); 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; xMIN=dx*.1; xMAX=dx*.9; yMIN=dy*.1; yMAX=dy*.9; CCx=dx/2; CCy=yMAX; CCr=CCx-xMIN; } void aggiorna() { Cx=constrain(mouseX, xMIN, xMAX); d=Cx-CCx; h=CCr*sin(acos(d/CCr)); distanza=Cx-xMIN; Cy=yMAX-h; } void draw() { aggiorna(); background(fSfondo); smooth(); strokeWeight(1); fill(fSecondo); stroke(sSecondo); triangle(xMAX, yMAX, xMAX, yMIN, xMAX-h , yMAX-distanza); triangle(xMAX, yMIN, xMIN, yMIN, xMAX-distanza, yMIN+h ); triangle(xMIN, yMIN, xMIN, yMAX, xMIN+h , yMIN+distanza); strokeWeight(2); fill(fSfondo); stroke(sPrimo); triangle(xMIN, yMAX, xMAX, yMAX, Cx , Cy ); stroke(cLettere); fill(cLettere); ellipse(xMIN, yMAX, 2, 2); ellipse(xMAX, yMAX, 2, 2); ellipse(Cx, Cy, 2, 2); text("A", xMIN-20, yMAX+20); text("B", xMAX+20, yMAX+20); if(Cx > CCx) text("C", Cx+20, Cy-20); else if(Cx == CCx) text("C", Cx , Cy-20); else text("C", Cx-20, Cy-20); }
Siano a=|BC|, b=|AC|, c=|AB| allora