1、本科毕业论文(20 届)基于 Android 平台的家具展示系统的设计与实现Design and Implementation of Furniture Display System Based on Android Platform所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 基于 Android 平台的家具展示系统的设计与实现I摘 要目前,随着移动互联网时代的到来,基于 Android 平台的移动终端设备得到了极大的普及,Android 平台的开放性也使得相关应用越来越丰富;与此同时,不断成熟的虚拟现实技术也在智能移动终端展露头角,广泛应用在 3D
2、 游戏和场景仿真等领域,满足人们各种各样的需求。因为手持智能设备的方便和易用性,未来在 Android 平台上的 3D 开发将成为虚拟现实技术发展的热门方向。本毕业设计旨在开发一套基于 Android 平台的家具展示系统,利用图像处理领域应用最为广泛的 3D 建模技术,在 Android 智能手机上模拟出家具展示的场景。通过3ds Max 构建家具模型和场景,利用 OpenGL ES 技术渲染模型和场景、读取相关材质贴图信息、附加真实灯光效果等,用户可以通过 Android 手机对场景进行简单的操作,获得更好的展示效果。本系统选择 Eclipse 与 Android SDK 为开发环境,用 J
3、ava 语言编写,在 Android 系统手机上测试与运行。关键词:Android 平台;虚拟现实;家具展示;OpenGL ES基于 Android 平台的家具展示系统的设计与实现IIABSTRACTNowadays,with the advent of the mobile Internet era, Android platform for mobile terminal equipment has been greatly developed, open Android platform makes the related applications has become increasi
4、ngly diversly.In the meanwhile, continues mature virtual reality technology is also flied on intelligent mobile terminal , be widely used in 3D games and scene simulation and other areas to meet the needs of a wide variety of people. Because smart handheld devices is convenient and easy to be used,
5、the future development of 3D on the Android platform will become popular application with the development of virtual reality technology.The thesis aims to develop an Android-based furniture display system using image processing most widely used 3D modeling techniques to simulate the furniture show s
6、cenes on the Android smartphone. Furniture models and scenes are constructed by the software of 3ds Max, using OpenGL ES technology renders models and scenes, reads the relevant textures information, additional real lighting effects, users can perform simple operations on the scene through the Andro
7、id mobile phone, to get a better display effection.The system selects the Eclipse and the Android SDK development as the software environment, written in Java, testing and running on the Android system mobile phone.Key words: Android Platform; Virtual Reality; Furniture Display;OpenGL ES基于 Android 平
8、台的家具展示系统的设计与实现III目 录第 1 章 绪论 .11.1 课题研究背景及意义 .11.2 课题相关国内外研究现状 .11.2.1 Android 系统的国内外研究现状 .11.2.2 虚拟现实技术的国内外研究现状 .21.3 主要研究内容 .41.4 论文结构 .5第 2 章 相关技术 .62.1 Autodesk 3ds Max 开发工具简介 .62.2 OpenGL ES 简介 .72.2.1 OpenGL 简介 .72.2.2 OpenGL 与 OpenGL ES .72.3 Android 系统架构简介 .82.4 本章小结 .10第 3 章 模型的构建 .113.1 建模
9、与材质 .113.1.1 建模概论 .113.1.2 材质与贴图 .123.2 模型的构建 .133.2.1 家具模型的构建 .133.2.2 场景模型的构建 .153.2.3 家具模型与场景模型的合并 .173.3 本章小结 .17第 4 章 系统的设计与实现 .184.1 引言 .184.2 开发环境的搭建 .184.2.1 SDK 的安装及环境配置 .184.2.2 Eclipse 集成开发环境的搭建 .19基于 Android 平台的家具展示系统的设计与实现IV4.3 OBJ 格式模型 .204.3.1 导出 OBJ 格式模型 .204.3.2 OBJ 文件结构 .214.4 模型的解
10、析与绘制 .234.4.1 场景地面的创建 .234.4.2 数学类的相关准备 .244.4.3 OBJ 模型文件和材质库的读取 .244.5 视觉变换 .294.5.1 视图变换与摄像机 .294.5.2 投影变换 .304.5.3 视口变换 .314.6 光照 .324.7 人机交互 .334.8 数据分析与测试 .354.8.1 数据分析 .354.8.2 测试 .364.9 本章小结 .36结 论 .37参考文献 .38攻读学士学位期间发表的论文和取得的科研成果 .41致 谢 .42第 1 章 绪论1第 1 章 绪论1.1 课题研究背景及意义本课题“基于 Android 平台的家具展示
11、系统的设计与实现”来源于虚拟现实实验室在研科研项目,是该项目 Android 版本部分功能的实现。随着智能手机硬件性能的飞速发展,虚拟现实技术在智能手机上也得到了越来越广泛的应用,尤其在室内外场景虚拟、3D 游戏开发等方面。在当今家具行业,普遍面临着展示空间不足的问题,客户在购买家具后,无法在宏观上达到预期的效果。基于此问题,本课题使用主流的 3ds Max 建模工具来构建逼真的家具模型和场景,并在Android 平台上展示出来,而客户可以用手机或平板电脑对场景进行操作,从宏观上观察展示效果,这样既方便了客户又节省了空间,实现利益的最大化。1.2 课题相关国内外研究现状1.2.1Android
12、 系统的国内外研究现状随着科技发展,手机市场也在不断的发生变革,从最初的“大哥大”到功能机再到现在的智能机,从 1G、2G 到 3G,现今已经发展到 4G。现在我们所使用的手机已经不单单只有打电话发短信的功能,而更多的是享受手机智能化后带来的丰富多样的娱乐和社交功能。在目前主流的智能手机中,主要分为 ios 系统的苹果手机和 Android系统的智能手机,其中 Android 系统凭借其开放性,已经占据了全球市场的大部分份额。Android 操作系统是 Google 发布的基于 Linux 平台的开源手机操作系统(android为机器人的意思) ,是首个为移动终端打造的真正开放和完整的移动软件
13、,其有着高度的开放性和拥有像 Google 这样的一些实力雄厚的公司作为后盾,这使得 Android 平台能够迅速得到广大群众的认可 1。2013 年的第四季度统计显示,Android 平台手机的全球市场份额已经达到 78.1%。当前使用 Android 操作系统的国外手机厂商有三星、摩托罗拉、LG 、索尼爱立信等,而国内手机厂商也百花齐放,华为、中兴、联想、酷派、小米、魅族等占据了市场的相当一部分份额,一扫前几年国产手机的尴尬局面。其中小米公司基于 Android 系统深度定制的 MIUI 系统 ROM,深受世界各地的 Android 系统使用者的好评。并且 Android 操作系统不仅仅用
14、于智能手机上,平板电脑与智能电第 1 章 绪论2视同样可以搭载 Android 系统。从 2008 年 9 月,谷歌正式发布 Android 1.0 系统( Android 系统最早的版本)历经5 年的时间已发展到 Android 4.4 版本。在 Android 平台上的应用每周以万计的数目在增加,Android 应用开发的领域已经涉及到各个行业。由于 Android 的平台的开放性,国内外之间的开发者可以深入的交流,所以国内外在 Android 开发上差距并不是很明显。1.2.2 虚拟现实技术的国内外研究现状虚拟现实英文简称为 VR(Virtual Reality) ,是近年来飞速发展的高
15、新技术。它广泛应用在室内设计、房地产开发、3D 游戏、军事模拟和医学等领域。在室内设计方面,传统的方式是由设计师们画大量的图纸来规划室内的结构,现在凭借虚拟现实技术便可以将这样的思考过程转变为看得见的虚拟物体和环境,任由室内设计者自己构建装饰虚拟的房间,改变房间的位置和结构,这样则节省了很多人力物力。在房地产开发中,传统的图片展示模式已经赶不上潮流了,如今运用虚拟现实技术可以完全模拟出房产开发小区的建筑模型,让客户有身临其境之感,甚至随着镜头在小区里漫游。这在我国的北京、上海、广州、深圳等大城市和国外的日本、美国、英国、加拿大等科技发达的国家都非常流行,已经发展的比较成熟。在 3D 游戏开发中
16、则随处可见虚拟现实的技术,游戏中华丽的人物造型,美奂绝伦的游戏场景,绚丽的游戏特效都是用虚拟现实技术来实现的。在军事和航天工业中,模拟演习和训练一直是一个重要的课题,这给虚拟现实技术带来了无限的应用前景。美国国防部高级研究计划局 DARPA 自 80年代起一直致力于研究称为 SIMNET 的虚拟战场系统,以提供坦克协同训练,该系统可联结 200 多台模拟器 2。除此之外利用虚拟现实技术,可模拟出零重力的环境,来替代非标准的水下训练宇航员的方法 3。在医学领域中虚拟现实技术具有很深远的意义,通过虚拟的人体模型,医学生可以很快速的了解人体结构,这比传统的教学方式效率要高的多。作为虚拟现实技术的发源
17、地,美国基本上就代表了国际上虚拟现实技术的发展水平,目前美国在该领域的基础研究主要集中在用户界面、感知、后台软件和硬件四个方面 4;在欧洲,英国的虚拟现实开发在一些领域上是全面领先的,尤其是在分布式并行处理、辅助设备(包括触觉反馈)设计和应用研究方面; 日本则主要致力于建立大规模虚拟现实知识库的研究,在虚拟现实的游戏方面的研究也处于世界领先地位 5。我国的许多高校也都在积极的探索虚拟现实技术的应用,相继建立起虚拟现实实第 1 章 绪论3验室,将科研成果转化为应用。如北京航天航空大学在分布式飞行模拟方面的应用;浙江大学在建筑方面进行虚拟规划、虚拟设计的应用;哈尔滨工业大学在人机交互方面的应用;清
18、华大学对临场感的研究等都颇具特色 6。无论是国内还是国外虚拟现实技术大部分在 PC(个人电脑)端实现,不过随着嵌入式设备硬件和嵌入式系统的高速发展,虚拟现实技术得以在移动智能设备上运用。其中游戏领域把虚拟现实技术发挥到了极致,当前许多电子游戏界的巨头已经纷纷登陆移动平台,例如 EA、GAMELOFT 等,其中不乏重量级的三维巨作,例如GAMELOFT 的现在战争 4 、EA 的极品飞车等,华丽的视觉效果,一点不输给电脑上的 3D 游戏。目前,国内的游戏开发公司无论是质还是量和国外还有很大的差距。在传统家具行业,普遍面临空间场景不足的问题,虚拟展示为家具行业提供了广阔的前景,目前国内外在 PC
19、端家具虚拟展示已达到商业化的程度,但是在嵌入式发展迅猛的今天,需求在不断发生变化,怎么方便的向客户推销家具及展示是家具行业需要考虑的问题。国外的家具行业领头羊宜家公司再一次走在了前列,用户通过下载 ios 和安卓的客户端,宜家现在首次实现了用户用智能手机把虚拟家具投放到他们的客厅里。但是值得注意的是,目前这项预览技术只适用于一部分的家具,而不是所有的宜家家具产品;为了达到最佳的预期效果,用户需一本订制的 2014 年度产品画册来配合客户端 App 的工作;除了直接在页面上扫描支持此功能的家具然后进行预览之外,用户还可以以画册作为锚点,来预览家具的现实效果 7。国内也有不少公司在研究这一技术,但
20、是核心算法仍然掌握在国外公司手里。宜家公司的这项技术只适用于某些家具,实际上就是目前只能支持一些简单的家具模型,因为必须考虑到移动设备的硬件性能,减少客户的等待时间,不得不平衡一下模型的复杂程度。但是目前虚拟现实技术在移动设备上应用具有广阔的前景,无论是硬件设备厂商还是软件开发公司都在不断向前努力。在软件方面,OpenGL(一套应用在图形开发的应用程序编程接口)经历了这么多年的发展,也推出了它的子集 OpenGL ES,专为嵌入式设备处理三维图形,由Khronos(一个图形软硬件协会)进行定义与推广。从 OpenGL ES 1.X 到 OpenGL ES 2.0 再到现在的 OpenGL ES
21、 3.0 每一次的版本升级,都带来了更加强大的三维图形的渲染能力。在硬件方面,嵌入式 CPU 的发展也非常迅速。美国的高通公司在智能手机领域大名鼎鼎,许多国内外的智能手机厂商都采用了高通的处理器。2014 年 2 月高通公司发第 1 章 绪论4布了两款最新的 64 位移动系统芯片骁龙 610 和 615。这标志着手机处理也即将进入 64 位时代,这无疑对移动设备三维图形开发者是个好消息。另一家美国芯片公司英伟达也将重心转移到移动领域,其推出的移动处理器 Tegra K1,号称目前性能最强劲的移动处理之一。我国的华为公司也在研发移动处理器,其中海思系列的 CPU 已经在其自己生产的手机上投入使用
22、,不过性能上和前两个公司还是有很大的差距。软件和硬件在技术上的不断革新,为虚拟现实在移动平台上提供了无限可能。不过,国内高校和科研机构在移动平台上虚拟展示方面处于探索阶段。北京工业大学对基于手机 Android 平台的虚拟校园漫游系统的应用做了前景分析,贵州大学在 Android平台上实现了恐龙博物馆的虚拟展示,这个系统能够通过 3D 恐龙模型实现与用户的互动,具有较强的实用性、开发指导性和科普知识宣传的意义 8,但是画面效果有点类似3D 游戏仍有待改进。无论是虚拟现实还是增强现实,在移动设备上家具虚拟展示方面还有很多文章要做,比如如何平衡硬件性能与家具模型的复杂度,如何增强与客户的交互性等等
23、,关于这方面的研究还有很长的路要走,但是虚拟现实技术在移动设备上的应用前景十分光明。 1.3 主要研究内容本设计初步建立一套基于 Android 平台的家具展示系统,该系统能够模拟家具展示场景,通过添加合适光源,附加材质贴图,调整观察角度等方式使家具能够更加自然的在 Android 手机或平板上展示出来。设计初级阶段,上网查阅相关资料,了解课题相关的研究。由于本设计需要构建大量的复杂模型,必须使用外部的建模工具,所以本设计采用当前最流行、使用最广泛的三维的动画软件 Autodesk 3ds Max。我们知道三维建模之后所生成的模型会以文件的形式呈现,模型文件一般分为字符记录类型和二进制记录类型
24、,3ds Max 默认生成的是二进制 3ds 格式文件,我们需要将 3ds 文件导出为字符记录型的 OBJ 格式文件,以便后续在 Android 平台渲染出来。一般在 Android 平台渲染出一个外部模型需要三个步骤:第一步读取模型文件;第二步对文件中三维模型的信息进行解析;第三步通过各种变换后在场景中把模型渲染出来。设计的中期主要是实现模型的合并与导入算法的设计,因为构建某些复杂模型时是分开的,最后需要将他们合并在场景内,这其中需要反反复复的控制调整各个模型的尺寸与位置,否则很容易出现沙发比房子大的情况。在编写导入算法的时候需要用第 1 章 绪论5到 OpenGL ES 这个嵌入式设备版本
25、的图形开发应用程序编程接口,它封装了许多数学库函数,在当前行业领域中备受青睐。导入算法的主要难点是既要保证导入模型的复杂度即逼真程度,又要保证在 Android 平台的渲染时间,经过了不断的研究,本设计的算法在二者之间达到了很好平衡,取得了预期的效果。设计的后期主要是一些测试工作,测试采用双核的 Android 智能手机,进行了一些数据的采集分析和文档的整理。本文主要阐述了基于 Android 平台家具展示系统的设计与实现,着重介绍了如何构建三维家具模型与场景、将构建好的模型在 Android 平台上渲染出来以及在 Android手机上对场景进行一些简单操作。1.4 论文结构第 1 章是绪论部分。阐述了课题来源、国内外研究现状、背景和目的意义。概述论文的主要内容与论文的组织结构。第 2 章相关技术。包括 Autodesk 3ds Max 工具介绍、OpenGL ES 图形接口的介绍、Android 系统体系结构的简介。第 3 章是模型的构建。介绍了本设计中家具模型和场景的构建以及家具模型与场景的合并。第 4 章是系统的设计与实现。介绍了开发环境的搭建以及一些相关功能的具体实现,并且对设计结果进行数据分析与测试。