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 : Apfelmännchen 2 -


Mit nur kleinen Veränderungen entsteht ein farblich abgestuftes Apfelmännchen-Applet.

Diejenigen C-Werte, deren Reihe (Zn) nach Zn+1 = Zn² + C nicht sofort konvergiert (dunklblauer Kernbereich), lassen sich je nach ihrer "Fluchtgeschwindigkeit" farblich unterschiedlich visualisieren.


[Das fraktale Apfelmännchen als Java-Applet zum Download. Das fraktale Apfelmännchen-Applet in Farbe lässt sich allerdings nur mit aktiviertem Java betrachten !]

Apfelmaennchen2.java

import java.awt.*;
import java.applet.*;

public class Apfelmaennchen2 extends Applet {

    public void init() {
        setBackground(new Color(255,255,255));
    }

    // C-Werte checken nach Zn+1 = Zn^2 + C, Zo = 0. 50 Iterationen.
    public int checkC(double reC,double imC) {
        double reZ=0,imZ=0,reZ_minus1=0,imZ_minus1=0;
        int i;
        for (i=0;i<50;i++) {
            imZ=2*reZ_minus1*imZ_minus1+imC;
            reZ=reZ_minus1*reZ_minus1-imZ_minus1*imZ_minus1+reC;
            if (reZ*reZ+imZ*imZ>4) return i;
            reZ_minus1=reZ;
            imZ_minus1=imZ;
        }
        return i;
    }

    // Punkte berechnen und setzen
    public void paint (Graphics g) {
        double reC, imC, zelle=0.00625; // Ein Pixel = 0.00625
        int x,y,iterationenC;
        Color colAppleman = new Color(0,0,180); // Farbe Apfelmännchen

        imC=-1.35; // oberer Rand
        for (y=0;y<430;y++) {
            reC=-2; // linker Rand
            for (x=0;x<480;x++) {
                iterationenC=checkC(reC,imC);
                if(iterationenC==50) {
                    g.setColor(colAppleman);
                    g.drawLine(x,y,x,y);
                }
                else {
                    Color colPeriphery = new Color(255-(iterationenC%2*125),
                        255-(iterationenC%7*55), 255-(iterationenC%3*85));
                    g.setColor(colPeriphery); // Farbe Umgebung
                    g.drawLine(x,y,x,y);
                }
                reC=reC+zelle; // nächste Spalte
            }
            imC=imC+zelle; // nächste Zeile
        }
    }
}

Je nach dem wie schnell (Zn) mit Zn+1 = Zn² + C für einen gegebenes C divergiert, wird ein anderer Farbton generiert.

Für die einzelnen Farbanteile des Randbereichs gilt:

Rot = 255-(iterationenC%2*125)
Grün = 255-(iterationenC%7*55)
Blau = 255-(iterationenC%3*85)


Download  Apfelmaennchen_2.zip (Applet und Code, ca. 2 kb)




© 2001-2004 Albert Kluge - Alle Rechte vorbehalten
Impressum | Datenschutz | Nutzung | eMail