土木在线论坛 \ 建筑设计 \ CAD下载及教程 \ [测绘]如何自动联结三角形网

[测绘]如何自动联结三角形网

发布于:2004-01-10 18:40:10 来自:建筑设计/CAD下载及教程 [复制转发]
自动联结三角形网是将平面上的离散点中最靠近的三点构成三角形,从而形成三角形网。在使用周围临近的离散点组成三角形时,应确保每个三角形都是锐角三角形或三边的长度近似相等,避免出现过大的钝角和过小的锐角。
确定第一个三角形
首先要确定第一个三角形。设L为形成的三角形计数号,K为用来扩展的三角形的计数号,用V(L,1),V(L,2),V(L,3)分别表示为L号三角形的三个顶点编号。开始联结三角形时,设L=1,然后从N个离散点中找出左下角的点送入V(L,1)中,作为第一个三角形的第一个顶点,找出距离该点最近的点送入V(L,2)中,作为第一个三角形的第二个顶点,找出距离这两点连线中点最近而且不和这两点在一直线上的点送入V(L,3)中,作为第一个三角形的第三个顶点。
三角形的扩展
利用计数器K、L来确保三角形中没有重复和交叉的三角形。在形成第一个三角形时,L=1,K=1,首先从K号三角形的第一边(V(L,1)、V(L,2))往外扩展,显然位于顶点V(L,3)同侧的点应排除,利用直线判断正负区的原理可以实现这一要求:
F(x,y)=y-Ax-B
A=(y2-y1)/(x2-x1)
B=(y1*x2-y2*x1)/(x2-x1)
很明显:
F(x,y)>0 观测点位于正区;
F(x,y)=0 观测点位于直线上;
F(x,y)<0 观测点位于负区;
将V(L,3)代入F(x,y),记下F(x,y)值的符号,然后将其余的离散点代入F(x,y),逐个比较值的符号,凡是同V(L,3)点的符号不同的点才具有被扩展使用的可能性。从这些点中挑选一点送入V(L,3)中(条件:三角形边角的余弦定理,如果该点与扩展边上的两点组成的角在所有形成的三角形中为最大,该点就作为三角形的第三个顶点送入V(L,3)中)。新的三角形基本形成,并使L=L+1。但为了避免重复和交叉,还要进行检查判断,方法是:利用三角形的任一边最多只能被二个三角形公用这一条件,进行全等比较。即要判断新组成的三角形的三条边是否已经被前面形成的三角形用过两次,如果是该三角形无效,则L=L-1,否则,该三角形成立。
K号三角形的第一边扩展完后,就可转向其他二条边,继续重复上述扩展。当形成一个新的三角形时,必须使L=L+1。直到K号三角形的三边都扩展完。再转向K=K+1号三角形做扩展。
如何判断扩展终止
可以用两个条件检查:(1)、K=L,(2)、K号三角形的三条边都做完扩展工作。因为开始生成的三角形数L总是要大于要扩展的三角形数K,只有K=L时,表示不可能再有新的三角形生成,扩展工作结束。三角网就形成了。

全部回复(2 )

只看楼主 我来说两句抢地板
  • yeats
    yeats 沙发
    可以啊!编个程序试是!
    2004-03-30 01:20:30

    回复 举报
    赞同0
  • 漫步者@sl
    漫步者@sl 板凳
    2004-01-11 15:35:11

    回复 举报
    赞同0
这个家伙什么也没有留下。。。

CAD下载及教程

返回版块

52.07 万条内容 · 655 人订阅

猜你喜欢

阅读下一篇

求助

在一本杂志看到说是用C语言编程让CAD去读取EXCEL中的数据,我不知这个过程如何实际,而且如果用VB应该也可吧,请高手指点. 还听说可以让EXCEL保存数据为DXF格式,然后用CAD打开这个文件从而实际自动画图,不知这个过程如何实现???可以吗???

回帖成功

经验值 +10