彙總篇:計算幾何彙總
規定頂點逆時針方向的多邊形面積為正
取原點0(0,0)
s(a,b,c,d)=s(o,a,b)+s(o,b,c)+s(o,c,d)+s(o,d,a)
圖中o在外部,
obc,ocd, oda
全部是正的,加起來構成了5變形
obcda
的面積,但
oab是負面積,因此最後剛好等於
abcd
的面積。
而如果o點在多邊形內部,則四個三角形全是正面積,等式正好成立。
#includeclass point
friend const point operator+(const point& p1,const point& p2);
friend const point operator-(const point& p1,const point& p2);
friend const point operator*(const point& p,const double& m);
friend const point operator*(const double& m,const point& p);
friend const point operator/(const point& p,const double& m);
friend ostream& operator <
};typedef point vect2;//重新命名,向量也是用座標表示
class line
};double cross(point o,point a,point b)
double polyarea(point *ex,int num)
計算幾何 多邊形
判定凸多邊形 頂點凹凸性法 判斷點在凸多邊形內外 與判定凸多邊形差不多,用判斷點與多邊形兩頂點叉乘,都大於0,點在多邊形內,小於0,點在多邊形外。水平 垂直交叉點數判別法 適用於任意多邊形包括凹凸邊形 注意到如果從p作水平向左的射線的話,如果p在多邊形內部,那麼這條射線與多邊形的交點必為奇數,如果p...
多邊形面積 ssl1213 計算幾何
中學生傑利陶醉於數學研究 他思考的問題對於專家而言可能太多簡單,但作為乙個15歲的業餘愛好者,他做得非常棒 他太熱衷思考數學問題,以至於輕易就學會了試用數學方法來解決碰到的問題 一天,他看到桌上的一張紙 他四歲的妹妹瑪利在上央畫了一些線 那些線恰好構成了乙個凹多邊形,如下圖 棒極了 他想,這些多邊形...
多邊形面積 ssl1213 計算幾何
輸入乙個多邊形,求面積。第一行是乙個整數n,代表圖形的頂點數 n 接下來的n行,每行一對實數,代表頂點座標 xi,yi 每個樣例的圖形由第乙個頂點連線第二個頂點,第二個頂點連線第三個頂點 最後第n個頂點連線第乙個頂點形成封閉多邊形。輸出圖形面積或字串 impossible 如果圖形是乙個多邊形,計算...