期刊库

教育   经济   科技   财会   管理   
医学   法学   文史   工业   建筑   
农学   水利   计算机   更多>>
 首 页    论文大全   论文精品    学术答疑    论文检测    出书咨询    服务流程    诚信通道    关于我们 

基于OpenGL的虚拟仓库系统的研究

人气指数: 发布时间:2011-07-21 15:42  来源:http://www.zgqkk.com  作者: 中国期刊库
分享到:

 

【关键词】OpenGL  虚拟现实  虚拟仓库  漫游  ADO   
【摘  要】简要介绍了虚拟现实技术及其相关技术的内涵,重点讨论了系统的设计思想、体系结构、三维模型的构建、ADO连接以及漫游的实现等。 

  1 虚拟现实技术及其相关技术简介  
  随着计算机技术的迅速发展,虚拟现实与人们的日常生活13益密切,已成为当今计算机界广泛关注的一个热点。虚拟现实技术是一项涉及计算机图形学 、人机交互、人工智能等学科的综合技术,它的目的是用计算机来生成一个逼真的三维感觉世界,给观众以如同真实世界的体验。利用这一技术,我们可以足不出户游览风景胜地,可以漫游虚拟博物馆欣赏文物,可以游览虚拟校园欣赏校园景致等。  
  Delphi是全新的可视化编程环境,采用了弹性可重复利用的完整的面向对象程序语言(Object—Oriented Language),是当今世界上最快的编辑器和最为领先的数据库技术。Delphi不但为OpenGL渲染函数的调用提供了一个高性能的继承化开发环境IDE(Integrated Development Environment).而且通过 ADO方式连接 SQL Server 2000数据库作为后台数据库进行数据调用。  
  Microsoft SQL Server是一个关系数据库管理系统(RDBMS),可应用于各种专业组织及专业数据库和政府用开发环境巾。SQL Server 2000在本软件中是作为后台数据库存放货物仓库的各种规格参数 以备调用 ,Delphi是 通过 ADO (ActiveX DataObjects)方式与数据库进行连接的,这种连接方式易于使用、高速度、低内存支出和占用磁盘空间较少。  
  OpenGL是 Open Graphics Library的缩写,它是 SG1公司开发的一套高性能的图形处理系统,是图形硬件的软件接口,意为开放的图形库。OpenGL不是编程语言,它是在 Delphi平台上的一组绘图命令的 AP1集合。基于 OpenGL的三维可视化具有建模方便、实时的三维可视化和高度真实感显示的优越性。  
  2 程序的实现  
  2.1 设计思想  
  虚拟仓库系统以 Delphi 7.0为程序设计平台,以 OpenGL函数库为工具进行图像渲染,通过 ADO方式连接 SQL Server 2000数据库作为后台数据库进行仓库规格参数的动态调用,在一个三维可视化的空问中进行货物仓库的立体模拟,用户可以通过操作键盘和鼠标以第一视角在这个场景中漫游,还可以查看每垛货物箱的各种规格参数。  
  2.2 体系结构  
  本系统在结构上可分为 3个模块 :Delphi平台模块、数据库调用模块、OpenGL实现模块。其中OpenGL实现模块又可分为5个子模块:货物仓库库体渲染子模块,货物箱的渲染与纹理贴图子模块 ,灯管的渲染与光照、材质的处理子模块,货物箱规格参数的中文输出子模块,鼠标和键盘响应(漫游实现)子模块。虚拟仓库系统的工作流程见图 1。  
  2.3  ADO连接  
  系统是通过 ADO(ActiveX Data Objects)方式与 SQL Server2000数据库进行连接的,主要用到 Delphi的 ADO组件页的ADOConnection 组件和 ADOQuery 组件。 我们通过ADOConnection组件连接数据库,通过 ADOQuery组件进行 SQL编程来调用数据库巾的关于货物仓库的各种参数。 
  我们用下面的语句调用货物仓库的参数存放到变量 a中,其中a是用 HuowuStorage定义的记录类型。  
  a[i].name:=DataModule1.ADOQuery1.fieldByName(‘货物 名称 ’).asString; a[i].boxuint:=DataModule1.ADOQuery1.fieldByName(‘单 箱发数’).aslnteger; I d I.]_boxwidth:=DataModule1.ADOQuery1.fieldByName(‘包装箱 宽 ’).aslnteger;a [j].boxheight:=DataModule1.ADOQuery1fieldByName(‘包 装箱高 ’).aslnteger; a[j].boxleng【b:=DataModule1.ADOQueryI.fieldByName(‘包装箱长’).aslnteger。  
  2.4 三维模型的构建  
  仓库库体是由若干个四边形组成的,包括墙壁、顶部、地板和若干标准线。仓库的顶部切面是折线梯形,是由一个个四边形叠上去的。以下是绘制库体顶部最上端部分的程序段。  
  glBegin(GL_QUADS): 
  glNormal3f(O.0,一1.0,0.O); ,般 置法线方向glTexCoord2f(0,O);  ,/纹理坐标左下  
  glVertex3f(一sw/8,sh+sh,一(i-1)*sYscale); ,,左前glTexCoord2f(1,0):  ,/,纹理坐标右下  
  glVertex3f(一sw/8,sh+sh,一i*sYseale):  //右前 glTexCoord2f(1,1):  //纹理坐标右上  
  glVertex3f(sw/8,sh+sh,一i*sl/scale);  //右后 glTexCoord2f(0,1);  ,,纹理坐标左上  
  glVertex3f(sw/8,sh+sh,-(i-1) sl/scale);  //左后 glEnd(); 
   
  再进行透视投影:gluPerspective(45.0,Width/Height,1,10 000.0)接着我们进行货物箱的设置,每个货物箱是由6个四边形组成的,要对每个四边形进行纹理贴图。当然在渲染每一垛货物箱时,隐藏在里面的那些表面就不用渲染了,这样可以节省很多时间,提高效率。  
  由于要实现每垛货物箱的精确数量,所以使用多重 FOR循环来进行渲染。先绘制整层的货物箱,再绘制一次剩余后整行的货物箱,最后再绘制二次剩余的几个货物箱。  
  为了便于说明问题,我们举个简单的例子 :若有一垛的箱子数量为 238个,箱子的长宽高分别为 4,8,4(简化后),根据仓库的参数设置可以推算出这一垛每列箱子数为 9个,共有整层 6层 .余下 22个在第 7层,在该层上又有整 2行 ,一次剩余标志为l,最后还剩 4个货物箱在第 7层的第 3行,二次剩余标志为 l。  
  2.5 漫游的实现 
  仓库漫游的实现是通过鼠标和键盘的响应来改变相应的参数,进行视图模型矩阵转换,通过坐标系的变换来调整观察点的位置或是所渲染模型的位置。可利用下面的函数来实现。  
  glRotate(’l’ilt,1,0,0);  //围绕  轴顺时针旋转 Tilt度  
  glRotate(Heading,0,1,0);  //围绕 y轴顺时针旋转 
  Heading度 glTranslatef( ,一0.5+HeadMovement,Z);/船   轴正方向 前进(X)单位长度,沿 y轴正方向前进(~0.5+HeadMovement)单位长度,沿 z轴正方向前进(z)单位长度。漫游实现的基本原理见图 2。 
   
  3 结语  
  本文利用 OpenGL强大的图形功能在货物仓库模拟方面进行了有益尝试 ,在实践中取得了很好的效果,通过鼠标键盘进行人机交互 ,最终实现了货物仓库的动态可视化。虚拟现实技术的研究和应用具有极其广阔的前景,在某种意义上说它将改变人们的思维和生活方式,给人类世界带来难以想象的变化。  
  参考文献  
  [1] Grigore C Burdea,Philippe Coiffet.虚拟现实技术[M].版.北京:电子工业出版社 ,2005. 
  [2] 和平鸽工作室.OpenGL高级编程与可视化系统开发[M]北京:中国水利水电出版社,2002.  
  [3] 尚游 ,陈岩涛.OpenGL图形程序设计指南[M].北京:巾国水利水电出版社 ,2001.  
  [4] 谢志鹏,陈锻生.用 OpenGL开发三维交互式虚拟场景[J]计算机应用,2000,20(8):38--40.
 

    期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
      本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


      【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

     
    QQ在线咨询
    投稿辅导热线:
    180-1501-6272
    微信号咨询:
    fabiaoba-com
    咨询电话:18015016272 投稿邮箱:zgqkk365#126.com(#换成@)
    本站郑重声明:文章只代表作者观点, 并不意味着本站认同。所载文章、数据仅供参考,使用前请核实,风险自负。
    部分作品系转载,版权归原作者或相应的机构   若某篇作品侵犯您的权利,请来信告知.版权:周口博闻教育咨询有限公司 
    Copyright © 2005-2023 . 期刊库 版权所有