公式如下:
若直線A1x十+B1y+十C1=0與直線A2x十+2y+十C2=0平行,則:
A1/A2=B1/B2≠C1/C2
①若B1=B2=0,此時兩直線斜率不存在,滿足:A1/A1=B1/B2≠C1/;C2;
②若B1≠0、B2≠0,此時也滿足A1/A2=B1/B2≠C1/C2
則兩直線平行,有:A1/A2=B1/B2≠C1/C2
上代碼:
/*
*函數名:if_not_parallel
*功能:兩條直線不垂直的情況下,判斷是否相交
*輸入:(x1,y1),(x2,y2)是線段一的兩個端點的坐標
* (x3,y3),(x4,y4)是線段二的兩個端點的坐標
*輸出:返回整型值判斷兩條線段是否相交
*/
int if_intersect_np(double x1,double y1,double x2,double y2, double x3,double y3,double x4,double y4)
{
double x;
x=((x1*y2-x2*y1)/(x2-x1)+(x4*y3-x3*y4)/(x4-x3))/((y2-y1)/(x2-x1)-(y4-y3)/(x4-x3));
if(((x1-x)*(x-x2)>=0)&&((x3-x)*(x-x4)>=0))
return 1;
else
return 0;
}