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 数组 这个数组是三角形组成的多边形的外围顶点

第1个回答  2013-04-06
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)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两种
第2个回答  2013-04-05
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)追问

谢谢回答 能解释一下 算法吗?没看懂 你这个是分解三角形吗? 对于任意重叠的三角形 组成的点 都生效吗?

追答

对于一个5边三角形 顶点可以编号为0 1 2 3 4 5 连接0-1 0-2 0-3 0-4 总能组成5个三角形并使用变长公式求得其面积 而0-1的长时可以通过0-1顶点左边来计算的

本回答被提问者采纳
第3个回答  2013-04-04
Msgbix MySinglePoint.Y就是你要的追问

看好了 我要的是多边形的点 这个多边形的顶点 有可能是2个三角形的边交叉形成的点

追答

没看好,飘过。

第4个回答  2013-04-04
你为什么不问你的数学老师追问

大哥 这个是工作中用到的,我都毕业N年了

追答

大哥我不知道你老了啊。。。那你好好的做数学题目干什么啊,锻炼脑子啊??

多边形的面积如何求?
是格点面积=内部格点数+周界格点数÷2-1,据此即可求出图中多边形图形的面积。分析:该题完整题目为:钉子板上围出的多边形(如图),面积是多少平方厘米,相邻两点间的距离是1厘米。格点面积=内部格点数+周界格点数÷2-1,据此即可求出图中多边形图形的面积。解:2+6÷2-1。=2+3-1。=4(平...

多边形面积公式
对于凸多边形,很容易计算,如下图,以多边形的某一点为顶点,将其划分成几个三角形,计算这些三角形的面积,然后加起来即可。已知三角形顶点坐标,其三角形积可以利用向量的叉乘来计算。对于凹多边形,如果还是按照上述方法划分成三角形,如下图,多边形的面积 = S_ABC + S_ACD + S_ADE, 这个面积...

如何计算不规则多边形的面积
1.根据三角形的3个顶点的坐标,可以算出三角形的面积。这个公式自己可以推论出来 2.算法:struct Points { int x,y;}Point;Point ar[N]; \/\/ for(i=0;i<N;i++){ ar[i].x=x0; \/\/x0,y0,可由外部输入,或其他到入 ar[i].y=y0;} 然后利用将多边行分成N个三角形来处理,总面积=...

多边形的面积数学核心素养
多边形的面积计算公式为1\/2*n*sin(π\/n)*R^2,其中n代表多边形的边数,R为多边形外接圆半径。多边形是由三条或三条以上的线段首尾顺次连接而成的平面图形。根据不同的分类标准,多边形可以分为正多边形和非正多边形、凸多边形和凹多边形等。多边形由至少三条线段组成,三角形是最基本的多边形。多边形的...

任何多边形面积如何求?
1. 任意多边形面积计算公式为:(x-1, y-1) × (x-2, y-2)。2. 数学上,由三条或三条以上的线段首尾顺次连接所组成的平面图形被称为多边形。根据不同的分类标准,多边形可以分为正多边形和非正多边形、凸多边形及凹多边形等。3. 当物体占据的是一维空间时,该物体所占空间的大小称为面积。

多边形怎样计算面积
凹多边形:可以转为凸多边形。找到大于平角的顶点(就是前面说的那个),连接两边相交的顶点的邻近两个顶点,计算该三角形的面积(算好总面积后要减去这个三角形面积),从多边形的顶点表中删除该顶点(两边相交交点),这样可以转为凸多边形。 凸多边形:可以定一初始顶点,然后连接除相邻两个顶点之外的各个...

多边形的面积单元教学目标
长方形的面积=长×宽,字母表示为S=ab;平行四边形的面积=底×高,字母表示为S=ah。多边形相关定理 一、内角 1、n边形的内角和等于(n-2)x180。2、在平面多边形中,边数相等的凸多边形和凹多边形内角和相等,但是空间多边形不适用。3、n边形过一个顶点引出所有对角线后,把多边形分成n-2个...

五年级多边形图形的面积的数学小报可以怎么
6. 添加图例和注释:在图面上添加图例和注释来说明不同多边形的特征和面积计算方法。可以使用颜色或形状来区分不同的多边形类型。最后,检查整个小报的布局和排版是否合理。确保图形、文本和注释之间没有重叠或干扰,并且整体风格协调一致。多边形定理:1. n边形的内角和等于(n-2)×180°;此定理适用于...

连接多边形什么的两个顶点的线段叫做多边形的对角线
多边形的对角线可以用来划分多边形为三角形,从而计算多边形的面积。例如,一个五边形可以被三条对角线划分为三个三角形,然后用海伦公式或者三角函数公式计算每个三角形的面积,再相加得到五边形的面积。多边形的对角线可以用来判断多边形是否是凸多边形或者凹多边形。凸多边形是指所有的内角都小于180度,凹多边形...

正六边形的面积是多少?
棱柱的体积V可以通过底面积Sh计算得出,其中S为底面积,h为高。正六边形是由有限个点A1、A2、A3、…、An-1、An和线段A1A2、A2A3、…、An-1An组成的总体,这些点线构成折线。A1和An是折线的端点,A2、A3、…、An-1是折线的顶点。如果折线的端点和各顶点不在同一平面内,则称为空间折线;如果各...

相似回答
大家正在搜