Teorema di Pitagora 2

  • Mouse (orizzontale): posizione del vertice A del triangolo rettangolo.
  • Applicazione Java
color fSfondo, 
      fPrimo, 
      fSecondo,
      sPrimo, 
      sSecondo,
      cLettere;   
int   dx, dy; 
float Ax, By, 
      xMIN, xMAX, yMIN, yMAX, 
      distanza;
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;

   noLoop();
}

void mouseMoved()   { redraw(); }
void mouseDragged() { redraw(); }

void aggiorna()
{
   Ax=constrain(mouseX, xMIN, xMAX);   
   distanza=Ax-xMIN;
}

void draw()
{
  aggiorna();  
  background(fSfondo); 
  smooth();
  strokeWeight(1);
      fill(fSecondo); 
      stroke(sSecondo); 
      triangle(Ax,  yMAX,  xMAX, yMAX, xMAX, yMAX-distanza);
      triangle(xMAX, yMAX-distanza, xMAX, yMIN, xMAX-distanza, yMIN);
      triangle(xMAX-distanza, yMIN, xMIN, yMIN, xMIN, yMIN+distanza);
  strokeWeight(2);
      fill(fSfondo);   
      stroke(sPrimo);  
      triangle(xMIN, yMIN+distanza, xMIN, yMAX, Ax, yMAX);
  stroke(cLettere); 
      fill(cLettere); 
      ellipse(Ax, yMAX, 2, 2);                   
      ellipse(xMIN, yMIN+distanza, 2, 2);  
      ellipse(xMIN, yMAX, 2, 2);
      text("A", Ax+20, yMAX+20);              
      text("B", xMIN-20, yMIN+distanza-20);                                     
      text("C", xMIN-20, yMAX+20);
}

Siano a=|BC|, b=|AC|, c=|AB|, allora

tdp2