Teorema di Pitagora 1

  • 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

tdp2