三角网格细分法在重建隧道三维结构中的应用
来源:岁月联盟
时间:2010-08-30
0 引言
隧道的施工安全,常常与隧道的掌子面观察紧密联系。现行观察一般是人工纪录和掌子面状况描绘或者照像,这种描绘往往由于人为因素,使获得的数据缺乏一致性和可比性。而照片在冲洗过程中,由于相片本身的分辨率也会导致冲照片在洗过程中出现信息畸变、丢失的现象,而且不能数字化和及时处理。因此在对隧道开挖过程中的掌子面图象进行处理后,就需要根据所获得的特征参数,重建、显示隧道的三维结构,并用以指导隧道的施工。但三维结构在重建过程中,重建的效率是十分重要的。本文利用曲面网格的相关理论,并结合三角网格细分算法来进行遂道三维结构的重建,以加快生成速度和提高隧道三维结构显示的质量。1 曲面网格的构建
空间曲面的构建一般采用参数方式。若用双参数构建曲面,其数学形式为:S=S(u,v)=[x(u,v),y(u,v),z(u,v)] (a≤u≤b,c≤v≤d) 当u,v在各自的定义域内变化时,S(u,v)在空间坐标系中变化,且O-UV坐标系中的任意一点(u,v)均与O-XYZ坐标系中的点(X,Y,Z)呈一一映射关系。当v不变而u变化时,得到u线;反之,则得到v线。所有的u线和v线所形成的网叫参数曲线网。由曲线p(u,c),p(u,d),p(a,v),p(b,v)四条边界曲所围成的部分,被称为网格,它定义在矩形域((a≤u≤b,c≤v≤d))上。矩形定义域一般采用正方形(0≤u≤1,0≤v≤1)。Coons曲面,Bezier曲面,B样条曲面均可用这种方式来建构。 曲面建构方法亦可用三角域方式来构建。选取三角形区域{(u,v,w)|u≥0,v≥0,w≥0,u+v+w=1},并采用B—网来构建曲面。对于不共线的三点P0,P1,P2可以构成一个三角形,该三角形所在的面上任一点P可表示为P(u,v,w)=uP0+vP1+wP2 (u+v+w=1) 若当0≤u+v+w≤1,则点P(u,v,w)位于P0,P1,P2所构成的三角形之内。例如三角域上的n次Bezier曲面(三角域上的三次Bezier曲面如图1)为

2 网格的细分(Subdivision)
2.1 曲面造型一直是计算机图形学的重要研究内容之一。网格细分(Subdivision) 是曲面的一种表示方法,是曲面造型的一个分支。该方法实际上是从一个被称为控制网格(绝大多数网格数据可用数字化仪通过人工模型来输入) 的多面体开始,递归地计算新网格上的每个顶点(这些顶点一般是其上一级细分网格上某几个顶点的加权平均),从而产生新的小面来获得更好的图形显示。这种方法只要计算机的硬件条件允许,就可以不断进行下去。 针对网格构建方法,产生了网格细分的许多算法(网格细分算法的思想可以追溯到50 多年前G. de Rham用于生成二维光滑曲线的“砍角算法”)。常见的有Catmull-Clark 算法、Loop算法、蝶形算法、Doo-Sabin 算法, 算法等。一般而言,网格的细分造型可分为两步:拓扑分裂和几何平均。拓扑分裂定义了细分增加的网格点的拓扑结构,几何平均确定网格点的几何位置。2.2 三角网格细分法的特点:任意拓扑、可伸缩性、表示的一致性、数值稳定性、简单性。正是由于三角网格具有上述特点,使得三角网格细分方法作为一种CAGD技术具有很强的生命力。3 经典的网格细分算法---Loop算法
3.1 Loop 细分算法是美国犹他大学的Charles Loop 于1987 年在其硕士中提出的一种逼近型三角形面分裂细分算法。它是基于B样条逼近型算法的一种策略,应用于规则网格时可以产生C2连续的曲面,在非正规点处则可达到C1 连续。该算法使每个三角片在分裂后生成四个小的三角面片,如图2。


(4)


