Omdat mijn naam nu eenmaal met een H begint en je daar ook een fractal mee kan maken.
<HTML>
<BODY>
<br>
<br>
<!– H Boom Fractal –>
<canvas id=”myCanvas” width=”1000″ height=”800″>
</canvas>
<SCRIPT>
var TekenOppervlak = document.getElementById(“myCanvas”);
var TekenVlak = TekenOppervlak.getContext(“2d”);
var X = [];
var Y = [];
var P = 12;<!– Orde –>
var A = Math.sqrt(1/2);<!– Verkortingsverhouding –>
var M = 0;<!– Loop counter –>
var S = 0;
var Z = 100;<!– Zoom factor –>
var Xmid = 300;
var Ymid = 200;
var Titel = “Fractal H boom “;
var Bodem = “\u00A9 H.L. Muller 2016”;
<!– Initialize Array to correct size –>
I = 0;
while (I < 4096){
X[I] = 0;
Y[I] = 0;
I++;
}
TekenVlak.fillStyle = ‘black’;
TekenVlak.font = “16pt sans-serif”;
TekenVlak.fillText(Titel,20,20);
TekenVlak.stroke();
while (M < P ){
S = M % 2;
N = Math.pow(2, M);
T = Math.pow(2, M + 1) – 1;
while (N < T) {
I = 2 * N;
if (S == 1) {
X[I] = X[N];
X[I + 1] = X[N];
Y[I] = Y[N] + Math.pow(A, M);
Y[I + 1] = Y[N] – Math.pow(A, M);
}
else {
X[I] = X[N] + Math.pow(A, M);
X[I + 1] = X[N] – Math.pow(A, M);
Y[I] = Y[N];
Y[I + 1] = Y[N];
}
N++;
}
M++;
}
N = 1;
T = Math.pow(P + 1, 2) – 1;
while (N < T) {
I = 2 * N;
TekenVlak.strokeStyle = ‘black’;
X1rel = parseInt(Xmid + (X[I] * Z));
Y1rel = parseInt(Ymid + (Y[I] * Z));
TekenVlak.moveTo (X1rel, Y1rel);
X2rel = parseInt(Xmid + (X[I + 1] * Z));
Y2rel = parseInt(Ymid + (Y[I + 1] * Z));
TekenVlak.lineTo (X2rel,Y2rel);
TekenVlak.stroke();
N++;
}
TekenVlak.fillStyle = ‘black’;
TekenVlak.font = “8pt sans-serif”;
TekenVlak.fillText(Bodem,20,420);
TekenVlak.stroke();
</SCRIPT>
<br>
</BODY>
</HTML>