/*
* 多邊形的交,多邊形的邊一定是要按逆時針方向給出
* 還要判斷是凸包還是凹包,呼叫相應的函式
* 面積並,只要和面積減去交即可
*/#include using namespace std;
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[3], p2[4];
int x[5], y[5];
int main()
return 0;
}
模板 多邊形面積交
1.必須逆時針給出多邊形頂點 2.面積並 面積和 面積交 include using namespace std const int maxn 300 const double eps 1e 8 int dcmp double x struct point 點結構體 double cross poi...
多邊形面積
點積 a b x1 x2 y1 y2 a b cos 點積的結果是乙個數值 叉積 a b x1 y2 x2 y1 a b sin 叉積的結果也是乙個向量,是垂直於向量a,b所形成的平面,如果看成三維座標的話是在 z 軸上,上面結果是它的模。三角形的面積 向量a和 向量b的叉積的絕對值表示 以 向量a...
求兩個多邊形的交面積(模板)
別人的部落格 多邊形的交,多邊形的邊一定是要按逆時針方向給出 還要判斷是凸包還是凹包,呼叫相應的函式 面積並,只要和面積減去交即可 include using namespace std const int maxn 300 const double eps 1e 8 int dcmp double...