前言
工程地质可视化是利用计算机技术将工程勘测获得的数据,转换为形象直观的便于进行交互分析的地质结构空间形态的立体模型,其基础是工程数据和测量数据的可视化,近年来已经深入到工程建设的各个方面,并发挥了巨大的作用。
但是,目前针对工程中地质开挖对象建模的研究还比较少,本文面向水电工程,探讨了多桩段工程边坡3维可视化建模方法,目前针对水电工程建模的研究还比较少,边坡方面主要是单桩段边坡建模。
一 、多桩段边坡背景地形数据组织地形的真实感显示是工程边坡3维可视化的基础,数字高程模型(DEM)是当前地形3维可视化的主要形式,大体上分为3种:等高线模型、不规则三角网(TIN)模型和正方形格网模型。
由于等高线模型自身存在着真实感不强、包含信息量小等缺点,应用相对比较少。TIN和Grid是当前应用最为广泛的采用连续表面数字表示的数据结构。
TIN具有许多明显的优点和缺点,其最主要的优点就是可变分辨率,当表面粗糙或变化剧烈时,TIN能包含大量的数据点;TIN还具有考虑重要表面数据点的能力,这就导致了基于TIN的数据存储与操作非常复杂。
Grid数据结构为典型的栅格数据结构,每个格网点与其他相邻格网点之间的拓扑关系都已经隐藏在阵列的行列号中,节点代表了格网的高程值。Grid的优点在于其数据结构简单,数据存储量很小,操作方便,非常适合于大规模的使用和管理。
其缺点就是对于复杂地形地貌,难以确定合适的网格大小,在地形简单地区容易产生大量的冗余数据,在地形起伏比较复杂的地区,这种数据结构又难以表示微起伏特征如下图。
由于现有的工程边坡数据仅是不同桩段边坡的4个角点的数据,仅有这些数据只能够单纯建立边坡空间模型,不能够直观地反映边坡的走向、空间的形态。
不同边坡间其相对位置,因此本文采取用多个边坡的角点数据,利用插值计算,得到了边坡的虚拟地形数据。
由于该地形数据是虚拟的,因此在地形起伏细节上要求比较小,所以本文利用多桩段边坡的角点数据插值计算得到的DEM数据为正方形格网数据,但由于规则网格数据会带来法向量二义性及平面失真,将规则网格数据一分为二转化为规则三角形网格数据。
三角形具有准确无误地确定其平面法线的特征,很好地解决了平面法向量二义性的问题,提高了显示效率,为多桩段边坡提供了良好的背景视觉。
二 、多桩段边坡3维模型边坡建模方式由于工程中边坡开挖面大多设计为局部平面,因此重建的边坡表面也是平面。
因为OpenGL有其独立的绘图坐标系,需要将边坡角点数据从大地坐标系转换到OpenGL绘图坐标系才能满足使用要求,利用OpenGL提供的GL—QUAD—STRIP绘图方式绘制。
边坡与背景地形数据的处理由于背景地形数据是由相对少量的边坡角点内插计算生成的,因此位于边坡区域内部的点内插生成的高程与实际的高程会有一定的差别,这样会出现边坡浮出背景地形或者被地形遮挡的情况。
为使边坡能够贴到背景场景中,要对这部分点的高程值进行改正,将它的高程恢复到坡面上来。采用的高程值改正方式是:使用各个边坡的4个角点构建区域并计算该边坡空间方程,判断点位于边坡区域内时,即用该区域处的坡面方程改正其高程值。
但是仅仅这样来改正DEM数据点的高程值还是不够的,当有点位于坡面内部,而与其构成三角网格的另外2个点不在坡面区域内,此时生成的场景中边坡仍然有部分会被地形遮挡,因此要一并改正其上下左右4个点的高程值。
模型光照和法向量处理边坡场景的空间模型建立起来以后,为了提高模型的显示效果,需要进行光照处理。OpenGL在模拟光源和光照时,是将光分解为红、绿、蓝三种分量,光源的颜色由其所发射的红光、绿光和蓝光的量来描述。
在OpenGL的光照模型中,场景的光线可来自多个光源,每个光源可以单独控制开关,有的光来自某个特定的方向和位置,也有的光源分散在整个场景,经过来自光源的光线多次反射,无法确定其光线的方向。
要绘制真实的3维物体,仅有光源是不够的,只有其有物体表面吸收、反射光线时,光源才起作用,而材料本身可能发光,也可能漫反射光线,或在特定方向反射光线,光照只对具有上述属性的材料起作用。
光线由4个部分构成:发射光、环境光、漫反射光和镜面反射光,在实际应用中,OpenGL独立计算四种成分的光强,然后再将其结果叠加到一起产生最终的光照效果。
边坡表面处为平面或圆弧面,因此为了观察模型空间形态和映射的纹理信息,将光源的GL—SPECULAR(镜面反射),GL_DIFFUSE(漫反射),GL—AMBIENT(环境光)都设置成白色。
通过函数glLightfv()来设置光源,光源设置完以后调用glEnable(GL—LIGHTING)来启动光源,合理设置光照和正确计算三角形法向量是立体感显示的关键操作。
边坡背景地形加入光照前后的比较,可以明显看出场景立体感增强。模型加入了光照之后,场景有了基本的光照颜色和强度,但是不同的顶点或表面接受的光照量不一样,因此为了增加模型的立体感,需要指定顶点或表面的法线向量,即相对于光源的朝向。
在平面中,所有点的垂直方向都相同,但在曲面中,各个点的法向量方向都不相同。每个面都有2个方向,计算三角形法向量时必须按照相同的顺序从三角形取两条有向边,计算又积并将叉积单位化。
计算从网格的左下角0点开始,以第一行为例,先由上三角形各顶点的坐标计算法向量,按顺时针方向(0—2一1),(2—4—3)…;再计算下三角形各顶点的法向量,也按顺时针方向(0—3—2),(2—4—3)…。
纹理映射是将2D图形(通常是位图)映射到3D物体上的一种技术,是3维可视化的关键,它通过将图像粘贴于几何模型表面来增强图形的真实感。由于图像具有丰富的信息含量和特征,在很大程度上能够取代复杂模型的几何描述。
在边坡表面上布置若干控制点,根据控制点对采集的边坡原始相片进行畸变校正、影像纠正、影像镶嵌等处理后,形成坡面展示影像底图,展示影像底图真实地反映了地质开挖面的地表形态、地质、水文等特征
边坡影像纹理映射方法要渲染看起来最真实3维场景,最好使用高分辨率而且颜色丰富的纹理,但这样的纹理会耗费大量的内存。
通常计算机的图形渲染没备限制了单次装载影像的大小,目前的OpenGL渲染机支持的单张影像最大范围为2048X2048。如果对大尺寸的展示影像进行单一分辨率映射,应将其进行重采样,使影像尺寸转换到OpenGL支持的范围内进行映射,但是会导致影像信息的损失。
目前一般采用的方式就是使用多分辨率纹理映射,建立MipMap纹理映射模型,然而使用Mipmap生成的纹理以多级形式存储。
最后,渲染硬件需要访问所有这些纹理,在对图元进行光栅化处理时,通常每个纹理元素都需要若干次,导致光栅化次数急剧增加。在图像比较过大内存有限制的情况使用MipMap纹理会给显卡内存系统带来过重负担。
同时在使用时发现虽然OpenGL提供了gIu—Build2DMipmaps()函数用来创建多级纹理的函数,但是该函数的效率很低,执行速度远远慢于普通纹理创建函数glTexSubImage2D(),严重制约了Mipmap纹理的使用。
为了克服OpenGL渲染机对单张影像大小的限制,不损失影像信息,又保证场景显示和漫游的效率,本文对每个边坡的影像进行分块处理,将边坡影像分成256X256一块,对边坡进行纹理映射。分块的规则如下:
上述条件的几何意义是:把影像,分割成n个区域;任何2个不同的区域,它们的交集为空;被分割的任何一个区域都是原始影像区域,的一个子集;任何一个影像子区域在几何空间上对应空问坐标(X,Y)是左上空间数据编辑、空间数据查询、空间量算分析、地图制图等。
三 、系统应用前景本文描述了基于较为成熟的GIS技术平台的新系统,充分考虑了规划编制部门的实际需要,凭借GIS技术的整合能力,不但提高了规划编制的技术层次和工作效率,更重要的是充分考虑市场经济条件下部门发展受许多不确定因素影响。
对社会经济发展的特殊需求做出及时反映,变单一的静态规划模式为多方案的动态规划模式,增强规划预测的准确性和用地指标调整的可信度,使得国土主管部门能在综合各种因素的基础上做出更加合理的决策。
“基于ArcGIS平台的土地利用规划编制信息系统”可用于县、市、省各级土地利用规划编制部门,为新一轮的土地利用规划修编服务,有效增强土地利用总体规划的现势性和科学性,并满足国土资源信息化的发展需要,因而具有最直接的现实意义和广阔的应用空间。
结束语利用GIS强大的空间数据处理技术来建立土地利用规划编制信息系统,能够实现规划编制和规划成果图文数据的一体化管理,是今后规划编制的发展方向。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved