点的结构
struct point
{
double x,y;
point(){}
point(double _x,double _y){x=_x;y=_y;}
};
线段的结构
struct egde
{
point start,end;//
egde(){}
egde(point a,point b){
start=a;end=b;}
};//建立的边,存在的线段
求两直线(线段)交点
void getPoint(point p1,point p2,point p3 point p4)
{
double a0,b0,c0,a1,b1,c1;
a0=p1.y-p2.y,b0=p2.x-p1.x,c0=p1.x*p2.y-p2.x*p1.y;
a1=p3.y-p4.y,b1=p4.x-p3.x,c1=p3.x*p4.y-p4.x*p3.y;
double D=a0*b1