(x2 - (y2 - y1) * 4.3 / d - (x2 - x1) * 16.7 / d, y2 - (y2 - y1) * 16.7 / d + (x2 - x1) * 4.3 / d);
			context.lineTo(x2, y2);
			context.moveTo(x2 + (y2 - y1) * 4.3 / d - (x2 - x1) * 16.7 / d, y2 - (y2 - y1) * 16.7 / d - (x2 - x1) * 4.3 / d);
			context.lineTo(x2, y2);
			context.strokeStyle = color;
			context.stroke();
			context.closePath();
		}
		var context = i_canvas.getContext("2d");

		// background
		context.fillStyle="#eeeeee";
		context.fillRect(0, 0, w, h);

		// translation functions
		const f