別人的部落格:
/*
* 多邊形的交,多邊形的邊一定是要按逆時針方向給出
* 還要判斷是凸包還是凹包,呼叫相應的函式
* 面積並,只要和面積減去交即可
*/
#include using namespace std;
const int maxn = //300;
const double eps = 1e-8;
int dcmp(double x)
struct point
; double cross(point a,point b,point c) ///叉積
point intersection(point a,point b,point c,point d)
//計算多邊形面積
double polygonarea(point p, int n)
double cpia(point a, point b, int na, int nb)//convexpolygonintersectarea
memcpy(p, tmp, sizeof(point) * tn);
nb = tn, p[nb] = p[0];
} if(nb < 3) return 0.0;
return polygonarea(p, nb);
} double spia(point a, point b, int na, int nb)///******polygonintersectarea 呼叫此函式
} return res;
} point p1[maxn], p2[maxn];
int n1, n2;
int main()
return 0;
}
多邊形面積交模板
多邊形的交,多邊形的邊一定是要按逆時針方向給出 還要判斷是凸包還是凹包,呼叫相應的函式 面積並,只要和面積減去交即可 include using namespace std const double eps 1e 8 int dcmp double x struct point double cro...
模板 多邊形面積交
1.必須逆時針給出多邊形頂點 2.面積並 面積和 面積交 include using namespace std const int maxn 300 const double eps 1e 8 int dcmp double x struct point 點結構體 double cross poi...
兩個簡單多邊形求交 CGAL
兩個多邊形求交的實現需要幾個模組 cgal中有insect函式,但是必須要求使用cgal exact predicates exact constructions kernel 本人出於其他想法,沒有把基於exact predicates inexact constructions kernel核的...