f8g

Javascriptで線を引く

function line(x1, y1, x2, y2)
{
	var p = new Array();
	var x;
	var y;
	
	var a = (y2 - y1) / (x2 - x1);
	var b = y1 - a * x1;
	for(i = x1; i < x2; i++){
		x = i;
		y = a * x + b;
		p[i] = document.createElement("span");
		body.appendChild(p[i]);
		
		with(p[i].style){
			position = "absolute";
			left = x + "px";
			top = y + "px";
			backgroundColor = "#0c0";
			width = "2px";
			height = "1px";
			fontSize = "1px";
		}
	}
}

そのまんま使うと細かいところでバグがあるだろうけど。中学校ぐらいに習った、
y = ax + b
が基本的な公式で、
a = (x2 - x1) / (y2 - y1)
がさえ分かってれば線が引けるという。
http://arikui.s101.xrea.com/test/me.html
ってか、こういうの作ってて、ちょっと思いついた。