求凸多边形重心:https://wenku.baidu.com/view/6c113283ec3a87c24028c426.html (有错)
一句话概括:固定一点 枚举另两点(连续的)构成三角形 求出这个三角形重心 求平均(加权面积)
代码:
Point Zhongxin(Point *a,int n)
{
Point ans=Point(0,0);double ss=0;
a[n]=a[0];
for (int i=1;i<n-1;i++)
{
double s=fabs(Cross(a[i]-a[0],a[i+1]-a[0]));
ans=ans+(a[0]+a[i]+a[i+1])*s/3;
ss+=s;
}
if (dcmp(ss)==0) return Point(0,0);
return ans/ss;
}
题目:https://blog.csdn.net/nudt_spy/article/details/80357103
判断点是否在凸多边形内:
https://blog.csdn.net/nudt_spy/article/details/80357103
一句话概括: 逆时针排序点 找边界的两个向量(向量a0a1和向量a0an) 在这两个向量之间二分
注意:向量叉乘右手定则, 四指从向量v1指向向量v2,大拇指向上则表明v1 cross v2 > 0