計算幾何 多邊形的重心

2021-07-01 19:10:52 字數 1212 閱讀 9244

1. 1 累加和求重心

設平面上有n 個離散資料點( xi , yi ) ( i = 1, 2, ., n) , 其

多邊形重心g( . x1, . y1) 為:

這是求多邊形最簡單直觀的方法。可以直接利用離散數

據點的x, y座標就能求圖形重心。但是缺陷在於沒有對離散

資料點所圍圖形做任何處理和分析,精度不夠。

1. 2 演算法一:在講該演算法時,先要明白下面幾個定理。

定理1 已知三角形△a1a2a3的頂點座標ai ( xi , yi ) ( i =1, 2, 3) 。它的重心座標為:

xg = (x1+x2+x3) / 3 ;                       yg = (y1+y2+y3) / 3 ;

定理2 已知三角形△a1a2a3的頂點座標ai ( xi , yi ) ( i =1, 2, 3) 。該三角形的面積為:

s =  ( (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1) ) / 2 ;

△a1a2a3 邊界構成逆時針迴路時取+ , 順時針時取 -。

另外在求解的過程中,不需要考慮點的輸入順序是順時針還是逆時針,相除後就抵消了。

原理:將多邊形劃分成n個小區域, 每個小區域面積為σi ,重心為gi ( . xi , . yi ) ,利用求平面薄板重心公式把積分變

成累加和:

由前面所提出的原理和數學定理可以得出求離散資料點所圍多邊形的一般重心公式:以ai ( xi , yi ) ( i = 1, 2, ., n) 為頂點的任意n邊形a1a2 .an ,將它劃    分成n - 2個三角形(如圖1) 。每個三角形的重心為gi ( . xi , . yi ) ,面積為σi。那麼多邊形的重心座標g( .x2, .y2) 為:

POJ 3855 計算幾何 多邊形重心

思路 多邊形面積 任選乙個點,把多邊形拆成三角,叉積一下 三角形重心 x1 x2 x3 3,y1 y2 y3 3 多邊形重心公式題目中有,套一下就好了 計算多邊形重心方法 1 劃分多邊形為三角形 以多邊形的乙個頂點v為源點 v可取輸入的第乙個頂點 作鏈結v與所有非相鄰頂點的線段,即將原n邊形或分為 ...

計算幾何 多邊形

判定凸多邊形 頂點凹凸性法 判斷點在凸多邊形內外 與判定凸多邊形差不多,用判斷點與多邊形兩頂點叉乘,都大於0,點在多邊形內,小於0,點在多邊形外。水平 垂直交叉點數判別法 適用於任意多邊形包括凹凸邊形 注意到如果從p作水平向左的射線的話,如果p在多邊形內部,那麼這條射線與多邊形的交點必為奇數,如果p...

HDU1115 幾何 多邊形重心

三角形重心 x1 x2 x3 3,y1 y2 y3 3 這是特殊情況,各點的質量相等 多邊形 x sigma xi mi sumarea y sigma yi mi sumarea 先把多邊形變成多個三角形,分別求出mi 有點像面縮點 然後得到新的點的座標。view code 1 include2 ...