您的位置:首页 > 其它

判断两条线段是否相交

2011-09-22 17:13 447 查看
public boolean isIntersect(double px1,double py1,double px2,double py2,double px3,double py3,double px4,double py4)//p1-p2 is or not intersect with p3-p4
{
boolean flag = false;
double d = (px2-px1)*(py4-py3) - (py2-py1)*(px4-px3);
if(d!=0)
{
double r = ((py1-py3)*(px4-px3)-(px1-px3)*(py4-py3))/d;
double s = ((py1-py3)*(px2-px1)-(px1-px3)*(py2-py1))/d;
if((r>=0) && (r <= 1) && (s >=0) && (s<=1))
{
flag = true;
}
}
return flag;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: