概述
如何计算一个多边形的面积,首先想到的是划分成多个小的三角形,因为三角形我们比较熟悉,而且三角形计算面积的方法也很多
三角形:
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;
求出的面积是有向的,带正负;
最后
以上就是强健山水为你收集整理的计算多边形的面积的全部内容,希望文章能够帮你解决计算多边形的面积所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复