這個程式很值得一博。
昨天一位學地質的高中同學問我寫個程式求多邊形面積,因為他說看到excel就煩。正好前段時間在csdn上看到乙個帖子求多邊形面積,也想到了乙個演算法,於是寫了這個程式。
演算法描述:
乙個多邊形的面積可以由這樣兩個系列的梯形來計算,以凸多邊形舉例,在圖形上方的一系列邊和其在x軸的投影組成一系列梯形t1,圖形下方類似的組成梯形系列t2, t1的面積 - t2的面積就是多邊形的面積。 對於凹多邊形,上方,下方的關係會有所變化,可以這麼定義,如果以某順時針(或逆時針)遍歷各邊,任意定義第一條邊為上或下,對於其後所遍歷的邊,如果x座標折回,則認為它為下方的邊。這就從幾何上證明了這種方法是對的。
程式實現:
順序儲存多邊形各點,(x1, y1), (x2, y2), ... , (xn, yn)
任意邊( (xi, yi), (xi+1, yi+1)) 是否是上邊,所投影形成的梯形符號,與 xi - xi+1的符號的關係是一致的,演算法就很簡單了。
公式: a = sum + (yn + y1) * (xn - x1) / 2;
求多邊形面積
可以利用多邊形求面積公式 s 0.5 x0 y1 x1 y0 x1 y2 x2 y1 xn y0 x0 yn 其中點 x0,y0 x1,y1 xn,yn 為多邊形上按逆時針順序的頂點。簡要證明 1.我們先簡單地從三個點入手 包括原點 面積s oab sabcd s oad s obc sabcd y...
求多邊形的面積
多邊形的面積求法 在草稿紙上面我們,我們就把它考慮成組合圖形去處理,所以我們是把他不斷的拆分,因為我們是不可以直接去求它的面積的。那麼在我們的電腦裡面,我們用 怎麼去去求面積呢?因為我們不是提前知道他們的組合圖形,所以我們不知道怎麼樣去求,或者說按照什麼圖形的面積求法,去求。當邊數為3的時候,我們知...
求多邊形面積小結
宣告 此篇純粹是與高數公式有關,也在一定程度上將高數與程式設計聯絡了起來。簡單的求面積公式就不多贅述了 而海 式卻是值得學習並記憶的 下面一道水題是我認識並記住海 式的第一道題,雖然是道水題,但不了解海 式會有一點點不好處理。描述平面上有乙個三角形,它的三個頂點座標分別為 x1,y1 x2,y2 x...