早教吧 育儿知识 作业答案 考试题库 百科 知识分享

vb求凹多边形顶点和面积'需求是有N个三角形组成的多边形已知每个三角形的顶点坐标,并且这些三角形会重叠一部分,求所组成的凹多边形的顶点数组,并求出面积。其实知道顶点就知道

题目详情
vb 求凹多边形顶点和面积
'需求是有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 数组 这个数组是三角形组成的多边形的外围顶点
▼优质解答
答案和解析
function s(dim a as integer,dim b as integer,dim c as integer) as double
p=(a+b+c)/2
s=sqrt(p*(p-a)(p-b)(p-c))
end function

a1=(x1-x0)^2+(y1-y0)^2
a2=(x2-x1)^2+(y2-y1)^2
a3=(x3-2)^2+(y3-y2)^2
a4=(x4-x3)^2+(y4-y3)^2
a5=(x5-x4)^2+(y5-y4)^2
a6=(x5-x0)^2+(y5-y0)^2

b1=(x1-x0)^2+(y1-y0)^2
b2=(x2-x1)^2+(y2-y1)^2
b1=(x1-x0)^2+(y1-y0)^2

S=function(a1,a2,a3)+function(a3,b1,b1)+function(a4,b2,b3)+function(a5,b3,a6)
看了vb求凹多边形顶点和面积'需求...的网友还看了以下: