import sk.uniba.fmph.pocprak.simplegraphics.*;
import sk.uniba.fmph.pocprak.genutils.wait;

public class Pokus5 {

  public static void main(String[] args) {
    Killer.createKiller();

    Kreslic krxy = new Kreslic(new GrAxisX(0, 1, 0), new GrAxisY( -1., 1., 0));
    krxy.gr.setUserFrameSize(0.5, 0., 1., 1.);
    krxy.nakresliOsi();
    krxy.gr.repaint();
    Struna.nmax=100;
    Struna.ndrawpoints=300;
    wait.calibrate();	//calibrate the wait methods for the particular computer
    //definujeme strunu dlzky 1 s frekvenciou zakladneho modu 1 za s
    Struna str = new Struna(1.,1.);
    //pociatocny stav struny zadame mysou tak ze naklikame retiazku bodov
    // z ktorych potom uz pocitac urobi hladku krivku.
    IntegrablePath f0 = new IntegrablePath();
    f0.addPoint(new point(0.,0.));
    f0.addPoint(new point(1.,0.));
    System.out.println("Naklikajte mysou body krivky");
    f0.addMousePoints(krxy.gr);
    f0.makeDense(1000);
    f0.draw(krxy.gr);
    krxy.gr.repaint();
    str.initState(f0);
    str.draw(krxy.gr,0.);
    krxy.gr.repaint();
    double t=0;
    double deltat = 0.01;
    while(t<10){
      wait.milis(50);
      t=t+deltat;
      krxy.gr.clearImage();
      krxy.nakresliOsi();
      str.draw(krxy.gr,t);
      krxy.gr.repaint();
    }
    System.out.println("Animacia skoncila");
  }
}
