3D打印机的设计与虚拟交互演示系统_虚拟交互部分
3D打印机的设计与虚拟交互演示系统_虚拟交互部分[20191214194759]
摘 要
如今,3D打印机对很多人而言早已褪去了神秘色彩,在日常生活和工作中不时可以见到。相信很多人对它的外观有所了解,可是对3D打印机内部的结构并不熟知,人们的通常理解就是有许多导线,插槽,金属外壳等诸多物件。本课题对3D打印机的内部结构进行研究,通过三维展示,可以将3D打印机内部的每一个零件清晰地展现出来。
本课题综合运用3D建模技术和以OSG开发引擎的虚拟交互技术,实现对3D打印机外部和内部的建模与控制。本人主要负责对建好的模型进行交互设计。
本系统对3D打印机内的主要零件进行了详细的虚拟交互设计,通过交互控制展现其结构功能,并通过动画演示展现其工作原理。三维交互技术使得3D打印机从外观到内部结构再到工作过程得以完美地展现出来。
摘 要 Ⅰ
查看完整论文请+Q: 351916072
关键字:建模;虚拟交互;三维展示;3D打印机
Key words:Modeling;Virtual Interaction; Dimensional Presentation; 3D Printer 目录
ABSTRACT Ⅱ
第1章 绪论 1
1.1项目背景 1
1.2项目任务 1
第2章 项目技术整体框架及设计流程 2
2.1 3D建模技术 2
2.2 虚拟交互技术 2
2.3 项目设计流程 4
第3章 3D打印机的简单介绍 6
3.1 3D打印机工作原理介绍 6
3.2 3D打印机的主要部件 6
3.3 3D打印机模型的介绍 6
第4章 OSG渲染引擎 8
4.1 OSG引擎 8
4.1.1 OSG引擎介绍 8
4.1.2 OSG引擎的优势和不足 9
4.2 OSG基本的类 9
4.2.1 节点类 9
4.2.2 场景类 9
4.2.3 移动节点类 10
4.2.4 智能指针类 11
4.3 OSG的重要接口 11
4.3.1 CEGUI库 11
4.3.2事件处理器 11
4.3.3 相机节点类 12
4.3.4 漫游器 12
4.3.5 动画管理器 12
第5章 概要设计 14
5.1 整体设计思想 14
5.2 功能模块图 15
5.3 界面布局 15
第6章 详细设计与实现 16
6.1 三维交互的详细设计 17
6.1.1鼠标交互的详细设计 17
6.1.2系统漫游的详细设计 17
6.1.3 拖曳控制的详细设计 19
6.2 三维动画详细设计 23
6.2.1场景动画的详细设计 23
6.2.2 装卸动画的详细设计 27
第7章 总结与展望 31
7.1 总结 31
7.2 展望 32
参考文献 33
致谢 34
附录 35
英文文献 35
中文翻译 42
附图 45
第1章 项目背景及任务
1.1项目背景
3D打印已经成经为一种潮流,并逐渐广泛应用于设计领域,特别是工业制作,数码物品研发等。3D打印能够在相当少的时间内实现一个模具的打印,运用3D打印技术使得产品从研发到面世的过程被大大缩减。3D 打印机能够使用很多原料打印三维模型,通过一些3D设计软件,工程师设计出一个模型之后,无论设计的是一块电池还是一辆汽车,通过3D打印机都有可能把这些东西打印出来。很多无机和有机的材料都可以作为打印的原料,比如橡胶之类,不同的打印机所需求的打印原料有可能会不同。3D打印机的诸多特性使它在现实生活中扮演着越来越重要的作用,在许多行业中它已经是必不可少。
虽然3D打印机在很多领域都有了广泛的应用,但是这个新兴工具对大多数人来说还是蒙着一层神秘的面纱,在这种情况下让更多的人走进和了解3D打印机就显得尤为重要了。
1.2项目任务
本次毕业设计主要是通过建模软件实现3D打印机模型的建模,用OSG(OpenSceneGraph)引擎作为开发工具,对3D打印机的内部结构进行全面细致的介绍,利用OSG自带的CEGUI库来进行界面的整体布局。在完整的系统中,使用了事件管理器、漫游器、拖曳器、多视角相机管理器、动画管理器等接口来实现整个程序[1]。并通过完整模型的装卸动画来展现3D打印机的内部结构和工作原理。
此次设计是由我和同学俞镇在吴云燕老师的精心指导下合作完成的。本人负责的工作主要有:
1.使用OSG作为本系统的应用接口,C++作为开发语言,实现对3D打印机各个模块的复杂交互控制。
2.通过装卸动画的展示,展现3D打印机的工作原理。
第2章 项目技术整体框架及设计流程
本课题综合运用了建模技术和以OSG为开发渲染引擎的虚拟交互技术,实现了交互控制3D打印机内部及外部的目标。设计之前熟悉课题内容和精通开发工具是必不可少的。只有进一步完善建模技术才能使3D打印机打印出更加完善的物体。
2.1 3D建模技术
我们生活的世界里面的物体大多都是三维物体, 要想使这些物体完美地在计算机中呈现出来, 在三维空间里面绘制出这些物体是至关重要的。例如设计工程师们可以通过虚拟的三维世界, 更加快捷地制作出自己所需的三维物件;医生能够根据病人的三维扫描图片更加精确地分析病人的病情,研究出更加有效的治疗方案;军事指挥员可以根据眼前模拟出来的三维立体图像,分析敌我双方的排兵布阵,从而制定出正确的作战方案[2]。3D建模技术已经广泛地渗透到了人们的生活当中,在生活和工作中不时可以感受到它的存在。3D建模技术大体分为以下几种:
1,基础建模
2,复合建模
3,suface toods建模
4,多边
5,NURBS建模行建模
6,面片建模
2.2 虚拟交互技术
伴随着科技的发展,虚拟交互技术逐渐完善。虚拟交互技术制造出一个虚拟的现实世界,人们身在其中,感受虚拟世界独特的魅力。虚拟交互技术作为诸多新兴技术的代表,融合了数字图像处理、多媒体技术、计算机图形学、传感器技术等技术[3]。它通过一些软件生成三维模型,产生极为真实的虚拟环境,给人们视觉上带来了极大的震撼。虚拟交互技术可以制造出普通CAD软件不能产生的动态环境,这是一个互动性极强的动态环境。
虚拟交互技术主要有以下四个特征:
第一,强烈的临场感。身处虚拟环境中的人会产生一种强烈的真实感。
第二,友好的交互性。交互性是只指用户对虚拟世界中的物体产生现实感觉的反应程度。比如当你在虚拟环境中触摸一个物体时,你既可以触摸出它的大小,又可以触摸出它的形状。
第三,多感知性。不仅拥有一般计算机的视觉感知外,还具有听觉、触觉、运动方面的感知,甚至还有更多方面的感知。
第四,虚拟现实世界的自主性。虚拟世界中的物体依然遵循现实世界中的自然规律。?
具体讲,虚拟交互技术是一种新兴的高科技技术,使用它虚拟出来的虚拟环境能给人视觉,听觉和触觉上的体验。用户通过一定的设施对虚拟环境中的物体做出一些与现实世界相似的相互作用,从而产生一种与真实世界极为类似的体验。那么,这种虚拟的真实世界是如何形成的?首先,必须制作出虚拟实体;其次,用户通过人与生俱来的能力同虚拟环境产生互动;最后,在传感器的帮助下完成与虚拟环境的交互作用。?
从系统上看,虚拟现实交互系统包括检测模块、反馈模块、传感器模块、控制模块以及建模模块等[4]。在该系统中,主要采用了动态环境建模技术、实时三维图形生成技术、立体显示和传感器技术及系统集成技术[5]。?
动态环境建模技术是虚拟交互技术中比较基础的一种。使用动态环境建模技术能够获得真实环境的三维数据,再利用这些数据建立虚拟环境。采用CAD技术获取三维数据,综合运用这两个技术可以更加方便快捷有效地获得三维数据,该技术是应用计算机技术生成虚拟的基础世界。为了更形象理解交互的含义,用一幅图来展示虚拟交互的含义,如图2.1所示。?
图2.1虚拟交互含义图
2.3 项目设计流程
设计出一个比较完整和准确的虚拟交互系统,主要分为三步:
1.运用OSG建模工具对3D打印机建模,生成3D对象,保存为.STL文件格式。
2.运用OSG引擎读入.STL文件,对3D打印机进行程序语言的交互控制。
3.将编写好的代码放在Visual Studio平台上调试运行,生成.exe文件。
4.将编写好的程序导入演示系统中运行。
项目设计的流程图如图2.2所示:
图2.2项目设计流程图 第3章 3D打印机的简单介绍
前面已经介绍了3D打印机的建模原理和方法,下面将分别介绍3D打印机的工作原理、主要部件和成品打印机模型。
3.1 3D打印机工作原理介绍
3D打印机打印出一个成品并不是一个特别复杂的过程,首先使用CAD软件来创建物品,比如动物模型、人物、或者微缩建筑等等[6]。然后通过SD卡或者USB优盘把它拷贝到3D打印机中,进行打印设置后,打印机就可以把它们打印出来。
3.2 3D打印机的主要部件
3D打印机由机架部分,挤出结构和喷头结构三部分组成,所有组成零件见附图。
3.3 3D打印机模型的介绍
3D打印机的一些主要部件模型是由本人的合作者参考已有的模型在OSG中建模所得,由于组成零件过于繁多这里就不全部列举,只展示部分零件。
(1)右外壳模型,如图3.1所示:
图3.1 右外壳模型图
(2)垫片模型,如图3.2所示:
图3.2 垫片模型图
(3)基本螺丝模型图:
图3.3 基本螺丝模型图
第4章 OSG渲染引擎
4.1 OSG引擎
OSG引擎功能强大,使用方便。下面就分别介绍它的功能、优缺点和一些重要的类。
4.1.1 OSG引擎介绍
OSG是一个开源的性能极高的渲染软件,全部由C++和OpenGL编写完成的。OSG在对OpenGL的封装基础上建立了应用程序的框架,便于应用程序的开发和管理[7]。另外,它可以使用可移植的ANSI C++以及标准模板库(STL) 编写,并使用OpenGL底层渲染API,具有良好的跨平台性。而OSG与OpenGL的区别主要体现在两个方面,OSG是面向三维模型进行渲染交互,OpenGL大多数是面向二维的。其次OSG为基于工业图形标准模型提供了高层次的API接口,OpenGL并没有为如何实现一个图形软件系统提供标准模型,仅是一系列底层图形操作的接口。 OSG的主要功能:
(1)高效绘制和控制使用建模软件所建立的3D模型,如3DMAX,MAYA,Creator等软件。同时还具有模型操作与设计管理的功能,可以实现环境仿真,不同地区漫游等诸多功能。
(2)OSG支持多种类型的外设,比如经常会使用的鼠标,键盘,游戏杆等。如果需要其他设备合作完成一些特殊的功能,也是可以运用OSG进行设计制作的。(3)除了传统的在二位屏幕上进行三维展示外,OSG还可以实现一些复杂物件的全方位投影,这充分体现了OSG强大的实物展现能力。OSG不仅能够制作出某些场景中的物体,OSG还能从阴影,形状等方面全面逼真地展示这个物品。
4.1.2 OSG引擎的优势和不足
(1)OSG引擎的优势:
第一,开发简洁方便。OSG能够打开其它很多软件生成的文件,并随时支持最新版本的更新。
第二,代码的准确性。OSG经历了一批又一批学者和专家们的修改与更新,软件本身也随着这些修改与更新不断地优化和完善。
第三,高性能的功能。OSG的核心代码支持多种场景剪裁,细节层次节点,渲染状态排序,顶点数组,显示列表,多种着色语言,及粒子系统,阴影系统,雨,雾,火焰,烟雾多种特效渲染模拟。
摘 要
如今,3D打印机对很多人而言早已褪去了神秘色彩,在日常生活和工作中不时可以见到。相信很多人对它的外观有所了解,可是对3D打印机内部的结构并不熟知,人们的通常理解就是有许多导线,插槽,金属外壳等诸多物件。本课题对3D打印机的内部结构进行研究,通过三维展示,可以将3D打印机内部的每一个零件清晰地展现出来。
本课题综合运用3D建模技术和以OSG开发引擎的虚拟交互技术,实现对3D打印机外部和内部的建模与控制。本人主要负责对建好的模型进行交互设计。
本系统对3D打印机内的主要零件进行了详细的虚拟交互设计,通过交互控制展现其结构功能,并通过动画演示展现其工作原理。三维交互技术使得3D打印机从外观到内部结构再到工作过程得以完美地展现出来。
摘 要 Ⅰ
查看完整论文请+Q: 351916072
关键字:建模;虚拟交互;三维展示;3D打印机
Key words:Modeling;Virtual Interaction; Dimensional Presentation; 3D Printer 目录
ABSTRACT Ⅱ
第1章 绪论 1
1.1项目背景 1
1.2项目任务 1
第2章 项目技术整体框架及设计流程 2
2.1 3D建模技术 2
2.2 虚拟交互技术 2
2.3 项目设计流程 4
第3章 3D打印机的简单介绍 6
3.1 3D打印机工作原理介绍 6
3.2 3D打印机的主要部件 6
3.3 3D打印机模型的介绍 6
第4章 OSG渲染引擎 8
4.1 OSG引擎 8
4.1.1 OSG引擎介绍 8
4.1.2 OSG引擎的优势和不足 9
4.2 OSG基本的类 9
4.2.1 节点类 9
4.2.2 场景类 9
4.2.3 移动节点类 10
4.2.4 智能指针类 11
4.3 OSG的重要接口 11
4.3.1 CEGUI库 11
4.3.2事件处理器 11
4.3.3 相机节点类 12
4.3.4 漫游器 12
4.3.5 动画管理器 12
第5章 概要设计 14
5.1 整体设计思想 14
5.2 功能模块图 15
5.3 界面布局 15
第6章 详细设计与实现 16
6.1 三维交互的详细设计 17
6.1.1鼠标交互的详细设计 17
6.1.2系统漫游的详细设计 17
6.1.3 拖曳控制的详细设计 19
6.2 三维动画详细设计 23
6.2.1场景动画的详细设计 23
6.2.2 装卸动画的详细设计 27
第7章 总结与展望 31
7.1 总结 31
7.2 展望 32
参考文献 33
致谢 34
附录 35
英文文献 35
中文翻译 42
附图 45
第1章 项目背景及任务
1.1项目背景
3D打印已经成经为一种潮流,并逐渐广泛应用于设计领域,特别是工业制作,数码物品研发等。3D打印能够在相当少的时间内实现一个模具的打印,运用3D打印技术使得产品从研发到面世的过程被大大缩减。3D 打印机能够使用很多原料打印三维模型,通过一些3D设计软件,工程师设计出一个模型之后,无论设计的是一块电池还是一辆汽车,通过3D打印机都有可能把这些东西打印出来。很多无机和有机的材料都可以作为打印的原料,比如橡胶之类,不同的打印机所需求的打印原料有可能会不同。3D打印机的诸多特性使它在现实生活中扮演着越来越重要的作用,在许多行业中它已经是必不可少。
虽然3D打印机在很多领域都有了广泛的应用,但是这个新兴工具对大多数人来说还是蒙着一层神秘的面纱,在这种情况下让更多的人走进和了解3D打印机就显得尤为重要了。
1.2项目任务
本次毕业设计主要是通过建模软件实现3D打印机模型的建模,用OSG(OpenSceneGraph)引擎作为开发工具,对3D打印机的内部结构进行全面细致的介绍,利用OSG自带的CEGUI库来进行界面的整体布局。在完整的系统中,使用了事件管理器、漫游器、拖曳器、多视角相机管理器、动画管理器等接口来实现整个程序[1]。并通过完整模型的装卸动画来展现3D打印机的内部结构和工作原理。
此次设计是由我和同学俞镇在吴云燕老师的精心指导下合作完成的。本人负责的工作主要有:
1.使用OSG作为本系统的应用接口,C++作为开发语言,实现对3D打印机各个模块的复杂交互控制。
2.通过装卸动画的展示,展现3D打印机的工作原理。
第2章 项目技术整体框架及设计流程
本课题综合运用了建模技术和以OSG为开发渲染引擎的虚拟交互技术,实现了交互控制3D打印机内部及外部的目标。设计之前熟悉课题内容和精通开发工具是必不可少的。只有进一步完善建模技术才能使3D打印机打印出更加完善的物体。
2.1 3D建模技术
我们生活的世界里面的物体大多都是三维物体, 要想使这些物体完美地在计算机中呈现出来, 在三维空间里面绘制出这些物体是至关重要的。例如设计工程师们可以通过虚拟的三维世界, 更加快捷地制作出自己所需的三维物件;医生能够根据病人的三维扫描图片更加精确地分析病人的病情,研究出更加有效的治疗方案;军事指挥员可以根据眼前模拟出来的三维立体图像,分析敌我双方的排兵布阵,从而制定出正确的作战方案[2]。3D建模技术已经广泛地渗透到了人们的生活当中,在生活和工作中不时可以感受到它的存在。3D建模技术大体分为以下几种:
1,基础建模
2,复合建模
3,suface toods建模
4,多边
5,NURBS建模行建模
6,面片建模
2.2 虚拟交互技术
伴随着科技的发展,虚拟交互技术逐渐完善。虚拟交互技术制造出一个虚拟的现实世界,人们身在其中,感受虚拟世界独特的魅力。虚拟交互技术作为诸多新兴技术的代表,融合了数字图像处理、多媒体技术、计算机图形学、传感器技术等技术[3]。它通过一些软件生成三维模型,产生极为真实的虚拟环境,给人们视觉上带来了极大的震撼。虚拟交互技术可以制造出普通CAD软件不能产生的动态环境,这是一个互动性极强的动态环境。
虚拟交互技术主要有以下四个特征:
第一,强烈的临场感。身处虚拟环境中的人会产生一种强烈的真实感。
第二,友好的交互性。交互性是只指用户对虚拟世界中的物体产生现实感觉的反应程度。比如当你在虚拟环境中触摸一个物体时,你既可以触摸出它的大小,又可以触摸出它的形状。
第三,多感知性。不仅拥有一般计算机的视觉感知外,还具有听觉、触觉、运动方面的感知,甚至还有更多方面的感知。
第四,虚拟现实世界的自主性。虚拟世界中的物体依然遵循现实世界中的自然规律。?
具体讲,虚拟交互技术是一种新兴的高科技技术,使用它虚拟出来的虚拟环境能给人视觉,听觉和触觉上的体验。用户通过一定的设施对虚拟环境中的物体做出一些与现实世界相似的相互作用,从而产生一种与真实世界极为类似的体验。那么,这种虚拟的真实世界是如何形成的?首先,必须制作出虚拟实体;其次,用户通过人与生俱来的能力同虚拟环境产生互动;最后,在传感器的帮助下完成与虚拟环境的交互作用。?
从系统上看,虚拟现实交互系统包括检测模块、反馈模块、传感器模块、控制模块以及建模模块等[4]。在该系统中,主要采用了动态环境建模技术、实时三维图形生成技术、立体显示和传感器技术及系统集成技术[5]。?
动态环境建模技术是虚拟交互技术中比较基础的一种。使用动态环境建模技术能够获得真实环境的三维数据,再利用这些数据建立虚拟环境。采用CAD技术获取三维数据,综合运用这两个技术可以更加方便快捷有效地获得三维数据,该技术是应用计算机技术生成虚拟的基础世界。为了更形象理解交互的含义,用一幅图来展示虚拟交互的含义,如图2.1所示。?
图2.1虚拟交互含义图
2.3 项目设计流程
设计出一个比较完整和准确的虚拟交互系统,主要分为三步:
1.运用OSG建模工具对3D打印机建模,生成3D对象,保存为.STL文件格式。
2.运用OSG引擎读入.STL文件,对3D打印机进行程序语言的交互控制。
3.将编写好的代码放在Visual Studio平台上调试运行,生成.exe文件。
4.将编写好的程序导入演示系统中运行。
项目设计的流程图如图2.2所示:
图2.2项目设计流程图 第3章 3D打印机的简单介绍
前面已经介绍了3D打印机的建模原理和方法,下面将分别介绍3D打印机的工作原理、主要部件和成品打印机模型。
3.1 3D打印机工作原理介绍
3D打印机打印出一个成品并不是一个特别复杂的过程,首先使用CAD软件来创建物品,比如动物模型、人物、或者微缩建筑等等[6]。然后通过SD卡或者USB优盘把它拷贝到3D打印机中,进行打印设置后,打印机就可以把它们打印出来。
3.2 3D打印机的主要部件
3D打印机由机架部分,挤出结构和喷头结构三部分组成,所有组成零件见附图。
3.3 3D打印机模型的介绍
3D打印机的一些主要部件模型是由本人的合作者参考已有的模型在OSG中建模所得,由于组成零件过于繁多这里就不全部列举,只展示部分零件。
(1)右外壳模型,如图3.1所示:
图3.1 右外壳模型图
(2)垫片模型,如图3.2所示:
图3.2 垫片模型图
(3)基本螺丝模型图:
图3.3 基本螺丝模型图
第4章 OSG渲染引擎
4.1 OSG引擎
OSG引擎功能强大,使用方便。下面就分别介绍它的功能、优缺点和一些重要的类。
4.1.1 OSG引擎介绍
OSG是一个开源的性能极高的渲染软件,全部由C++和OpenGL编写完成的。OSG在对OpenGL的封装基础上建立了应用程序的框架,便于应用程序的开发和管理[7]。另外,它可以使用可移植的ANSI C++以及标准模板库(STL) 编写,并使用OpenGL底层渲染API,具有良好的跨平台性。而OSG与OpenGL的区别主要体现在两个方面,OSG是面向三维模型进行渲染交互,OpenGL大多数是面向二维的。其次OSG为基于工业图形标准模型提供了高层次的API接口,OpenGL并没有为如何实现一个图形软件系统提供标准模型,仅是一系列底层图形操作的接口。 OSG的主要功能:
(1)高效绘制和控制使用建模软件所建立的3D模型,如3DMAX,MAYA,Creator等软件。同时还具有模型操作与设计管理的功能,可以实现环境仿真,不同地区漫游等诸多功能。
(2)OSG支持多种类型的外设,比如经常会使用的鼠标,键盘,游戏杆等。如果需要其他设备合作完成一些特殊的功能,也是可以运用OSG进行设计制作的。(3)除了传统的在二位屏幕上进行三维展示外,OSG还可以实现一些复杂物件的全方位投影,这充分体现了OSG强大的实物展现能力。OSG不仅能够制作出某些场景中的物体,OSG还能从阴影,形状等方面全面逼真地展示这个物品。
4.1.2 OSG引擎的优势和不足
(1)OSG引擎的优势:
第一,开发简洁方便。OSG能够打开其它很多软件生成的文件,并随时支持最新版本的更新。
第二,代码的准确性。OSG经历了一批又一批学者和专家们的修改与更新,软件本身也随着这些修改与更新不断地优化和完善。
第三,高性能的功能。OSG的核心代码支持多种场景剪裁,细节层次节点,渲染状态排序,顶点数组,显示列表,多种着色语言,及粒子系统,阴影系统,雨,雾,火焰,烟雾多种特效渲染模拟。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2524.html