国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

平面上任意凸多邊形面積的計算

2016-12-21 12:58:05廖祥超郭民之
電腦知識與技術 2016年28期

廖祥超+郭民之

摘要:以平面上任意有限個點為頂點的凸多邊形面積的計算是一個很有實用價值的問題,該文結(jié)合平面解析幾何相關知識,用數(shù)學歸納法先推導出平面上凸n邊形面積的一般計算公式,然后利用Excel中多個函數(shù)和排序技巧實現(xiàn)了面積的程序化計算,并用實例演示說明。最后討論了如何用這種方法去計算平面上任意凸多邊形的面積。

關鍵詞:平面凸多邊形;頂點逆時針排序;面積公式;Excel程序化計算

中圖分類號:TP37 文獻標識碼:A 文章編號:1009-3044(2016)28-0245-02

Abstract: It is a quite practical and valuable problem about the calculation of the area of convex polygon which is formed by arbitrary point on the plane. Based on the relative knowledge of Analytic Geometry, the formula for the calculation of the area of convex polygon was deduced and proved by Mathematical Induction in this paper; then many functions and skills of sorting were used in Excel, which helps it realize the goal of programming calculation of the area of convex polygon in the example. Finally, they discussed this method about the calculation of the area of arbitrary convex polygon on the plane.

Key words: convex polygon on the plane; vertex with anticlockwise sort; formula of area; programming calculation in excel

1 引言

平面解析幾何是數(shù)形結(jié)合的典范,它通過建立平面直角坐標系把點與有序數(shù)對聯(lián)系起來,把圖形和方程對應起來,用代數(shù)方法來研究幾何問題,以幾何直觀來解釋代數(shù)結(jié)論。

計算凸多邊形面積傳統(tǒng)的方法是把凸n邊形分割成n-2個三角形,然后累加各三角形的面積得到其面積。近年來,國內(nèi)有許多學者借助Excel研究凸多邊形面積計算的問題,文獻[1][2][3][4]中均用梯形法給出凸多邊形的面積計算公式,但是或多或少存在一些不足,有的文獻證明不夠嚴謹;雖然強調(diào)圖形的閉合性,但是在面積計算公式中的表述不夠嚴格;還有頂點按逆時針或順時針方向排序時,面積的正負號的區(qū)分沒有交代清楚。基于以上事實,本文提出了一個凸n邊形頂點按逆時針方向排序的方法,給出并證明了凸n邊形面積的計算公式。在示例中,本文先運用Excel自帶的相關函數(shù)對這n個頂點按逆時針方向排序,再畫出凸多邊形的圖形,最后求出其面積。

為了將凸多邊形的n個頂點按逆時針方向排序,我們先找出n個頂點中最靠左和最靠右的兩個頂點(假設這種點是唯一的,若不唯一,我們可通過簡單的旋轉(zhuǎn)變換,使其在新坐標系中唯一),分別設它們?yōu)楹停?,分別是橫坐標最小和最大的頂點。那么過和的直線l就可以將所有的頂點分為上下兩組。然后將下面一組頂點按橫坐標從小到大排序,而上面一組頂點按橫坐標由大到小排序,最后將排序后的兩組頂點合并在一起就可以得整個凸多邊形n個頂點按逆時針方向的一個排序,對排序后的凸n邊形,下面的定理給出了其面積的計算公式。

2.2 凸n邊形面積公式

定理1 設是任意凸多邊形的按逆時針方向排序后的n個頂點,則該多邊形的面積為

證 運用數(shù)學歸納法證明。當凸多邊形邊數(shù)n=3時,如圖1:

這里只對圖1左圖情形給出證明,右圖情形證明方法類似。

假設當n=k時,(2)式成立,那么當n=k+1時,如圖2:

即n=k+1時(2)式成立。

3 實例分析

下面我們以凸九邊形為例,來演示說明在Excel 2010中如何求出對應的凸九邊形的面積。設為凸九邊形的9個頂點,具體的坐標值(注:可隨意給出,只要它們可圍成一個凸九邊形即可)見圖3中單元格區(qū)域B2:C10。

步驟①:找出和,然后確定直線.

為了找到橫坐標最小的頂點和最大的頂點,可使用查找函數(shù)“VLOOKUP”:在H3輸入“=VLOOKUP(MIN(B2:B10),IF({1,0},B2:B10,A2:A10),2,0)”,得到的是P1;在H4輸入“=VLOOKUP(MAX(B2:B10),IF({1,0},B2:B10,A2:A10),2,0)”,得到是P7。與頂點對應的坐標的值可在單元格I3和J3輸入圖3中批注的命令獲得,選中單元格I3:J3向下填充即可得到的坐標。根據(jù)(1)式,在H7、H8、H9中分別鍵入公式“=J4-J3”、“=I3-I4”、“=I4*J3-I3*J4”,就可以得到A、B、C的值,于是直線l的方程為:

步驟②:排序

在D2中鍵入“=$H$7*B2+$H$8*C2+$H$9”,往下填充至D10就可求得各點對應的的值;為了方便分組和排序,我們令

在E2中鍵入“=IF(D2>=0,1, -1)”,再向下填充至E10,結(jié)果如圖3所示。由B= -15.2<0,據(jù)表1易知的點Pi是在直線l的下方,而的點Pi則是在直線l的上方。利用INDEX函數(shù)查找相同內(nèi)容,返回對應值的名稱這一功能,我們可在G13中輸入“=INDEX(A:A,SMALL(IF(E$2:E$10=1,ROW($2:$10)),ROW(E1)))”,然后再同時按下Ctrl+Shift+Enter,就可以找到滿足的第一個點P1,匹配頂點P1的橫縱坐標可用圖4批注中的命令確定;選中單元格G13:I13,向下填充至G16:I16即可得到滿足的其余三個點P4、P5、P6;在J13中輸入“=INDEX(G$13:G$16,MATCH(SMALL(H$13:H$16,ROW(J1)),H$13:H$16,0))”,按下Enter鍵,公式將返回最小的點的名稱P1,再向下填充至J16,即可得到在直線l下方且按逆時針方向排序后的頂點P1、P6、P4、P5.

同理我們可以找到滿足這組點。這時按降序排序,我們得到位于直線l上方且按逆時針方向排序的頂點P7、P9、P3、P2、P8,相關命令如圖5批注所示:

步驟③:畫出凸九邊形并求其面積

復制J13:J16,O13:O17的內(nèi)容,分別粘貼(注意粘貼選項為值)到A22、A26中即可得到凸九邊形9個頂點逆時針方向的一個完整排序P1,P6,P4,P5,P7,P9,P3,P2,P8;然后在A31再輸入P1,匹配頂點坐標方法類似前面,命令見圖6批注。選取數(shù)據(jù)區(qū)域B22:C31,然后單擊【插入】/【散點圖】/【直線和帶數(shù)據(jù)標記的散點圖】,即可畫出凸九邊形。在D23中輸入“=B22*C23-B23*C22”,按下Enter鍵再向下填充至D31,然后在D32中鍵入“=1/2*SUM(D23:D31)”,即可算出凸九邊形的面積為121.5(參見定理1公式(2))。以上操作結(jié)果如圖6所示。

4 討論

上述計算凸九邊形的方法和步驟具有一般性,對任意凸n邊形面積的計算只需調(diào)整一下n個坐標點所在的單元格區(qū)域即可,操作起來是比較方便的。不管n的大小,只要保證凸多邊形的頂點按逆時針方向排序即可,即先找出橫坐標最小和最大的兩點來確定直線l,然后分別查找在直線l下方和上方的點,分別按逆時針方向排序后再合并為一組,得到凸n邊形頂點的一個完整的逆時針排序。最后根據(jù)定理1仿照圖6的操作求出凸多邊形面積。注意步驟①②只需修改函數(shù)的使用范圍,步驟③還需調(diào)整放置區(qū)域。

參考文獻:

[1] 陸春雨.巧用Excel計算多邊形面積[J].河南水利,2001(2).

[2] 呂紅虎.用Excel計算面積[J].城市勘探,2000(1).

[3] 黃美添.用Excel工作表編制面積計算程序[J].西部探礦工程,2007(8).

[4] 毛愛國.用Excel法計算多邊形面積[J].農(nóng)業(yè)科技情報,2014(3).

[5] 王巧伶.Excel2010函數(shù)應用速查手冊[M].北京:機械工業(yè)出版社,2012.

[6] 韓小良.Excel2003/2007公式與函數(shù)的使用藝術[M].北京:中國鐵道出版社,2008.

城步| 民权县| 驻马店市| 平江县| 金华市| 安宁市| 临猗县| 得荣县| 罗城| 通化县| 临夏市| 股票| 阳信县| 洛川县| 苏尼特右旗| 汾西县| 资溪县| 高要市| 琼海市| 西平县| 溧阳市| 体育| 龙里县| 仙游县| 拜泉县| 汽车| 望谟县| 启东市| 新竹市| 五莲县| 吉安县| 新和县| 辰溪县| 同仁县| 江都市| 扬州市| 青川县| 道孚县| 柞水县| 新邵县| 辉南县|