
计算几何
thusloop
这个作者很懒,什么都没留下…
展开
-
二维三点求圆心
ld X,Y,R;struct node{ ld x,y;} t[maxn];ld dis(node x,node y){ return sqrt((x.x-y.x)*(x.x-y.x)+(x.y-y.y)*(x.y-y.y));}node sol(node a,node b,node c)//三点共圆圆心公式{ X=( (a.x*a.x-b.x*b.x+a.y*a.y-b.y*b.y)*(a.y-c.y)-(a.x*a.x-c.x*c.x+a.y*a.y-c.y*c.y)*(a.y原创 2021-11-29 20:53:38 · 293 阅读 · 0 评论 -
判断线段与圆是否相交
struct Point { ll x, y;} ;Point O; //圆心ll r; //半径// 判断线段是否和圆相交bool pd(Point *p_1, Point *p_2){ ll a,b,c,dist_1,dist_2,angle_1,angle_2; if(p_1->x==p_2->x) { a=1,b=0,c=-p_1->x; } else if (p_1->y==p原创 2021-11-29 20:52:06 · 329 阅读 · 0 评论 -
判断线段相交
struct point{ double x,y;};bool inter(point a, point b, point c, point d){ if(min(a.x,b.x)>max(c.x,d.x)||min(a.y,b.y)>max(c.y,d.y)||min(c.x,d.x)>max(a.x,b.x)||min(c.y,d.y)>max(a.y,b.y)) return 0; double h, i, j, k; h=(b.x-a.x)*(c.y-a原创 2021-11-29 20:43:05 · 80 阅读 · 0 评论