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

hu__li 2013-04-04 08:58:46
需求是有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 数组 这个数组是三角形组成的多边形的外围顶点
...全文
401 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hu__li 2013-04-18
  • 打赏
  • 举报
回复
实在是算不出来了,后来改需求了,填充区域后,沿着不重叠部分让用户手工描边,最后得到手工绘制的多边形。 明知不可为而为之,将会走进死胡同。跳出来把复杂的分布简单化,感谢楼上各位的回复,谢谢!
of123 2013-04-08
  • 打赏
  • 举报
回复
倒过来,首先列举多边形的顶点。 然后,重新将 n 边形分割成 n - 2 个三角形。分别求三角形的面积后累加。
贝隆 2013-04-07
  • 打赏
  • 举报
回复
晕,重叠,你不知道把三角形分离啊?就看你怎么划分了。这个我们是帮不了你的,因为这是需要从实际出发的,从你提供的这点信息,我们是无从知晓你的实际情况的。
hu__li 2013-04-07
  • 打赏
  • 举报
回复
如果多个三角形的话 可能有一部分是多个三角形都重叠的,也有可能是只有2个三角形重叠
hu__li 2013-04-07
  • 打赏
  • 举报
回复
三角形是重叠的啊。要是这么简单我就不问大家了
嗷嗷叫的老马 2013-04-04
  • 打赏
  • 举报
回复
同上. 不明白楼主为什么还不能得到面积,所有三角形不是都得到了么,为什么不求面积再相加?
贝隆 2013-04-04
  • 打赏
  • 举报
回复
楼主知道三角形有一个面积公式否? S=Sqrt(s*(s-a)*(s-b)*(s-c)) S:三角形面积 a,b,c:三角形的三条边 s:s=(a+b+c)/2 Sqrt:求平方根 既然你知道多边形是由多个三角形组成,那么一一求出这些三角形的面积,再累和不就是多边形的面积了? 三角形的边长,可以由两点间距离公式求得,这个不由我多说了吧?

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧