Kildekode til SHMandel.java
//******************************************************************************
// SHMandel.java: Applet
//
//******************************************************************************
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Event;
import java.awt.Color;
import java.lang.Math;
//==============================================================================
// Main Class for applet Mandelbrot
//
//==============================================================================
public class SHMandel extends Applet
{
double minA = -2.00;
double maxB = 1.25;
double maxA = 1.25;
double minB = -1.25;
int horisontalOppløsning = 320;
int vertikalOppløsning = 240;
double dA, dB;
int x, y;
double reell, imaginær, gammel_reell;
double lengde_Z;
int iterering;
int maxIterering = 256;
public String getAppletInfo() {
return "Name: SHMandelbrot\r\n" +
"Author: Dennis G. Landsem\r\n" +
"Created with Microsoft Visual J++ Version 1.1";
}
public void init() {
resize(horisontalOppløsning, vertikalOppløsning);
}
public void destroy()
{
}
// Mandelbrot Paint Handler
//--------------------------------------------------------------------------
public void paint(Graphics g) {
dA = (maxA - minA) / horisontalOppløsning;
dB = (maxB - minB) / vertikalOppløsning;
for (y = 0; y < vertikalOppløsning - 1; y++) {
for (x = 0; x < horisontalOppløsning - 1; x++) {
reell = 0;
imaginær = 0;
iterering = 0;
do {
gammel_reell = reell;
reell = reell * reell - imaginær * imaginær + (minA + (double)x * dA);
imaginær = 2 * gammel_reell * imaginær + (minB + (double)y * dB);
iterering++;
lengde_Z = reell * reell + imaginær * imaginær;
} while ((lengde_Z <= 4.0) && (iterering <= maxIterering));
if (iterering <= maxIterering) {
g.setColor(Color.white);
}
else {
g.setColor(Color.black);
}
g.drawLine(x, y, x, y);
}
}
}
}