Java & JavaScript


Home
Applets
   3D:
 · Würfel
 · Würfel 2
 · Würfel 3
 · Tetraeder
 · Tetraeder 2
 · Dodekaeder
 · Ikosaeder
 · Fußball
 · Kugel
 · Kugel 2
   Fraktale:
 · Apfelmännchen
 · Apfelmännchen 2
 · Apfelmännchen 3
 · Apfelmännchen MA
 · Apfelmännchen Zoom
 · Apfelmännchen Zoom 2
 · Juliamenge
 · Juliamenge MA
 · Julia-Generator
 · Koch-Kurve
 · Koch-Kurve 2
 · Hilbert-Kurve
 · Sierpinski-Dreieck
 · Sierpinski-Dreieck 2
 · Sierpinski-Dreieck 3
 · Sierpinski-Teppich
 · Pythagoras-Baum
 · Lindenmayer-System
 · Lindenmayer-System 2
   Mathematik:
 · Funktionsplotter
 · Eratosthenes-Sieb
 · Miller-Rabin-Test
   Verschiedenes:
 · Morsezeichen-Ticker
 · Analoguhr
Scripts
Gäste
Kontakt

- 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.)

[Das fraktale Sierpinski-Dreieck als Java-Applet mit Quellcode zum Download. Das Sierpinski-Dreieck lässt sich allerdings nur mit aktiviertem Java betrachten !]


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