已知任意多邊形的各個頂點的座標,怎麼去求該多邊形的面積

2021-05-14 08:34:45 字數 1338 閱讀 9141

1樓:匿名使用者

#include

#include

#include

struct point

p[1000];

struct lineseg //邊

;double multiply(point sp,point ep,point op)

double max(double p1,double p2)

double min(double p1,double p2)

//這裡使用了歸納x0y1-x1y0+x1y2-x2y1+x2y3-x3y2+x3y0-x0y3=

//(x3-x1)y0+(x0-x2)y1+(x1-x3)y2+(x2-x0)y3

double area_of_polygon(int vcount,point polygon)

else

cout<<"impossible"<

cout<

//這裡將n=0也看做一個case,因為0 <= n <= 1000,雖然n=0,不被處理

}return 0;

}這是網上找到的,經過測試可行,有一些小瑕疵,你可以自己改

他理論應該是:

平面上任意多邊形面積為:

s = 1/2×( ( x1*y2-x2*y1 ) + … + ( xk*yk+1-xk+1*yk ) +

… + ( xn*y1-x1*yn ) ) ---------- ①

注:書上多給出的是行列式|xk yk |的形式。

|xk+1 yk+1|

需要注意的是,如果一系列點按逆時針排列算出的是正面積,而如果是順時針的話算出的則是一個負面積。

2樓:匿名使用者

用叉乘(或者叫向量積)設多邊形的點按某順序依次是(x1,y1),(x2,y2),...,(xn,yn)我們任選一個點和每條邊相連,相鄰的邊做叉乘再除以2(構成三角形的有向面積),一般我們選原點(0,0)則面積s=(x1y2-x2y1)/2+(x2y3-x3y2)/2+...+(xny1-x1yn)/2這裡s是有向面積 還要取絕對值程式很簡單了 如果陣列標號是0到n-1則double s=0;for (int i=0;i

3樓:匿名使用者

用三角形的行列式面積演算法來求

Maya軟體中Polygon多邊形建模的優勢和劣勢

想要系統的學習可以考慮報一個網路直播課,推薦cgwang的網路課。老師講得細,上完還可以回看,還有同型別錄播課可以免費學 贈送終身vip 自制能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭 王氏教育。王氏教育全國直營校區面授課程試聽 複製後面連結在瀏覽器也...

CAD多邊形的長度及角度該如何測量

第二步 將cad圖紙檔案上傳好之後,我們滑動滑鼠左鍵,將圖紙檔案調整到合適的大小位置進行檢視即可,然後找到需要進行測量的多變形。第三步 然後我們找到軟體的上方選單屬性框中的定製工具 查詢 距離,點選該功能屬性。第四步 然後我們在多邊形上點選確定兩點距離,然後圖紙上就會出現一個提示面板,然後就會顯示你...

已知三角形ABC的頂點的座標為A 2, 1 ,B 3,2 ,C 3, 1 ,求角ABC的度數

ab 根號10,bc 3 根號5,ac 5,根據餘弦定理可得cos角abc 10 45 25 2 15 根號2 根號2 2,所以角abc 45度。先畫出座標來,由a點延長線與c點延長線連線,作為d點,由tanx ad除以cd求出 acd的讀數,90度減去 acd便是 c的度數 同理可以推出abc讀數...