基于Android的魔方实时还原VR教学系统

 2022-01-17 11:01

论文总字数:22865字

目 录

1 引言 1

1.1 研究背景及意义 1

1.2 国内外研究现状 1

1.3 主要内容 2

2 相关理论及技术简介 3

2.1 3ds MAX建模工具构建模型 3

2.2 Unity3D对模型和代码的处理 3

2.3 Visual Studio对代码的处理能力 3

2.4 魔方还原算法简介 3

3 系统分析 4

3.1 系统的功能性需求 4

3.2 系统的非功能性需求 4

3.3 系统用例分析 5

3.3.1 页面跳转用例描述 5

3.3.2 3D教程用例描述 5

3.3.3 用户自由操作用例描述 6

3.3.4 魔方自动还原提示用例描述 7

4 系统设计 8

4.1 3D魔方设计 8

4.2 魔方VR教学设计 8

4.2.1魔方块的分类 8

4.2.2魔方的18种旋转方式 9

4.2.3魔方教程设计 10

4.3 魔方“玩一玩”设计 13

4.4 魔方还原提示算法设计 14

5 系统实现 16

5.1 实现魔方模型3D化构建 16

5.1.1 3ds Max建立立体模型 16

5.1.2 Unity3D导入模型 17

5.2 魔方上色处理 18

5.3 用户界面及跳转 18

5.4 旋转效果设计 20

5.5 3D魔方教程设计实现 20

5.6 魔方“玩一玩”的实现 25

5.7 自动还原提示 26

6 结束语 28

致谢 29

基于Android的魔方实时还原VR教学系统

马晓明

,China

Abstract: This paper designs a Android based magic cube real time restoration VR teaching system based on 3D stereo technology.The system provides the general case of the magic cube reduction 3D tutorial, and provides the function of the user's own operation of the magic cube and the realization of the function of the magic cube to restore the magic cube automatically. Based on the Csharp development language, the system analyzes the spatial transformation of the magic cube rotation, and designs the general rotation algorithm of the magic cube. The transformation of space direction of magic cube is analyzed and designs the autonomous reduction algorithm of the magic cube . Use Visual Studio, Unity3D and 3ds Max development tools to jointly develop. This paper introduces the whole system development process from the aspects of system theory support, requirement analysis, system design and system implementation.

Key words: Visual Studio;Unity3D;3ds Max;Csharp;Analysis of the algorithm for the automatic reduction of the magic cube

1 引言

研究背景及意义

随着现代科技的普及,手机、电脑和Pad等逐渐成为现代人生活中的一部分。电子设备已经渗入到了生活的方方面面,大部分人依靠电子设备进行日常的沟通交流,娱乐消闲,生活工作等。而这种情况,不仅体现了现代科技的发展迅速,更表明出一种人们积极探索研究使生活更方便便捷的技术。

手机上面那些千千万万的App应用,无时无刻不在方便着我们的生活。而其中Android系统在市场的占有率甚至在80%以上。占据率极大的Android系统,将互联网与通信技术,以及其他的信息技术完美地结合在了一起,使得人们的生活通过电子系统获得了极大的便利。

然而任何事情的发展都是有利有弊的。在现代科技发达的情况之下,人们通过科技而获得娱乐的方式,逐渐被华丽刺激的格斗型游戏占据。本文不讨论这些游戏对人们起到的休闲作用,回想一下,之前那些可以在娱乐的同时开发脑力的游戏,比如说棋类游戏、九宫格及魔方游戏等等,已经逐渐被淹没在庞大而繁杂的信息之中。尤其是魔方游戏由于本身存在的立体性以及多变性,所以更难在电子设备中得到开发和普及。而相当多的魔方爱好者,通常会选择利用实体魔方来进行娱乐,或者是从网上去寻找各种图文教程来学习而这并不是给新生魔方爱好者提供帮助的最便捷的方法。魔方的三维变化很难在二维图文上得到完美的表示,而当新手遇到了问题时,视频和图文也不能给出很好的解答。

所以,本研究利用Android系统的智能性来设计一个3D的魔方还原VR教学系统去解决问题。而Android系统的普及也为本研究提供了良好的基础。

国内外研究现状

对于魔方的研究,国内外都已经有了一定的研究。从最基本的二阶三阶,到更复杂的四阶五阶,甚至更高阶,甚至于异形不规则魔方,都有魔方的专家探索出了还原的规律,甚至已经有了专业的还原教程。就三阶魔方而言,可以从网上搜到各类文字教程,图片教程,视频教程等。除此之外,因为魔方变换具有一定的立体多变性,不少数学能力不错的人将魔方的还原规律总结为一种数学规律。

在各位魔方专家和数学专家研究的基础上,也有相当一部分程序员,尝试将魔方的还原规律,利用群论的方法,用代码实现出来。而已经有人实现了这个功能,实现方式也不止一种。其中最为普及的有两种方式。第一种是基于人类还原魔方的思维,对魔方进行逐层还原,而第二种被称为Kociemba算法,也称为两步算法,对魔方进行状态位的还原。通过这两种方式,许多程序员可以设计出平面的魔方还原程序,有实力的程序员可以根据玩家对空白魔方上色之后的样式,利用程序将魔方还原(前提是上色后的魔方确实可以还原)。除此之外,随着科技的发展,出现了利用智能手机摄像功能对现实魔方进行扫描,然后使用魔方机器人操作魔方使魔方还原的设计。智能手机分析魔方的色块位置,确定还原的步骤,然后发出相应指令控制机器人完成任务。

1.3 主要内容

本研究设计的VR教学系统,面向用户开发一个基于Android的魔方实时还原VR教学系统。

用户可以通过本研究设计的系统,选择性观看魔方逐步还原的VR教程实例。教程实例参考了七步还原魔方的方法。可以通过系统,立体的观察魔方复原的空间变换;用户可以通过界面选择,选择操纵一个完整的立体魔方,控制魔方转动,来熟悉之前观看过的VR教程实例;本系统添加了魔方自动还原提示的功能。在用户操纵魔方不能还原的情况下,用户发出求助指令,系统启动算法,经过算法分析计算,使用弹窗为用户提供接下来的复原提示。

2 相关理论及技术简介

2.1 3ds MAX建模工具构建模型

3D Studio Max,简称3ds Max或MAX,前身是基于DOS的3D Studio系列软件。具有基于PC系统的低配置要求 ,对学生开发3D模型时的系统配置也不会太高;在安装插件(plugins)后,可提供3D Studio Max所没有的且开发所需要功能,也可以增强原本的功能 ;具有强大的三维模型制作能力 ;还可以设计可堆叠的建模步骤,使制作模型有非常大的弹性;“标准化”建模,针对建筑建模领域相较其它软件有不可比拟的优越性。

2.2 Unity3D对模型和代码的处理

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

Unity3D的强大功能在于其可以在导入相应插件之后,兼容导入其它软件开发出来的3D模型,并对其进行下一步修改完善。例如3ds MAX建立的模型,可以将其导出为FBX格式之后导入Unity3D中,然后在Unity3D中导入模型到场景中,进行下一步操作。

Unity3D同样拥有相当的代码处理能力。可以建立各种脚本代码,对模型进行相应操作命令与逻辑实现。目前最为普及建立的一般是csharp与js文件代码。而其对代码的编写一般通过联合编辑Visual Studio软件进行实现。

Unity3D将模型和代码整合在一起,通过在模型上附加代码脚本,对模型进行各种动作操作。

2.3 Visual Studio对代码的处理能力

Microsoft Visual Studio是微软公司的开发工具包系列产品。是一个基本完整的开发工具集,它拥有整个软件所需要的大部分功能与工具,如UML工具、集成开发环境(IDE)等等。用它写的代码适用于微软支持的所有的平台。

因此,通过Visual Studio和Unity3D的联合开发,可以很好的对Unity3D建立的脚本进行代码编辑,使代码脚本能够实现设计功能。同时Visual Studio还具有很好的错误提示功能 及调试功能,这对前期代码的编写具有良好更正。

2.4 魔方还原算法简介

目前流行的魔方还原算法主要有两种:逐层还原算法和Kociemba算法。

(1)逐层还原算法:该算法基于人还原魔方的正常思维,按照底层到顶层,对每个方块进行遍历搜索,对搜索到的方块进行状态的辨别,再进行还原。还原当前方块之后,会继续运行检测算法,依次对接下来的每一个方块进行遍历搜索,确定还原顺序。而这个算法就是通过穷举式的遍历搜索,对每一个方块进行还原,最终使魔方整体还原。该算法符合人的正常思维,做出来的还原提示判断易于理解,符合魔方还原VR教学系统的目的。

(2)Kociemba算法,也是目前三阶魔方还原步数最少的算法。该算法将每一个方块的位置和方向定义为有区别的状态,储存在系统里。该算法通过{{{角方块排列},{角方块旋转}},{{棱边方块排列},{棱边方块旋转}}}的表示方式将一个魔方的状态表示出来。

剩余内容已隐藏,请支付后下载全文,论文总字数:22865字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;