收藏 分享(赏)

计算任意多边形面积的算法.doc

上传人:gnk289057 文档编号:6260505 上传时间:2019-04-03 格式:DOC 页数:2 大小:26KB
下载 相关 举报
计算任意多边形面积的算法.doc_第1页
第1页 / 共2页
计算任意多边形面积的算法.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、计算任意多边形面积的算法方法 1:用这个方法吧:我们都知道已知 A(x1,y1 )B(x2,y2)C( x3,y3)三点的面积公式为|x1 x2 x3|S(A,B,C) = |y1 y2 y3| * 0.5 (当三点为逆时针时为正,顺时针则为负的 )|1 1 1 |对多边形 A1A2A3、 、 、An(顺或逆时针都可以) ,设平面上有任意的一点 P,则有:S(A1 , A2,A3, 、 、 、 ,An)= abs(S(P,A1,A2 ) + S(P,A2,A3)+、 、 、+S(P ,An,A1))P 是可以取任意的一点,用(0,0)就可以了。还有一个方法:任意一个简单多边形,当它的各个顶点位

2、于网格的结点上时,它的面积数 S=b/2+c+1其中:b 代表该多边形边界上的网络结点数目c 代表该多边形内的网络结点数目所以把整个图形以象素为单位可以把整个图形分成若干个部分,计算该图形边界上的点 b 和内部的点 c 就得到面积数 S 了,然后把 S 乘以一个象素的面积就是所求的面积了。多边形面积的计算公式如下:设有 n 个点(x1,y1)(x2,y2),.(xn,yn)围成一个没有边相交的多边形,则其围成的闭合多边形面积|S| 为:S=yi *(xi+1-xi-1), 其中 i=1,2,.n,且当 i 与 j 除以 n 的余数相同的时候,xi=xj ,yi=yj 。该公式用于凸凹多边形均可

3、。方法 2:int CImageViewView:GetRgnArea()int area = 0;int i,j;CRect rect;CPoint* m_points;int m_nPoints;CImageViewDoc* pDoc = GetDocument();m_nPoints = pDoc-m_aryRectPoint.GetSize();m_points = new CPointm_nPoints;for(i = 0; im_aryRectPointi-m_ptPoint;CRgn rgn;rgn.CreatePolygonRgn(m_points, m_nPoints, ALTERNATE);rgn.GetRgnBox( /获得一个包括该多边形的矩形CPoint point; /计算矩形内的点落在多边形内的数量for( i = rect.top ; irect.bottom;i+)for( j = rect.left; jrect.right ; j+)point.x = j; point.y = i;if(rgn.PtInRegion(point)area +;delete m_points;return area;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报