![]() |
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) {
}
}
|