// logistic.java // logistic growth // adapted from a program in basic by H.T. Odum & E. Odum, 1994 import java.applet.Applet; import java.awt.*; public class logistic extends Applet { Label pr1,pr2,pr3; TextField in1,in2,in3; float ee,q,qi,k1,k4,dq,t,ti; public void init() { pr1 = new Label("Availability of constant-pressure source E: "); in1 = new TextField("17",4); add(pr1);add(in1); pr2 = new Label("Initial population Q (try up to 160): "); in2 = new TextField("4",4); add(pr2);add(in2); pr3 = new Label("Sensitiveness to crowding of the population: "); in3 = new TextField("8",4); add(pr3);add(in3); } public boolean action (Event e, Object o) { ee = 0.1f*(float)Integer.parseInt(in1.getText()); q = (float)Integer.parseInt(in2.getText()); k4 = 0.0001f*(float)Integer.parseInt(in3.getText()); repaint(); return true; } public void paint (Graphics g) { k1=0.04f;qi=q;t=0;ti=t; g.drawRect(50,100,320,180); while (t<320) { dq=k1*ee*q-k4*q*q; q+=dq; t+=1; g.setColor(Color.orange); g.drawLine((int)(50+ti),(int)(280-qi),(int)(50+t),(int)(280-q)); ti=t;qi=q; } } } // Stefan Kontur & E. Ortega, 2000.