首页> 资源> 论文>正文

城市给水管网三维水压面的绘制

论文类型 技术与工程 发表日期 2000-11-01
来源 管道更新改造研讨会
作者 信昆仑,刘遂庆
关键词 给水管网 曲面插值 水压面 OpenGL
摘要 信昆仑 刘遂庆 (同济大学环境科学与工程学院)   摘要 本文介绍了城市给水管网三维水压面图的绘制方法,基于管网水力计算成果,通过管网投影区域的四边形网格插值,利用OpenGL图形库,进行了管网三维水压面的绘制,可用作给水管网设计、运行和优化调度时的信息参考。   关键词 给水管网 ...

信昆仑 刘遂庆
(同济大学环境科学与工程学院)

  摘要 本文介绍了城市给水管网三维水压面图的绘制方法,基于管网水力计算成果,通过管网投影区域的四边形网格插值,利用OpenGL图形库,进行了管网三维水压面的绘制,可用作给水管网设计、运行和优化调度时的信息参考。
  关键词 给水管网 曲面插值 水压面 OpenGL

  城市给水管网中水压面的分布对于了解管网工作状况以及管网的运行调度具有十分重要的指导意义。然而,实际情况下,城市给水管网实测压力点往往是有限的数量,如何全面了解和掌握整个供水管网的水压信息则需要基于管网实测水力要素(包括管网布置,管道长度,管径等)的水力计算和相应的曲面数值拟合来完成。
  获得管网中各节点的压力值是进行整个管网计算(包括优化设计、水力模拟、优化调度以及管网校核等)的基础。目前国内外都有相当数量的方法及程序用于管网的水力计算。对于管网水压信息的图形化工作,大多以二维等水压线或水压区域分布图表示为主。本文基于管网水力计算结果通过空间散列点的数据拟和技术,利用OpenGL图形库编制程序,进行了三维水压面绘制的尝试。三维图形表示较二维图形表示的优点在于更能直观地反映管网的水压分布及变化趋势,具有良好的可视性,对于实现城市给水管网的全面数字化和信息化是一个重要的补充。也是计算机可视化与虚拟现实技术应用于给水管网工程领域的一个较为适宜的切入点。
  绘制给水管网的三维水压面图涉及应用计算数学及计算机图形学两大方面的内容,以下分别介绍在绘制水压面图过程中所用到的曲面插值、曲面拟合、OpenGL图形库的知识。

一、 三维散列数据点的四边形网格插值算法

  由于管网节点在几何图形学意义上的分布是不规则的,而通常三维曲面的绘制要求的点是通过对曲面投影区域进行三角型或四边形网格化后得到的网格节点,因此需要以管网节点为型值点进行管网投影区域的四边形或三角形网格插值。

  1.Shepard方法:该方法可用于任意分布的空间数据点的插值。插值函数可显式写出。令ρ为平面上某一度量(通常取为距离度量),对定点(x,y),令ri=ρ((x,y),(xi,yi))  (i=1,2,...N) ,假定μ为一正实数,对散列数据点(xi,yi,fi) (i=1,2,...N),则拟合曲面 Z=f(x,y)表示为下列插值公式:

  

  由式(1-1)可以看出当(x,y)是非插值点时,f(x,y)取所有函数值fi的权平均,权因子1/riμ与(x,y)有关。对于μ的选择通常为大于1的常数。μ如果选择过大,则型值点附近拟合曲面将变得十分平坦而稀疏分布的点和点之间的曲面将变得十分陡峭。Gordon等人的研究表明选取μ=2是合适的。

  2.局部逼近方法:选定R>0,取:

  

  易见φ(r)是连续可微的,并当r>R时恒为0。令,定义下述曲面:

  

  该方法较之全局插值方法的合理性在于充分考虑了型值点对周围区域的影响不半径。但R的合理取值需要一定的技巧和实际问题的处理中获得的经验。

  二、贝塞尔曲面

  在计算机图形学中,三维曲面通常是由一系列基本的曲面片经过平滑(光顺)处理后拼接而成。曲面片时曲面的基本单元。其中常用的曲面片有孔斯(Koons)曲面、贝塞尔(Bezier)曲面及B样条曲面等。一个曲面片是以曲线为边界的点的集合,这些点的坐标可用双参数单值函数表示:

    x=x(u,w),y=y(u,w),z=z(u,w)                (2-1)

  则曲面片的一般形式为:

     其中u,w∈ [0,1]     (2-2)

  对于贝塞尔曲面,当m=n=3时,该曲面由4×4个顶点构成的特征多面体决定其形状,该曲面称为双三次Bezier曲面片。其矩阵形式为:

   Q(u,w)=Fb(u)PFb(w)T        (2-3)

  其中P为型值点:

  

  图1描述了贝塞尔曲面片与其控制点多面体的关系:

  三、OpenGL图形库

  OpenGL图形库是程序员开发基于图形的交互式应用程序的接口,是由Silicon Graphics(SGI)公司在其GL语言的基础上发展起来的。其强大的三维图形绘制功能极大地减轻了程序开发人员地编程工作量,而且其日益完善的图形建模、渲染功能,使计算机图形变得日益丰富和绚丽多彩。OpenGL现在已经成为一个国际标准,被安装在广泛的系统上。Windows NT 和Windows98都将其作为基本操作系统的一部分,可以被很方便地调用。
  对于三维曲面的绘制而言,OpenGL对初始化绘图环境、曲面片绘制与拼接,渲染、材质贴图、线框图的消隐等一系列复杂的图形算法进行了封装,为图形库使用者提供了简捷的函数接口,籍此我们可以很方便地绘出效果丰富的三维曲面图形。OpenGL利用二维求值器来完成三维曲面的绘制过程,它为曲面提供控制点,使其能精确绘出曲面上的点、线框图以及有光照处理的曲面,基本过程如下:
  1. 调用glMap2定义二维求值器   
  2. 调用glEnable的适当参数激活使用二维求值器
  3. 在glBegin/glEnd之间调用glEvalcoord2函数或glMapGrid2、glEvalMesh2函数绘制线框或渲染图

  四、三维水压面图的绘制过程

  对于管网水力计算后的成果,以节点水压值Hi作为管网节点(xi,yi,Hi)的第三维坐标。并以管网节点作为型值点在管网平面投影区域上进行Sherpard插值,得到四边形网格节点上的水压数据。利用四边形网格节点构造双三次Bezier曲面片,将所以曲面片进行光顺拼接后即得到管网区域的三维水压面图。由于OpenGL图形库可以完成除Sherpard插值外的几乎所有图形绘制过程,所以,本文使用了OpenGL库的二维求值器进行了水压面图的方便绘制 ,图2为绘出的管网三维水压面模型的线框图。

  由于OpenGL图形库的强大的图形渲染功能,利用OpengGL图形接口函数还可以轻松绘制水压面的渲染图,如图3所示:

  五、结论和建议

  通过曲面插值技术和利用OpenGL图形库,可以对管网水力计算成果的水压分布进行直观表示和模拟再现,有助于城市给水管网的设计及运行管理。
  对于三维水压面的绘制,仍然存在的问题是,计算机三维图形技术在城市给水管网中的应用尚显粗疏,而本文通过比较也发现了三维图形中个别区域与实际水压分布趋势的偏离。究其原因,在于对管网节点的曲面插值技术还有待于进一步改进,同时曲面拟合算法也有待于进一步合理化。
  由于计算机技术在高速运算和虚拟现实领域的巨大优势,在合理修正水压面的三维模型后,可以将其用于城市给水管网日常运行管理和优化调度时的信息参考。

  参考文献

  1. 关履泰、罗笑南等(1999),《计算机辅助几何图形设计》,高等教育出版社
  2. 唐泽圣、周嘉玉等(1994),《计算机图形学基础》,清华大学出版社
  3. David J.Kruglinski (1999), 《Visual C++技术内幕》,清华大学出版社
  4. 贾志刚等(1998),《精通OpenGL》,电子工业出版社
  5. 唐月红等,任意曲面散乱数据光滑超曲面拟合二步法,数值计算与计算机应用,1999年第3期,P205-213
  6. 来新民等,基于NURBS的散乱点自由曲面重构,计算机辅助设计与图形学学报,1999年第5期,P433-436

论文搜索

发表时间

论文投稿

很多时候您的文章总是无缘变成铅字。研究做到关键时,试验有了起色时,是不是想和同行探讨一下,工作中有了心得,您是不是很想与人分享,那么不要只是默默工作了,写下来吧!投稿时,请以附件形式发至 paper@h2o-china.com ,请注明论文投稿。一旦采用,我们会为您增加100枚金币。