Kildekode til SHMandel10.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 SHMandel10 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 = 10;
	
	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);
			}
		}	
	}

	public void start()
	{
	}
	
	public void stop()
	{
	}


}