计算多边形的面积

如何计算一个多边形的面积,首先想到的是划分成多个小的三角形,因为三角形我们比较熟悉,而且三角形计算面积的方法也很多

三角形:
1. 半周长 P=(a+b+c)/2
2. 面积 S=aHa/2=absin(C)/2=sqrt(P(P-a)(P-b)(P-c))
3. 中线 Ma=sqrt(2(b^2+c^2)-a^2)/2=sqrt(b^2+c^2+2bccos(A))/2
4. 角平分线 Ta=sqrt(bc((b+c)^2-a^2))/(b+c)=2bccos(A/2)/(b+c)
5. 高线 Ha=bsin(C)=csin(B)=sqrt(b^2-((a^2+b^2-c^2)/(2a))^2)
6. 内切圆半径 r=S/P=asin(B/2)sin(C/2)/sin((B+C)/2)
=4Rsin(A/2)sin(B/2)sin(C/2)=sqrt((P-a)(P-b)(P-c)/P)
=Ptan(A/2)tan(B/2)tan(C/2)
7. 外接圆半径 R=abc/(4S)=a/(2sin(A))=b/(2sin(B))=c/(2sin(C))

 

 

计算几何中计算三角形面积

在计算几何里,我们知道,△ABC的面积就是“向量AB”和“向量AC”两个向量叉积的绝对值的一半。其正负表示三角形顶点是在右手系还是左手系。

所以得到三角形面积

特别注意:

          以上得到是有向面积(有正负)!

 

凸多边形的三角形剖分

 
很自然地,我们会想到以 P1为扇面中心,连接P1Pi就得到N-2个三角形,由于凸性,保证这些三角形全在多边形内,那么,这个凸多边形的有向面积:A=sigma(Ai)  (i=1…N-2)
 
 
 
 
 
 

凹多边形的面积

 
多边形面积公式:A=sigma(Ai)  (i=1…N-2)
结论:
       “有向面积”A比“面积”S其实更本质
 
 
任意点为扇心的三角形剖分
我们能把多边形分成N-2个三角形,为什么不能分成N个三角形呢?
比如,以多边形内部的一个点为扇心,就可以把多边形剖分成 N个三角形。
前面的三角剖分显然对于多边形内部任意一点都是合适的!
 
能否把扇心移到多边形以外呢?
 
 
 
既然内外都可以,为什么不设P0为坐标原点呢?
 
最终简化公式(包括凹多边形):
 
 
 
举个例子:加入上面图中p1(x1,y1) p2(x2,y2),p3(x3,y3),p4(x4,y4);
那么多边形的面积为 S =  ( x1*y2 - y1*x2 + x2*y3 - y2*x3 + x3*y4 - y3*x4 + x4*y1 - y4*x1 ) / 2;
求出的面积是有向的,带正负;