原文
#include "math.h"
#include "stdio.h"
double e = 0.0001;
struct point
;
double min(double x1, double x2)
double max(double x1, double x2)
bool between(double x, double x1, double x2)
// 判斷兩條直線段是否有交點,有則計算交點的座標
// p1,p2是直線一的端點座標
// p3,p4是直線二的端點座標
// line_x, line_y; //交點
bool detectintersect(point p1, point p2, point p3, point p4, double &line_x, double &line_y)
else
if ( (fabs(p1.x-p2.x)//如果直線段p1p2垂直與y軸
else
} else
} else
if ( (fabs(p3.x-p4.x)//如果直線段p3p4垂直於y軸
else
} else
} else
else
if (between(line_x, p1.x, p2.x) && between(line_x, p3.x, p4.x))
else
} } int main()
else
return
0;}
判斷線段是否相交並求交點
設兩條線段ab和cd,其端點分別為 xa ya xb yb xc,yc xd,yd x a,y a x b,y b x c,y c x d,y d xa y a xb yb xc yc xd yd 需要判斷2條線段是否相交,若相交求交點。兩條直線所在的引數方程為 x x a alpha x b x ...
求兩直線交點 判斷兩線段相交 求線段交點
點的結構 struct point point double x,double y 線段的結構 struct egde egde point a,point b 建立的邊,存在的線段求兩直線 線段 交點 void getpoint point p1,point p2,point p3 point p...
判斷兩條線段 直線相交,並求交點
一.向量基本知識 因為後面的計算需要一些向量的基本知識,這裡只是簡單的列舉如下,如果需要更加詳細的資訊,可以自行搜尋wikipedia或google。1.向量的概念 如果一條線段的端點是有次序之分的,我們把這種線段成為有向線段 directed segment 如果有向線段p1p2的起點p1在座標原...