解析幾何 面積的計算

2021-09-11 08:56:40 字數 1565 閱讀 8154

前提提要:向量叉積以後改用 ^ 符號,過載運算子後發現表示更清晰。

friend double operator ^ (point a,point b)
1.解析幾何法:由眾多三角形的面積公式得出的結果:

2.向量叉積法:任意兩邊向量的叉積的絕對值的1/2即為三角形的面積。

code:

double ********area(v l1,v l2)
現在討論簡單多邊形,不考慮自交多邊形,計算時採用剖分思想,將其轉化為求多個三角形面積的子問題集合。

有三種轉化方法:

1.將多邊形內的一點與多邊形頂點連線,可將多邊形劃分成多個三角形,分別求出每個三角形的面積,累加起來即為多邊形的面積。

2.採用三角剖分的方法,取多邊形的乙個頂點作為剖分出的三角形頂點,三角形的其他點作為多邊形上相鄰的點,

由於叉乘有正有負,所以正好可以抵消掉多餘的面積部分。面積的計算公式為:

計算得到的面積都一樣。

code:

//簡單多邊形面積,由n個點構成dots頂點集,按順序儲存。

double poly_area()

friend point operator + (const point &a,const point &b)

friend point operator - (const point &a,const point &b)

friend double operator ^ (point a,point b)

}dots[maxn];

struct v

friend v operator + (const v &a,const v &b)

friend v operator - (const v &a,const v &b)

}edge[maxn],stk[maxn];

double seare[maxn];

int n;

int parellel(const v &a,const v &b)

for(int i=1;i>a>>b;

if(a>b) swap(a,b);

if(a+1==b) continue;

res=seare[b-1]-seare[a-1];

res-=((dots[a]-dots[1])^(dots[b]-dots[1]))/2;

ans=max(ans,min(res,sum-res));

}cout<

4 20.5 0.5

10.5 0.5

10.5 10.5

0.5 10.5

1 34 2

*/

acm 凹多邊形面積 解析幾何 面積的計算

前提提要 向量叉積以後改用 符號,過載運算子後發現表示更清晰。friend double operator point a,point b 1.解析幾何法 由眾多三角形的面積公式得出的結果 r是三角形內切圓半徑 r是三角形外接圓半徑 其中 2.向量叉積法 任意兩邊向量的叉積的絕對值的1 2即為三角形...

解析幾何 交點的計算

這個專題討論用解析幾何的方法解決線段,直線和點的計算問題。預設使用笛卡爾直角座標系。已知線段p1p2 x1,y1 x2,y2 點q x0,y0 求點q到線段p1p2的 最近座標。存在兩種情況 1.情況一 y1 y2 x1!x2時,直線p1p2的方程為y y1,則q到p1p2的垂線方程為x x0,垂足...

Revit二開 解析幾何 計算垂直向量

在revit二次開發中我們經常會遇到求法向量的問題,如果是圓弧 橢圓 平面等幾何土元,直接可以獲取其法向量。但是當遇到直線的時候,我們想繪製模型線,則必須建立sketchplane,要建立sketchplane那麼必須有乙個平面,要有這個平面則需要乙個法向量,那麼這個法向量怎麼計算呢,有兩種方法 首...