Fraktale Lapunowa (1)
O chaosie deterministycznym i fraktalach Lapunowa możesz przeczytać w rozdziale 25 książki Matematyka dla programistów Java oraz w rozdziale 22 książki
Matematyka dla programistów JavaScript.
Strona używa skryptów ax.js, rzutowanie.js oraz lapunow.js
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 = 550 + lap * 50; 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);