ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:225.97KB ,
资源ID:3614085      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3614085.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于OpenGL立体车库三维仿真系统实现.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于OpenGL立体车库三维仿真系统实现.docx

1、基于OpenGL立体车库三维仿真系统实现本文介绍的仿真系统与上位机以交互方式利用OpenGL 技术模拟仿真车辆入库、出库流程,通过对车辆、停车设备的动态跟踪产生仿真结果,有利于提高立体停车库的设计水平和计算机监控系统的设计水平,在立体车库计算机仿真领域做出了有益的尝试。1OpenGL的功能和特点OpenGL(Open Graphics Library是美国高级图形及高性能计算机系统公司(SGI开发的一套三维图形库。它广泛适用于计算机系统环境下的三维图形应用程序设计接口,目前以成为开放式的国际三维图形程序标准。其本身与硬件和操作系统以及窗口系统的底层软件无关。作为图形硬件的软件接口,OpenGL

2、由几百个指令或函数组成,这些指令允许用户对二维或三维几何对象进行说明,允许用户对对象实施操作以便把对象渲染(Render到帧缓存(Frame Buffer。它具有强大的三维建模功能及帧缓存动画技术,使动态仿真过程呈现三维立体显示。如图1所示,OpenGL指令的解释模型是客户-服务器模式,即客户(用OpenGL指令进行绘制工作的应用程序向服务器(OpenGL内核发布命令,这些OpenGL命令是由服务器解释执行的。客户和服务器可以运行在同一台计算机上,也可以运行在网络环境下的不同计算机上。OpenGL库的函数被封装在Opengl32.dll动态链接库中,从客户应用程序发布的对OpenGL函数的调用

3、首先被Opengl32.dll处理,再传递给服务器被Winsrv.dll进一步进行处理,然后传递给DDI,最后传递给视频显示驱动程序。2建立立体停车库仿真系统平台本系统以HP Compaq DX2390台式机作为开发设备,使用OpenGL图形库及Win32SDK作为主要开发程序库,在Mi-crosoft公司的开发工具Visual Studio2005下进行仿真系统的开发。2.1硬件部分立体停车库的三维仿真系统由三台计算机组成,如图2所示。控制计算机:用于运行立体停车库管理系统软件,其对下位机及设备运行状态的获取和控制是通过西门子OPC控件对PLC数据的采集及更新得以实现。该软件曾应用于哈尔滨某

4、小区车库实际工程项目中,其源代码不需做任何改动即可在这套仿真演示系统中实现实时控制动画演示的功能。图形仿真计算机:用于运行立体停车库三维动画演示程序,该程序模拟PLC对控制计算机发出的指令进行实时响应,并仿真设备的具体动作和工作状态,并将状态信息反馈给控制计算机,实现在实时控制下的立体停车库入库、出库流程的动态仿真演示。数据转发计算机:该计算机通过西门子OPC控件将控制计算机对PLC更新的数据读取入缓冲区,并使用UDP协议通过网络转发给图形仿真计算机,实现数据的实时转发与传递;并通过与上述过程相逆的操作将图形仿真计算机的反馈信息转发给控制计算机。2.2软件部分开发环境:本仿真系统使用C+语言在

5、Visual Studio2005环境下进行开发,Visual Studio2005是Microsoft公司推出的新一代集成开发环境,包含了许多强大的工具,支持多种编程语言(C#、VB、C+、HTML与JavaScript等。图形库:OpenGL开放式三维图形库,它集成了曲线造型、图形变换、光照、材质、纹理、像素操作、融合、反走样、雾化等复基于OpenGL的立体车库三维仿真系统实现奚俊峰(兰州交通大学机电技术研究所,甘肃兰州730070 Implement Design Simulation of Three Dimension Garage Based on OpenGL摘要搭建了基于Ope

6、nGL图形库及UDP协议的软硬件仿真平台,分析了系统中的双缓存技术、三维模型读取、模型数据驱动、可变视点等关键技术,设计了立体停车库可视化仿真系统。该系统实现了模拟仿真立体车库出入库三维场景,设备运行效率统计等功能。关键词:OpenGL,三维仿真,立体停车库AbstractThis paper discusses the construction of simulation system platform which based on graphic library of OpenGL and UDP protocol,describing the key technology used su

7、ch as double buffer,reading3D model,data-drive model,perspective projection,and build the simulation system of parking garage.The system realizes the functions simulating the scene of garage operation,illustrating statistic of the equipment operation.Keywords:OpenGL,three-dimension animation,three-d

8、imension garage图1OpenGL在Windows系统中的工作流程图2 立体车库仿真系统硬件组成基于OpenGL的立体车库三维仿真系统实现12工业控制计算机2010年第23卷第6期杂的计算机图形学算法。标准模板库:STL (Standard Template Library ,它通过模板技术封装了一些复杂而常用的数据结构,并在这些容器的基础上提供了如遍历、查找、比较、排序等常用的算法和函数,在极大的提高代码的重用性和便捷性的同时又保证了程序的性能。本软件中在虚拟场景对象管理、事物处理和协议解析的代码中广泛使用了STL 技术。3关键技术3.1双缓存技术为了生成平滑的动画,OpenGL

9、 采用了双缓存技术,双缓存即前台缓存和后台缓存,后台缓存在前台缓存内容中一帧画面被显示时,计算坐标、渲染场景、生成下一帧画面,当完整的画面在后台缓存中画出后,调用SwapBuffers(函数使其由前台缓存显示。前台缓存的图像显示一定时间后,然后提供完全绘制好的下一幅图像,并显示相同时间,如此循环。从而增强了立体车库动画演示的连续感和运动感。3.2模型的建立及显示由于本三维仿真系统涉及到立体车库、车辆、设备等的模型比较复杂,因此先用3ds Max 软件进行建立模型,然后导出为3DS 模型文件,最后在程序中读入模型数据文件并显示的方法来完成建模过程。3ds Max 软件是AutoDesk 公司公司

10、开发的三维动画软件,建立模型后可以导出为3DS 格式的数据文件。3DS 文件由许多块(chuck 组成,块是由块信息和块数据组成,块信息的前两项分别为块的ID 和块的长度,块内包含里下一个块的相对位置,这样就可以递归的读取出所有的模型数据。读入3DS 模型的数据实际是构成模型的若干三角形顶点的空间位置坐标、法线向量、纹理坐标等数据,通过如下 OpenGL 指令即可将模型在视口中显示出来:glBegin(GL_POLYGON;glNormal3f(.;法线向量glTexCoord2f(.;纹理坐标glVertex3f(.;顶点坐标.glEnd(; 通过这样的方法将模型数据读取并显示出来,同时能够

11、反映出模型的材质和贴图效果,生动再现立体车库及车辆设备等构成的虚拟场景。读取并显示的车辆模型如图3所示。3.3模型的数据驱动场景中的模型运动,如车辆的行进、转弯和立体车库内举升设备的运动等,可以使用OpenGL 中的平移函数glTranslate(和旋转函数glRotate(操纵,通过矩阵运算来实现。 glTranslate (x ,y ,z 函数产生矩阵T ,与绘制对象的齐次顶点v 相乘得到经平移变换后的顶点坐标,如式(1所示:glTranslate (,x ,y ,z 产生一个可以绕(x ,y ,z 任意轴旋转角度的矩阵R ,矩阵:T =100x 010y 001z 00000000000

12、01x k y k z k 00w(1R 与绘制对象的齐次顶点v 相乘得到经平移变换后的顶点坐标,如下所示:绕x 轴的旋转变换矩阵R 如式(2所示:R =10000cos -sin 00sin -cos 00000000000001x ky k z k 00w(2绕y 轴的旋转变换矩阵R 如式(3所示:R =cos 0sin 00100-sin 0cos 000000000000001x k y k z k 00w (3绕z 轴的旋转变换矩阵R 如式(4所示:0001x k y k z k 00w (43.4可变视点设计在执行立体车库入库及出库视景仿真的过程中,作为模拟用户视角的虚拟摄像机在场

13、景中漫游,观察机械设备及举升机构动作,使观察者产生身临其境的感受,是使用了OpenGL 中的透视投影技术:gluPerspective(fovy,as,Near,Far该函数定义了透视可视区域为一个平截头体,它的参数是垂直方向的视野角度、高度到宽度的纵横比,以及近端和远端裁剪平面之间的距离,如图4所示。图4由gluPerspective 定义的视景体首先,视景平截头体定义了视野的范围,即组成四棱台的六个面范围内的空间才能被看见,其余的将被剪裁面剪切掉。其次,在三维模型空间向二维显示空间转换的过程中,视景体实现了透视投影功能,即“近大远小”的视觉感受。视点的实时变化用到的另一个函数:gluLoo

14、kAt(eyex ,eyey ,eyez ,centerx ,centery ,centerz ,upx ,upy ,upz;其中:eyex ,eyey ,eyez 观察者的空间位置;centerx ,centery ,centerz 目标视点的空间位置;upx ,upy ,upz 观察者向上方的向量。在虚拟场景中根据举升设备及车辆位置,调用上述函数改变摄像机的位置实现随动观察、场景漫游及全场景俯瞰等效果。图3读取3DS 模型数据并在程序中显示图5举升机械设备运行状态三维仿真13(上接第11页End Sub时间代码为=今天是&YEAR(TODAY(&年&MONTH(TODAY(&月&DAY(T

15、ODAY(&日&星期&TEXT(TODAY(,aaa3.2数据检索界面设计通过点击图3界面中的“查询数据”按钮得到用Excel VBA 设计的检索界面(图4,在检索界面中按工作要求输入查询的时间等操作后点击“检索数据”,得到历史报表(如图5所示。在检索窗口中(图4。由于要使操作的方便等原因,所以使其中的一些按钮设置为不可见。只留下输入检索时间等几个必要的按钮。得到的历史数据可以通过Excel来方便操作。图4检索界面3.3数据检索结果通过以上操作得到的数据报表如(图5所示,这个Excel 报表就可以方便用户保存,查询检索了。而且还可以通过在(图4中可以再设置一些功能按钮所需要的按钮来打开其他的S

16、heet报表。在得到历史报表以后通过点击图标可以方便的返回到图3主界面。这样使数据监控系统更具有友好性。图5历史报表4结束语通过Excel VBA对组态王的二次开发运用。提高了组态王监控系统的控制功能。同时利用VBA的监控系统设计方便用户选择打开不同的报表。工程试验标明:系统更加友好,操作更加方便。组态王和Excel VBA相结合可以方便的进行工业控制和数据查询。此系统通过通信连网,可以远程的来通过Excel来操作上位机。本监控系统设计方法在南京陶吴增压站工程项目中取得了良好的效果。参考文献20082伍云辉.Excel VBA应用高效开发M.北京:电子工业出版社,2007 4系统实现的功能本文

17、介绍的基于OpenGL的立体停车库仿真系统实现了在上位机立体车库管理系统软件的指令控制下模拟车辆出入库过程中举升机构和机械设备的运行场景,如图5所示。该系统在立体停车库的仿真实践中较好的实现了动态实时跟踪、控制指令的反馈和状态信息的生成。通过对设备运行参数的设置(如图6所示能够模拟真实情况下立体停车库系统的运行状况,并实时记录控制指令传递流程及机械设备的运行时间,如图7所示。5结束语该系统通过对实时仿真环境中车库设备运行状态的观察能够对上位机监控系统软件车辆存取算法的效果进行验证;通过对设备运行时间的统计,可以找到系统运行中的性能瓶颈。可据此实现对立体停车库项目方案的可行性及能否达到设计目标进

18、行评定,为立体车库项目的方案论证和设计提供了一定的技术依据。参考文献1Dave Shreiner,Mason Woo,Jackie Neider,Tom Davis.OpenGL Programming GuideMAddison-Wesley PublishingCompany20082Richard Wright,Jr Benjamin Lipchark.OpenGL Super BibleM.Waite Group Press20053张正波,牟彦,黄华,等.OPENGL实现3ds文件中模型自由旋转J.计算机工程与应用,2004(84Charles Petzlod.Programming WindowsM.Microsoft Press20005徐明亮,卢红星,王琬.OpenGL游戏编程M.北京:机械工业出版社,2008 图6 设备参数设置界面图7系统运行效率统计!基于OpenGL的立体车库三维仿真系统实现14

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1