Polynomi tilavuudesta

Polynomi tilavuudesta



Ohjelman koodi on seuraava. Kopioi tämä koodi kokonaisuudessaan ohjelmointiympäristöön ja suorita koodi. Sinun ei tarvitse tehdä koodiin mitään muutoksia.
// Ohjelman tehnyt e-Oppi Oy
// 21.3.2018
int a = 1; // Laskurin alkuarvo 
int b = 1; // Laskurin alkuarvo
int c = 1; // Laskurin alkuarvo
int d = 1; // Laskurin alkuarvo
void setup () {
     size(600,700); // ikkunan koko
     stroke(0); // Musta viivan väri
     textSize(30); // Tekstin koko
}

void draw() {
     background(255); // Tyhjennä tausta
     fill(255,255,0); // Keltainen täyttöväri
     rect(0,0,599,50); // Piirrä keltainen suorakulmio
     rect(0,50,599,50); // Piirrä keltainen suorakulmio
     rect(0,100,599,50); // Piirrä keltainen suorakulmio
     rect(0,150,599,50); // Piirrä keltainen suorakulmio
     fill(255,100,100); // Punainen täyttöväri
     rect(a,0,50,50); // Piirrä punainen neliö
     rect(b,50,50,50); // Piirrä punainen neliö
     rect(c,100,50,50); // Piirrä punainen neliö
     rect(d,150,50,50); // Piirrä punainen neliö
     int x1 = mouseX; // Selvitä hiiren vaakakoordinaatti
     int y1 = mouseY;
      if (mousePressed == true) {
     if ((y1 > 0) && (y1 < 50)) {
          if ((x1>a) && (a < 550)) { // Jos hiiri on oikealla puolen
                a++; // niin kasvata laskuria
          }
          if ((x1<a) && (a > 0)) { // Jos hiiri on vasemmalla puolen
                a--; // niin pienennä laskuria
          }
     }
     if ((y1 > 50) && (y1 < 100)) {
          if ((x1>b) && (b < 550)) { // Jos hiiri on oikealla puolen
                b++; // niin kasvata laskuria
          }
          if ((x1<b) && (b > 0)) { // Jos hiiri on vasemmalla puolen
                b--; // niin pienennä laskuria
          }
     }
     if ((y1 > 100) && (y1 < 150)) {
          if ((x1>c) && (c < 550)) { // Jos hiiri on oikealla puolen
                c++; // niin kasvata laskuria
          }
          if ((x1<c) && (c > 0)) { // Jos hiiri on vasemmalla puolen
                c--; // niin pienennä laskuria
          }
     }
     if ((y1 > 150) && (y1 < 200)) {
          if ((x1>d) && (d < 550)) { // Jos hiiri on oikealla puolen
                d++; // niin kasvata laskuria
          }
          if ((x1<d) && (d > 0)) { // Jos hiiri on vasemmalla puolen
                d--; // niin pienennä laskuria
          }
      }
     }
      fill(0); // Musta tekstin väri
      int a2 = round(map(a,0,550,1,10));
      int b2 = round(map(b,0,550,1,10));
      int c2 = round(map(c,0,550,1,10));
      int d2 = round(map(d,0,550,1,10));
      text("V(x) = "+a2+"x\u00B7"+b2+"x\u00B7"+c2+"x ="+a2*b2*c2+"x\u00B3",10,250);
      text("V("+d2+") = "+a2*b2*c2+"\u00B7"+d2+"\u00B3 = "+a2*b2*c2*d2*d2*d2,10,290);

      text(a2+"x",60+((a2*30)/2.0),680);
      text(b2+"x",45,670-((b2*30)/2.0));
      text(c2+"x",55+5*c2,640-20*b2-5*c2);
      text(a2,a+10,35);
      text(b2,b+10,85);
      text(c2,c+10,135);
      text(d2,d+10,185);
      fill(0,200,255);
 
      rect(100,650,20*a2,-20*b2);
      quad(100+20*a2,650-20*b2,100+20*a2+10*c2,650-20*b2-10*c2,100+20*a2+10*c2,650-10*c2,100+20*a2,650);
      quad(100+20*a2,650-20*b2,100+20*a2+10*c2,650-20*b2-10*c2,100+10*c2,650-20*b2-10*c2,100,650-20*b2);
      for (int l= 1; l <= a2; l++) {
           line(100+l*20,650,100+l*20,650-20*b2);
           line(100+l*20,650-20*b2,100+l*20+10*c2,650-20*b2-10*c2);
      }
      for (int l= 1; l <= b2; l++) {
           line(100,650-l*20,100+a2*20,650-l*20);
           line(100+a2*20,650-l*20,100+a2*20+10*c2,650-l*20-10*c2);
      }
      for (int l= 1; l <= c2; l++) {
           line(100+20*a2+10*l,650-10*l,100+20*a2+10*l,650-20*b2-10*l);
           line(100+10*l,650-20*b2-10*l,100+20*a2+10*l,650-20*b2-10*l);
      }
}