详细内容如下:
自动联结三角形网
自动联结三角形网是将平面上的离散点中最靠近的三点构成三角形,从而形成三角形网。在使用周围临近的离散点组成三角形时,应确保每个三角形都是锐角三角形或三边的长度近似相等,避免出现过大的钝角和过小的锐角。
确定第一个三角形,首先要确定第一个三角形。设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号三角形做扩展。 |