var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var width = window.innerWidth;
var height = window.innerHeight;
canvas.width = width;
canvas.height = height;
var a = Math.round(height * 0.08),
b = Math.round(width * 0.1);
var square_svg = '';
var square_source = 'data:image/svg+xml;base64,'+window.btoa(square_svg);
var triangle_svg = '';
var triangle_source = 'data:image/svg+xml;base64,'+window.btoa(triangle_svg);
var circle_svg = '';
var circle_source = 'data:image/svg+xml;base64,'+window.btoa(circle_svg);
var zigzag_svg = '';
var zigzag_source = 'data:image/svg+xml;base64,'+window.btoa(zigzag_svg);
var square = new Image();
square.src = square_source;
var triangle = new Image();
triangle.src = triangle_source;
var circle = new Image();
circle.src = circle_source;
var zigzag = new Image();
zigzag.src = zigzag_source;
function random_int(min,max) {
return Math.floor(Math.random()*(max-min+1)+min);
}
var rad = Math.PI/180;
function rotate_image(context, image, angleInRad, positionX, positionY, axisX, axisY) {
context.translate( positionX, positionY );
context.rotate( angleInRad * rad );
context.drawImage( image, -axisX, -axisY );
context.rotate( -(angleInRad * rad) );
context.translate( -positionX, -positionY );
}
for (var x = 0; x < b; ++x){
context.beginPath();
context.moveTo(x*10+2.5,0);
context.lineTo(x*10+2.5,height);
context.strokeStyle = "#ddd"
context.stroke();
}
for (var y = 0; y < a; ++y){
context.beginPath();
context.moveTo(0,y*15+2.5);
context.lineTo(width,y*15+2.5);
context.strokeStyle = "#ddd"
context.stroke();
}
zigzag.onload = function() {
for (var i = 0; i < a; ++i){
for (var j = 0; j < a; ++j){
console.log(j);
if(i % 2 === 0) {
if(j % 2 === 0) {
rotate_image(context, triangle, random_int(0,360), Math.abs(80*j + random_int(-7,7)), Math.abs(69.282*i + random_int(-7,7)), 3.5, 3.5);
} else {
rotate_image(context, zigzag, random_int(0,360), Math.abs(80*j + random_int(-7,7)), Math.abs(69.282*i + random_int(-7,7)), 4, 1);
}
} else {
if(j % 2 === 0) {
rotate_image(context, square, random_int(0,360), Math.abs(80*j + 40 + random_int(-7,7)), Math.abs(69.282*i + random_int(-7,7)), 2.5, 2.5);
} else {
context.drawImage( circle, Math.abs(80*j + 40 + random_int(-7,7)), Math.abs(69.282*i + random_int(-7,7)));
}
}
}
}
}