首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

求多角形各个顶点和组成多边形的面积

2013-04-20 
求多边形各个顶点和组成多边形的面积本帖最后由 bcrun 于 2013-04-11 09:09:43 编辑需求是有N个三角形组成

求多边形各个顶点和组成多边形的面积
本帖最后由 bcrun 于 2013-04-11 09:09:43 编辑 需求是有N个三角形组成的多边形 已知每个三角形的顶点坐标,求所组成的凹多边形的顶点数组,并求出面积。其实知道顶点就知道面积了。想问问大家怎么求顶点。下边是生成的三角形代码。

Public Type MySinglePoint
x As Single
y As Single
End Type
Public triangle(1 to 3,1 To 3) As MySinglePoint ’前一个坐标是三角形个数,后一个是三角形的点 需求是有N个三角形 不过为了简单起见3个就行 
'该多边形是由多个重叠的三角形组成的
'三角形1
triangle(1,1).x=119.16 : triangle(1,1).y=27.06
triangle(1,2).x= 119.45 : triangle(1,2).y=28.04
triangle(1,3).x= 120.28 : triangle(1,3).y=27.31
For ii = 1 To 3
Picture1.Line (1, i)-(1, iif(i+1>3,1,i+1))
Next ii
'三角形2
triangle(2,1).x= 119.16 : triangle(2,1).y= 27.06
triangle(2,2).x= 119.76 : triangle(2,2).y= 27.68
triangle(2,2).x= 120.07 : triangle(2,3).y= 26.91
For ii = 1 To 3
Picture1.Line (2, i)-(2, iif(i+1>3,1,i+1))
Next ii

'三角形3
triangle(3,1).x= 120.07 : triangle(3,1).y= 26.91
triangle(3,2).x=119.64 : triangle(3,2).y= 27.02
triangle(3,2).x= 119.49 : triangle(3,3).y= 26.62

For ii = 1 To 3
Picture1.Line (3, i)-(3, iif(i+1>3,1,i+1))
Next ii

’最后求一个 MySinglePoint 数组 这个数组是三角形组成的多边形的外围顶点
多边形?算法
[解决办法]
楼主知道三角形有一个面积公式否?
S=Sqrt(s*(s-a)*(s-b)*(s-c))
S:三角形面积
a,b,c:三角形的三条边
s:s=(a+b+c)/2
Sqrt:求平方根

既然你知道多边形是由多个三角形组成,那么一一求出这些三角形的面积,再累和不就是多边形的面积了?
三角形的边长,可以由两点间距离公式求得,这个不由我多说了吧?
[解决办法]
倒过来,首先列举多边形的顶点。

然后,重新将 n 边形分割成 n - 2 个三角形。分别求三角形的面积后累加。

热点排行