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

上传人:11****ws 文档编号:3131629 上传时间:2019-05-22 格式: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;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。