判斷兩線段相交,並求交點

2021-08-11 01:32:29 字數 867 閱讀 3992

原文

#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在座標原...