多边形面积的求法

学了高数的同学,会学到向量的外积,也可知道它有一个用途,可以求三角面积。

•外积的几何意义:α和β所张成的平行四边形的有向面积
•由求三角形面积的方法可以推广求凸多边形面积,如图,从一固定点出发,向其他各点引辅助线,这样就分割成了若干个三角形,利用上式求出每个三角形的面积再相加即可。
 
代码实现:
 
不过这种方法有局限性,只能求凸多边形的面积,对于凹多边形似乎就不可以了。
这里再提供一种凸凹都合适的求法。
 
•double Area(int n)    //计算多边形面积,凹凸多边形皆可
•{
•  int i;
•  double s;
•  s = p[0].y *(p[n-1].x - p[1].x);
•  for(i=1; i<n; i++)
•  s+=p[i].y * (p[i-1].x - p[(i+1)%n].x);
•  if(s<0) s=s*(-1.0);
•  return 1.0*s/2;                                     
•}
 
就到这里吧,这是第一次写这个,如果有错误敬请谅解,给予提议。
原文地址:https://www.cnblogs.com/aimqqroad-13/p/4337939.html