数字城市地下管线虚拟现实三维可视化实现

图2 管线表面微分示意图
Fig.2 The map of partition of pipe’s Surface
3.1.2 管线衔接处圆滑处理
在管线平面图中,一般以二维折线表示一条管线段。在三维透视图中,圆柱面的首尾衔接构成虚拟管线段。为使虚拟管线形象逼真,又不影响系统运行速度,故将管线衔接处圆滑过渡,其实现方式为:将管线中心线的拐角以圆弧替代,弧线弧度等于相邻线段的夹角弧度,圆弧所在圆的半径等于管径。将圆滑处理后的管线中心线分段处理,如图3所示。拐角圆弧的细分程度由圆弧弧度大小决定。图3中的数字表示管线中心线的分段节点编号。

图3 管线衔接处圆滑处理示意图
Fig.3 The map of smoothness handling of pipeline
将每段管线以圆柱面模拟,拐弯处为斜圆柱面,其计算方法在3.2节中详细介绍。将所有圆柱面首尾相接,在三维场景中设置光照,则虚拟管线在视觉上与真实管线非常接近。如图4所示。

图4 管线段虚拟显示
Fig.4 Simulation display of pipeline section
3.1.3 管线段的连接
管线段的连接处一般为管线分叉或管径变化部位,在现实情况中,由三通、阀门、变径接头等附属设施相连接。因此在系统中,作者把它们抽象建模,实现虚拟附属设施,作为立体符号存储在数据库中,显示时根据管线的空间走向,调整附属设施角度,使它们与管线紧密结合。如图5所示。

图5 管线段的连接
Fig.5 The map of connection of pipeline sections
3.2 管线模型计算
任意一条管线由众多四边形拼接组成,管线的视觉效果好坏决定于四边形顶点是否共面,以及四边形是否无缝连接。因此,作者提出一种简单有效的分段推算模型计算方法。该方法是先计算起始节点处管线边缘的八个顶点,然后依次推算其余分段点处管线边缘的各个顶点。
3.2.1 管线起始处各个顶点的计算
由管线中心线的起始两个节点的空间坐标,能够确定管线中心线在空间的方向。假定三维笛卡儿坐标系O-XYZ称为固定坐标系,参考坐标系o-xyz定义为原点与起始节点相重合,z轴与管线中心线的第一段相重合,x轴方向规定为与固定坐标系的某个轴平行,如图6所示。

图6 管线边缘顶点坐标转换
Fig.6 Coordinate conversion of vertexes on the brim of pipe
参考坐标系经过旋转平移可以得到固定坐标系,从空间解析几何可知,管线边缘任意顶点a在参考坐标系与固定坐标系中的坐标关系式为:
(1)
写成矩阵形式为
(2)
式(2)坐标变换公式中,(x0, y0, z0)表示参考坐标系原点在固定坐标系中的坐标,九个系数为两轴系间的方向余弦,即
(3)
式(3)中cosXx表示X与x轴之间的方向余弦,cosXy表示X与y轴之间的方向余弦,以此类推。方向余弦是相关两轴之间夹角的余弦,这些夹角在0o与180o之间。管线起始点处边缘各个顶点在参考坐标系中的坐标容易得到;轴系间的夹角已经确定,运用初等函数的知识即可得到式(3)中的九个系数参数;平移量(x0, y0, z0)就是管线中心线起始点的三维坐标。将它们代入公式(1)





