计算任意多边形的面积(已知各顶点的坐标)

https://blog.csdn.net/Adusts/article/details/80546770

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

三角形:
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 为坐标原点呢?

最终简化公式(包括凹多边形):

你可能感兴趣的:(算法,数学)