|
- Applets : Fraktale : Sierpinski-Dreieck 2 -
Das fraktale Sierpinski-Dreieck im Barnsley-Verfahren.
Eine andere Möglichkeit, das Sierpinski-Dreieck zu konstruieren: Wählen Sie einen beliebigen Punkt innerhalb des Rechtecks, sowie per Zufall einen der drei vorgegebenen Punkte und malen dann (gedanklich) genau in der Mitte einen Punkt.
Zwischen diesem Punkt und einem wiederum zufällig bestimmten der drei vorgegebenen Punkte wird der nächste Punkt mittig aufgetragen. Diese Prozedur wird fortgesetzt. (Auch bekannt als 'Chaos-Game', von Michael Barnsley.) Was wird wohl dabei herauskommen ?
Klicken Sie auf eine beliebige Stelle des Applets und sehen Sie selbst.
(Zurücksetzen mit rechtem Mausklick.)
Sierpinski2.java
import java.applet.*;
import java.awt.*;
public class Sierpinski2 extends Applet {
Point p;
boolean firstPoint = false;
public void init() {
setBackground(new Color(255,255,255));
}
public boolean mouseDown(Event ev, int x, int y) {
p = new Point(x,y);
if (!ev.metaDown()) firstPoint = true;
else firstPoint = false;
repaint();
return true;
}
public void paint(Graphics g) {
g.drawRect(0,0,499,299);
g.drawOval(51,248,1,1);
g.drawOval(447,248,1,1);
g.drawOval(249,50,1,1);
if (!firstPoint) return;
int i;
double abc;
for (i=0;i<100000;i++) {
abc = (Math.random()*3);
if(abc<1) {
p.x=(p.x+50)/2;
p.y=(p.y+250)/2;
}
else if(abc<2) {
p.x=(p.x+450)/2;
p.y=(p.y+250)/2;
}
else {
p.x=(p.x+250)/2;
p.y=(p.y+50)/2;
}
g.drawLine(p.x,p.y, p.x,p.y);
}
}
}
Download Sierpinski_Dreieck_2.zip (Applet und Code ca. 2 kb)
© 2001-2004 Albert Kluge - Alle Rechte vorbehalten
Impressum | Datenschutz | Nutzung | eMail
|