import java.awt.*; public class graafik4 extends abiapl{ double p, t, p0=1500, m=15000, c=0.5; Image pilt; Graphics piltg; valik mv=new valik(this, "mv", 0, m, 20000, 100), p0v=new valik(this, "p0v", 0, p0, 100000, 100), cv=new valik(this, "cv", 0, c, 3, 0.05); Panel pn = new Panel(); Panel pt[]=new Panel[4]; Label l1=new Label(" P0="), l2=new Label(" M="), l3=new Label(" c="); public void init(){ int i; mv.komataga=-100; cv.komataga=-100; p0v.komataga=-100; pilt=createImage(400, 300); piltg=pilt.getGraphics(); for(i=0; i<4; i++){pt[i]=new Panel(); pt[i].setLayout(new BorderLayout());} pn.setLayout(new GridLayout(1,3)); pt[0].add("West", l1); pt[0].add("Center", p0v); pt[1].add("West",l2); pt[1].add("Center", mv); pt[2].add("West", l3); pt[2].add("Center", cv); for(i=0; i<3; i++){pn.add(pt[i]);} setLayout(new BorderLayout()); add("South", pn); joonis(); } void joonis(){ int ux, uy, vx, vy; vx=0; t=0; arvuta(); vy=(int)(250-p/100); piltg.setColor(Color.white); piltg.fillRect(0, 0, 400, 400); piltg.setColor(Color.black); for(int i=3; i<15; i+=3){ piltg.drawString(Integer.toString(i),i*30, 260);} for(int i=5000; i<30000; i+=5000){piltg.drawString(Integer.toString(i), 5, 250-i/100);} piltg.drawString("P", 10, 10); piltg.drawString("t", 380, 260); for(t=0; t<15; t+=0.1){ arvuta(); ux=(int)(t*30); uy=(int)(250-p/100); if(uy<0) break; piltg.drawLine(ux, uy, vx, vy); vx=ux; vy=uy; } repaint();} public void seaVaartus(valik vl){ if(vl.ise.equals("mv"))m=vl.vaartus; if(vl.ise.equals("p0v"))p0=vl.vaartus; if(vl.ise.equals("cv"))c=vl.vaartus; joonis(); } void arvuta(){p=m/(1+(m/p0-1)*Math.exp(-c*t));} public void paint(Graphics g){ g.drawImage(pilt, 0, 0, this); } public void update(Graphics g){paint(g);} }