>>529
(x0,y0) の位置ベクトルを a
(x1,y1) の位置ベクトルを b
(x2,y2) の位置ベクトルを c
(x3,y3) の位置ベクトルを d
として、
sa+(1-s)b = s(a-b)+b
tc+(1-t)d = t(c-d) +d
がそれぞれの直線上の点の位置ベクトルを表すので
s(a-b)+b = t(c-d) +d
s(a-b) +t(d-c) = d-b
Ax = d-b
Aは(a-b d-c)という行列
x は (s t) を転置した縦ベクトル
x = A^(-1) (d-b)

0≦s≦1
0≦t≦1
ならば両方の線分上にある。