2つの直線と交点

■参考
http://net2.cocolog-nifty.com/blog/2009/11/post-dbea.html

XY GetCrossPoint(XY a1, XY a2, XY b1, XY b2)
{
　　XY tmp;　　// 計算用

　　// １つめの式
　　float v1a = (a1.y - a2.y) / (a1.x - a2.x);
　　float v1b = (a1.x*a2.y - a1.y*a2.x) / (a1.x - a2.x);

　　// ２つめの式
　　float v2a = (b1.y - b2.y) / (b1.x - b2.x);
　　float v2b = (b1.x*b2.y - b1.y*b2.x) / (b1.x - b2.x);

　　// 最終的な交点
　　tmp.x = (v2b-v1b) / (v1a-v2a);
　　tmp.y = v1a * tmp.x + v1b;

　　return tmp;　　// x,yの答えを返す
}

