I have a problem, I need to configure a code. Which makes the mandelbrot fractal on a canvas, and I need to make a variable from html form, convert it to javascript variable, but there's my problem. And i need to get the minimum and maximum of the tested number range from form too. Any ideas? Please help!
<body>
<h1>Mandelbrot fraktál</h1>
<form>
c: <input id="cid" type="text" name="firstname">
<input type="submit" value="Submit">
</form>
<!-- A vászon kijelölése, méretezése -->
<canvas id="myCanvas" width="500" height="500" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
<script>
// === Mandelbrot objektum létrehozása
var mandelbrot = {
// === Osztályváltozók
maxiter : 32, // iterációk száma
////xmin : -2.0, xmax : 1.0, // valós rész
////ymin : -1.5, ymax : 1.5, // képzetes rész
// === Komplex szám eleme-e a Mandelbrot halmaznak?
mandelcolor: function (c,b){
// a: valós rész, b: képzetes rész
var z=[c,b];
var i=0;
// A következő sorozatelem kiszámítása
while(i<this.maxiter && z[0]*z[0]+z[1]*z[1]<=4.0 ){
// Új elem = Z négyzete + kiinduló érték
var aa=z[0]*z[0]-z[1]*z[1]+c;
var bb=2*z[0]*z[1]+b;
z[0]=aa; z[1]=bb;
i++;
}
// Visszatérési érték a pixel színkódja
return '#'+i.toString(16)+i.toString(16)+i.toString(16);
},
// === Mandelbrot fraktál rajzolása soronként
fraktal: function(){
for(var y=0;y<context.canvas.height;y++)
// A vizsgált komplex szám képzetes részének
// leképezése az Y koordináta alapján
var zy = this.ymin + (this.ymax - this.ymin) * y / context.canvas.height;
for(var x=0;x<context.canvas.width;x++){
// A vizsgált komplex szám valós részének leképezése
// az X koordináta alapján
var zx = this.xmin + (this.xmax - this.xmin) * x / context.canvas.width;
context.fillStyle=this.mandelcolor(document.getelementById("cid"),zy);
context.fillRect(x,y,1,1);
}
}
}
}
// === Globális változók deklarálása
var canvas=document.getElementById('myCanvas');
var context=canvas.getContext('2d');
mandelbrot.fraktal();
</script>