Podstawy teoretyczne fraktali, L-Systemu oraz nauki o chaosie zostały szczegółowo omówione w mojej książce.
Do działania prezentowanych kodów potrzebny są skrypty ‘ax.js’, ‘rzutowanie.js’ oraz ‘lapunow.js’, które możesz zaleźć tutaj.
Zawartość możesz zobaczyć w
przeglądarce obsługującej element <canvas>
z kontekstem "2d"




Listing

var tabl = new Array(1, 1, 0, 1, 0, 0, 0, 0);
var cv = document.getElementById('canvas');
var ctx = cv.getContext('2d');
var width = cv.width;
var height = cv.height;
var offset=30;
ctx.fillStyle="white";
ctx.fillRect(offset, offset, width - 2 * offset, 
            height - 2 * offset);
var diag1 = new Ax(0, 0, width - 2 * offset, 
      height - 2 * offset, 0, 0, 4, 4, 0.5, 0.25, offset);
diag1.drawGrid("lightgray");
ctx.fillStyle="black";
var imageData = ctx.getImageData(offset, offset, 
          width - 2 * offset, height - 2 * offset);
var data = imageData.data;
var lambda = 0.0;
var rx = 0.0;
var ry = 0.0;
var lap;
var color = null;
for(var x = 0; x < width - 2 * offset; x++){
	rx = diag1.rzut.getRX(x);
	for(var y = 0; y < height - 2 * offset; y++){
		ry = diag1.rzut.getRY(y);
		lap = lapunow(rx, ry, tabl, 100);
		lambda = 650 + lap * 100;
		color = lambdaToColor(lambda);					
		setPixel(data, width-2 * offset,x,y,color[0],
                   color[1],color[2],color[3]);
	}
}
ctx.putImageData(imageData,0+offset,0+offset);