Koch Curve/Snowflake 2
by Jonathan Lam
HTML
<canvas width="1920" height="1920" id="canvas"></canvas>
JavaScript
var canvas = document.getElementsByTagName("canvas")[0];
var ctx = canvas.getContext("2d");
ctx.fillStyle="white";
ctx.fillRect(0,0,1920,1920);
ctx.fillStyle="black";
var iterations = 16;
var series = [false];
for(var i = 0; i < iterations; i++) {
series = series.concat(series.map(n => !n));
}
ctx.beginPath();
ctx.translate(300, 960);
ctx.moveTo(0, 0);
var drawSide = () => {
for(var i = 0; i < series.length; i++) {
if(series[i]) {
ctx.rotate(Math.PI/3);
} else {
ctx.translate(0, 1);
ctx.lineTo(0, 1);
}
}
};
drawSide();
drawSide();
drawSide();
ctx.stroke();