Lehrer Nussbaumer - JAVA (eine kleine Einführung ;) |
---|
GrundlagenGUIEingabeAusgabeApplikationenApplets
ServletsBeispieleSpieleIDEsSkriptumJAVA-DOCS----------------- letzte Änderung: 09 December 2021 ----------------- Lehrer Nussbaumers Seite ... in Arbeit ... |
FeigenbaumdiagrammUntersucht man das Verhalten der Verhulst-Funktion bei verschiedenen Anfangswerten, so stellt sich heraus, dass zwischen den Werten 3.0 und 4.0 immer mehr Häufungswerte auftreten. Dies kann man im Feigenbaumdiagramm zusammenfassen: Beispiel:Code:import java.awt.*; import java.awt.event.*; public class Feigenbaum extends java.applet.Applet implements MouseListener, MouseMotionListener { int mausx; public void init() { setBackground(Color.white); addMouseListener(this); addMouseMotionListener(this); } public double bif(double r, double x) { return r*x*(1-x); } public void paint (Graphics bs) { Color lgrey = new Color(160,160,160); bs.setColor(lgrey); for (int i=0;i<20;i++) { bs.drawLine(40*i, 0, 40*i, 400); bs.drawLine(0, 20*i, 800, 20*i); } bs.setColor(Color.red); for (int x=0;x<440;x++) { double a=2.9 + (double) x /400; double xr =0.01; for (int i=0;i<100;i++) xr=bif(a,xr); for (int i=0;i<80;i++) { xr=bif(a, xr); int y=400-(int)(xr*400); bs.drawRect(x,y,1,1); } } if (mausx < 439) { bs.setColor(Color.black); for (int i=0;i<20;i++) bs.drawLine(mausx, i*20, mausx, i*20+12); double ys=0.01; double r = ((double)mausx-40)/400 +3; String ausgabe = "r = " + r; bs.drawString(ausgabe,450,20); bs.setColor(Color.red); for (double x=0.01;x<3;x+=0.01) { ys = bif(r,ys); bs.fillRect((int)(x*100+500),400-(int)(ys*400),2,2); } } } public void mouseClicked(MouseEvent e) { } public void mouseDragged(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseMoved(MouseEvent e) { } public void mousePressed(MouseEvent e) { mausx = e.getX(); repaint(); } public void mouseReleased(MouseEvent e) { } } |