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();