intersect(aa,bb,cc,dd)
{
if ( Math.max(aa[0], bb[0])<Math.min(cc[0], dd[0])||Math.max(aa[1], bb[1])<Math.min(cc[1], dd[1])|| Math.max(cc[0], dd[0])<Math.min(aa[0], bb[0])||Math.max(cc[1], dd[1])<Math.min(aa[1], bb[1]))
{
return false;
}
if ((((aa[0] - cc[0])*(dd[1] - cc[1]) - (aa[1] - cc[1])*(dd[0] - cc[0]))*
((bb[0] - cc[0])*(dd[1] - cc[1]) - (bb[1] - cc[1])*(dd[0] - cc[0]))) > 0 ||
(((cc[0] - aa[0])*(bb[1] - aa[1]) - (cc[1] - aa[1])*(bb[0] - aa[0]))*
((dd[0]- aa[0])*(bb[1] - aa[1]) - (dd[1] - aa[1])*(bb[0] - aa[0]))) > 0)
{
return false;
}
return true;
},
其中aa,bb,cc,dd为两个线段的四个点表示形式为[x,y]