多邊形面積求和

2021-09-09 08:35:58 字數 738 閱讀 6380

acm中計算幾何是常考的乙個題型,這裡總結一下比較常見的多邊形面積求和問題:

三角形的面積公式:

s=0.5*ab*ac

這裡以原點(0,0)為三角形的乙個頂點。

向量叉乘:a*b=x1y2-x2y1

s= (x1y2-x2y1)/2

多邊形就是多個三角形相加,因為是向量叉乘,因此自身帶有正負號,因此同樣適用於凹多邊形(減去了多出來的部分)。

因此,多邊形的面積計算方法就是sumeare+=s;

下面道例題來說一下:

牛客練習賽36,多邊性面積+字首和(否則超時)

ac:

const int maxn=1e5+10;

const int inf32=0x3f3f3f3f;

const ll inf64=0x3f3f3f3f3f3f3f3f;

const ll mod=1e9+7;

const double pi=acos(-1.0);

//三角形的面積公式:

//s=0.5*ab*ac

//向量叉乘:a*b=x1y2-x2y1

//s= (x1y2-x2y1)/2

double x[maxn],y[maxn],seare[maxn];

double x_,y_;//這裡是選取的乙個點作為引數。

double gets(int i,int j)

int main()

cout<}

多邊形面積

點積 a b x1 x2 y1 y2 a b cos 點積的結果是乙個數值 叉積 a b x1 y2 x2 y1 a b sin 叉積的結果也是乙個向量,是垂直於向量a,b所形成的平面,如果看成三維座標的話是在 z 軸上,上面結果是它的模。三角形的面積 向量a和 向量b的叉積的絕對值表示 以 向量a...

多邊形求面積,

這個程式很值得一博。昨天一位學地質的高中同學問我寫個程式求多邊形面積,因為他說看到excel就煩。正好前段時間在csdn上看到乙個帖子求多邊形面積,也想到了乙個演算法,於是寫了這個程式。演算法描述 乙個多邊形的面積可以由這樣兩個系列的梯形來計算,以凸多邊形舉例,在圖形上方的一系列邊和其在x軸的投影組...

10 4 多邊形面積

10.4 多邊形面積 源程式名 area.pas,c,cpp 可執行檔名 area.exe 輸入檔名 area.in 輸出檔名 area.out 問題描述 給出乙個簡單多邊形 沒有缺口 它的邊要麼是垂直的,要麼是水平的。要求計算多邊形的面積。多邊形被放置在乙個x y的卡笛爾平面上,它所有的邊都平行於...