- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工业设计论文-基于OpenGL的虚拟仓库系统的研究
?? 论文关键词: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?三维模型的构建? 仓库库体是由若干个四边形组成的,包括墙壁、顶部、地板和若干标准线。仓库的顶部切面是折线梯形,是由一个个四边形叠上去的。以下是绘制库体顶部最上端部分的程序段。?
文档评论(0)