凸多邊形
凸多邊形的判斷方法:
1)角度法:
判斷每個頂點所對應的內角是否小於180度,如果小於180度,則是凸的,如果大於180度,則是凹多邊形。
2)凸包法:
這種方法首先計算這個多邊形的凸包,關於凸包的定義在此不再贅述,首先可以肯定的是凸包肯定是一個凸多邊形。如果計算出來的凸多邊形和原始多邊形的點數一樣多,那就說明此多邊形時凸多邊形,否則就是凹多邊形。
3)頂點凹凸性法
利用以當前頂點為中心的矢量叉乘或者計算三角形的有符號面積判斷多邊形的方向以及當前頂點的凹凸性。
假設當前連續的三個頂點分別是P1,P2,P3。計算向量P1P2,P2P3的叉乘,也可以計算三角形P1P2P3的面積,得到的結果如果大於0,則表示P3點在線段P1和P2的左側,多邊形的頂點是逆時針序列。然后依次計算下一個 前后所組成向量的叉乘,如果在計算時,出現負值,則此多邊形時凹多邊形,如果所有頂點計算完畢,其結果都是大於0,則多邊形時凸多邊形。