ue, scale_value, w);},
			function(i) {return atan_screen_to_real(h - i, y_value, scale_value, h);},
			function(y) {return h - atan_real_to_screen(y, y_value, scale_value, h);}
		];
	}

	function draw_canvas() {
		var context = i_canvas.getContext("2d");

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

		// translation functions
		const functions = s2x_x2s_s2y_y2s();
		const s2x = functions[0];
		const x2s = functions[1];
		const s2y = functions[2];
		const y2s = functions[3