---恢复内容开始---

比较有意思的,旋(xuan)转(zhuan)卡(qia)壳(ke),还有半平面交都在这里。


 

1.多边形与凸包

左边是一个多边形,右边是一个凸包:

计算几何模板(4):多边形与凸包

一般用按某一方向遍历整个多边形/凸包的数组/vector表示。

2.求凸包面积

随便找一个顶点,然后向不相邻的点连边,将凸包分成$(n-2)$个小三角形。

然后叉积就好了。

最后注意叉积求的是有向面积。(大力推荐逆时针遍历

typedef vector<Point> Pol;
double S_(Pol p)
{
    double ret = 0;
    for(int i=1,lim=(int)p.size();i<lim-1;i++)
        ret+=((p[i]-p[0])^(p[i+1]-p[0]));
    return ret/2;
}
求凸包面积

相关文章: