基于opengl的混凝土坝施工三维动态图形仿真

基于opengl的混凝土坝施工三维动态图形仿真

ID:8137749

大小:130.38 KB

页数:2页

时间:2018-03-07

基于opengl的混凝土坝施工三维动态图形仿真_第1页
基于opengl的混凝土坝施工三维动态图形仿真_第2页
资源描述:

《基于opengl的混凝土坝施工三维动态图形仿真》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、中国农村水利水电·2005年第5期85文章编号:100722284(2005)0520085202基于OpenGL的混凝土坝施工三维动态图形仿真申明亮,熊碧露,肖宜(水资源与水电工程科学国家重点实验室武汉大学,武汉430072)摘要:以VisualC++和OpenGL为技术平台,对混凝土坝施工的三维图形仿真技术进行了研究。介绍了应用AutoCAD建模以及模型数据转换的方法、增强图像真实感的基本手段以及实现坝体上升动态显示的策略。并将上述方法应用在向家坝大坝施工的三维动态图形仿真中。关键词:混凝土坝施工;OpenGL;动态图形仿真;向家坝中图分类号:TV642文献标识码:

2、A(1)地形模型。三维地形建模的方式有3种:线框模型、表1混凝土坝施工图形仿真的设计与实现面模型和实体模型。在这3种模型中,表面模型可以满足表现应用OpenGL进行混凝土坝施工的三维动态图形仿真,需三维地形的需要,数据量也不大,因而可以采用表面模型的方要借助其他的软件来完成建模以及数据转换工作,以达到减少式来建立地形模型。重复劳动,降低工作强度的目的。其设计和实现方法如下:首考虑到三维地形建模的需要,首先应对设计单位提供的地先在AutoCAD中建立模型,并将其导出为“.3DS”格式的文形图进行初处理,主要工作是线型统一处理,即在AutoCAD件;然后在OpenGL中读取

3、“.3DS”格式的模型数据,并对模型中,将地形图中的等高线用多段线(Polyline)来描述;随后进行进行光照、贴图以及雾化等处理,增强其真实感;结合OpenGL等高线矢量化,即为地形等高线赋高程值,建立三维地形图的的显示列表技术,由系统定时器控制产生动画效果。线模型;最后通过面片建模,将单纯的地形线模型转化为面模1.1三维模型的建立型。为减少工作强度,等高线之间采用直纹曲面(RuledSur2三维模型不仅有混凝土坝坝体模型,还包括坝址处的地形face)填充,开挖处及局部缺陷处用边界曲面(EdgeSurface)填模型。OpenGL是一种功能强大的三维计算机图形模型库,

4、它充,以控制精确度。地形建模的工作流程如图1所示。提供了基本几何图元———点、线和多边形的绘制函数,但是单纯利用OpenGL图形库提供的基本几何体构造这些三维模型是非常困难的,而且大量绘图程序语句使得程序冗长,运行时占用内存资源增加,因而是不可取的。借助一些优秀的三维图形软件,如3DSMAX,AutoCAD等可以轻松地建立物体的三维模型,但是在后期的控制上又有困难,例如3DSMAX动画是基于关键帧而不是人机交互的,需要大量的重复劳动。为充分利用三维图形软件和OpenGL的优点,可以采用一种比较理想的方法:利用三维图形软件AutoCAD建立仿真对象的三维模型,避免在Ope

5、nGL中用点、图1地形模型建模的工作流程需要指出的是,为模型数据转换的需要,应根据局部地貌线和多边形来建模的繁重劳动,以提高建模效率和保证模型质的不同以不同图层来管理地形模型。例如在水电工程中,地形量;然后通过数据转换,将三维图形软件建立的模型数据转换模型需要表示的不同地貌一般有山体、河谷、河漫滩以及开挖为OpenGL能够读取的数据格式;最后在OpenGL程序中实现边坡等,地形模型中必须以不同的图层来区别它们。模型的重构。(2)坝体模型。根据已有的水工设计图纸资料,在Auto2CAD中建立坝体三维模型是很容易的。首先根据提供的坝体收稿日期:2004212227剖面图,用

6、多段线(Polyline)描出各坝段的面模型;然后根据坝作者简介:申明亮(19632),男,副教授。86基于OpenGL的混凝土坝施工三维动态图形仿真申明亮熊碧露肖宜体结构数据,对面模型进行挤压、旋转等操作,可以得到坝段的可以利用0penGL的显示列表来实现这个动画过程。初始实体模型;再将该实体模型与额外建立的简单模型进行取0penGL显示列表是一系列0penGL命令的高速缓存,不必进交、取差以及合并等处理,将排沙孔、导流底孔、表孔以及中孔行内存管理,执行效率较高。先在程序中将三维模型中的坝块等孔洞结构表现出来。通过这种方法建立与设计要求相符的分别定义为单独的显示列表,

7、预先生成三维实体。在图形显示坝体实体模型。时,只需用glCallList()函数调用在浇坝块的显示列表即可将坝体模型建立后,为实现后续的动态图形仿真,还必须根其绘制出来,这样就不需要重新计算该坝块在场景中的坐标,据仿真计算的结果,将各个坝段按层厚划分成坝块,每个坝块避免大量的浮点运算,提高动画的显示速度。即是一个实体,同样将其置于不同的图层,并按一定的规律进具体在程序可以这样实现坝块的连续绘制:先访问浇筑成行编号。果数据库,读取在浇坝块,再通过函数glCallList()执行相应坝(3)模型数据转换。模型数据的转换,其核心是转换模型块的显

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。