当前所在位置: 首页 > 计算机 > 正文

基于OpenGL的邦宝模型积木分析系统设计与实现(第2页)

本文共计6733个字,预计阅读时长23分钟。【 字体:

论文指导服务

毕业论文网专业团队提供毕业设计、论文写作指导及相关咨询服务

论文指导 毕业设计 答辩咨询
微信号已复制到剪贴板

  2.3 在C#中使用Tao框架实现OpenGL建模技术

  由于OpenGL的广泛应用,它已经成为了一个工业标准。

  目前虽然有很多软件开发商提供的程序设计语言都提供了对开发基于OpenGL应用软件的支持,如Visual C++,C++builder等。但是并没有提供在C#中开发OpenGL的标准和规范的方法,而且,在.NET框架中也没有提供0penGL API的接口。目前在C#中可以通过CsGL等第三方软件进行OpenGL建模的技术,也可以基于Tao技术,因为Tao Framework提供了许多基于.NET和Mono的库,它是由美国华盛顿大学分布式对象计算组织开发的开放源码的CORBA(通用对象请求代理体系结构)产品,它实现了C0RBA2.6规范中的说明。因此,我们利用Tao框架实现在C#中进行OpenGL建模的方法[7]。

  2.4 使用SharpGL扩展库

  SharpGL是C#对OpenGL库的封装,是一个方便我们在Windows窗体中和WPF中使用OpenGL的扩展库,它能够设置一个强大的场景图和Visual Studio模板。SharpGL扩展库包装了所有当前的OpenGL函数,所有主要的扩展和一套丰富的先进功能的对象,并且能够将代码移植到其它的平台中,所以我们使用它很容易开发出3D图形程序。它的命名空间包括:

  ①SharpGL:包含OpenGL的主要对象,这个对象封装了所有的OpenGL函数、枚举和扩展。

  ②SharpGL.SceneGraph:包含所有包装OpenGL的对象和场景中的元素-灯光、材料、纹理、材质等。

  ③SharpGL.WinForms:为我们的应用程序包含Windows窗体控件。

  ④SharpGL.WPF:为我们的应用程序包含WPF控件。

  ⑤SharpGL.Serialization:包含用于装载几何和来自于3D Studio Max文件的数据,不引人注意的obj文件和truespace文件的类。

  三、邦宝模型积木分析系统设计与实现

  3.1 系统概述

  积木是公认能培养儿童创造力、学习能力以及训练手眼协调的最佳工具,积木中的排列,接合,环形,对称等都对开发孩子的智力有好处。积木的生产是个很有发展前景的项目,但是由于组成实物的小积木块,一般都由几百、几千甚至上万个小积木组成,零件的数据量庞大,目前大部分玩具厂商都是先通过先人手动地拼成我们需要的积木实体形状,再统计所需的积木小零件的种类和总个数,最后交由工厂生产,显然这过程的任务很繁重,拼装设计时稍微的改动对整体的影响很大,效率也很低。如果积木的拼装和统计能用计算机模拟,那将极大地节约人力、物力和成本。因此,我们急需开发出一个系统,能够用计算机来实现从三维模型导入、模型调整、切片分层、颗粒化到输出积木搭建方案的全自动化,这样既能节约生产成本和生产周期,又能提供实践指导。

  本系统的目标就是建立一个3D图形应用程序,用于计算在使用邦宝基本部件搭建一个模型时所需要的部件种类、个数及输出每层的积木搭建排列方案,进一步计算出搭建这样的模型时的初步报价。不同形状的积木可以由不同的颗粒状的积木块(积木砖)组成,积木的拼装过程整体上可以看出是从下到上(或从上到下)。对于给定实物模型的3D外观数据,用计算机模拟分层切割过程,计算出每层的排列情况并显示,且满足以下条件:

  ①所用的积木块数量总数尽量少,即中心部分是骨架连接或镂空的。

  ②拼成后积木尽可能的牢固。

  ③拼成后尽可能的逼近原始形状的物体。

  3.2 系统结构总框架设计

  邦宝模型积木分析系统主要包括八大功能模块,即数据导入、数据管理、模型副本管理、模型副本分层、分层颗粒化、积木搭建、查看三维图、数据导出,这些模块又是由若干个子模块构成的,系统结构总框架如下图所示:

  图一 系统结构总框架图

  3.3 系统的主要功能介绍

  系统的主要功能如下:

  ①数据导入

  基本部件:导入邦宝基本部件的3DS文件。

  三维模型:导入模型的3DS文件。

  ②数据管理

  数据修改:修改部件及模型的基本数据并保存在数据库。

  数据计算:计算部件及模型的长、宽、高等数据并保存在Access数据库。

  数据增删:添加或删除部件或模型的相关数据。

阅读全文