【VC++开源代码栏目提醒】:网学会员为广大网友收集整理了,网上全景演出展览体验系统 - 硕士论文,希望对大家有所帮助!
北京交通大学 硕士学位论文网上全景演出展览体验系统 姓名:王博远 申请学位级别:硕士 专业:软件工程 指导教师:王涛王方石 20090601 AB STRACT The target of this thesis is to present Rich Interact Applications(glA)to theaudience,based on the concept of¨Online Panoramic Experience”,to break thetraditional view of the online experience mode,and USe it as a guide,analysis,designand implementation of the China’s Arts&Entertainments Group’S Online Performanceand Exhibition Experience system.This system is currently the first domestic onlineexperience system to integrate Flash 3D technology,Flex front-end technologies,aswell嬲Ruby on Rails Server technology to fully resolve the problem of traditional B/Smode cannot present the effect of colorful performances and exhibitions,at the sametime ruling a domestic gap in this field. This article detailed the concept of“Online Panoramic Performance Experience”,and introduces the Online Performance and Exhibition Experience System’S background,characteristics and application of technology.This system integrates a number ofworld’S leading digital media technology,including Panorama Video Shooting,3DScene modeling and RiCh Internet Application technology,thus enabling users to obtainimmersive experience. : This article analyzes the integration technology of Away3D&Papervision3D FlashEngine,Adobe Flex 3 SDK and PureMVC Framework for the development of front-endtechnology and WebORB platform for the communication between the Flash Clientenvironment and the Rails Server environment,and gives a detailed description on thedesign and implementation plan. The author is responsible for the front-end development of this project,including3D environment development,the integration of Flex front-end and 3D environmentbased on the PureMVC framework,the communication between Flex front-end andR ai】S server-side based on W苦boRB.KEYWORDS:Online Panoramic Performance Experience;OPPE;Flash3D;Away3D;Papervision3D;PureMVC;WebORBCLASSNO:TP3 11.52 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
学位论文作者签名: 签字醐。
1年7月J日 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。
特授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索,提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。
同意学校向国家有关部门或机构送交论文的复印件和磁盘。
(保密的学位论文在解密后适用本授权说明) ……躲板 签字嗍叫年了月/日 J 签字日期:厶迅年7月/日 致谢 本论文的工作是在我的导师王涛和王方石老师的悉心指导下完成的,王涛老师在我论文开题期间提出了许多的宝贵意见,并使我接触到了最新的数字媒体技术,产生了创新的思路。
在此衷心感谢王涛老师对我的关心和指导。
王方石老师在论文的修改上给予了我很大的指导和帮助,特别是对于细节的一丝不苟使我深受启迪,在此向王方石老师的指导表示衷心的谢意。
感谢中国对外文化集团公司的领导及各位同事,在我研究期间给予了大量的支持。
在实验工作及撰写论文期间,王雷、张晨等同学对我论文中的富媒体研究工作给予了热情帮助,在此向他们表达我的感激之情。
感谢王林等作者给予本文第二章核心理论研究部分的资料支持。
感谢李俊杰等作者给予本文第三章核心技术研究部分的资料支持。
以上两章节中所引用的内容均系王林、李俊杰等作者的研究成果,在此深表感谢。
感谢Cliff Hall提供的PureMVC的相关文档,本文第四章中架构分析与前端类的设计主要参考了PurcMVC三份技术文档中的UML设计图以及相关说明,特别为CliffHall对于
开源PureMVC框架的贡献表示感谢。
感谢ImmersiveMedia公司提供的全景视频,以及在全景演出系统的开发中给予的思路上的启迪。
本文中所涉及到的全景视频以及相关拍摄设备均系ImmersiveMedia公司的专利,在此表示感谢。
另外也感谢家人,他们的理解和支持使我能够在学校专心完成我的学业。
1绪论1.1 研究背景和意义 随着信息化正在广泛而深刻地影响着社会生活的各个领域和层面,传统的文化产业正在发生变化,而这些变化反过来也促进了信息化的发展。
正是大量的文化内容在网络上传播、交流和消费,才使信息技术从科技成果转变为大众的生活内容,使信息化演变成了文化内涵。
文化必须要形成产业才有竞争力,而文化要形成产业必须要有广泛的社会基础,要让大众了解、理解和接受文化,这些都必须有广泛的传播作为前提。
因此如何建立有效的传播平台是文化产业所面临的主要问题。
在众多的传播手段中,网络是即高效又低成本平台,能将所有信息汇聚到一起,制造更多的商机,让文化产业真正的价值体现出来。
美国著名的人本主义心理学家马斯洛认为:“人类基本的需要得到满足后,就会进一步追求较高层次需要”;“一个理想的社会,除了应该满足人们的基本的生理需要外,还要使人们满足较高层次的需要”。
同样,一个理想的网络传播平台,除了要满足人们对于信息获取的基本需求,更要提供给用户更多更丰富的媒体表现形式,以满足用户更高的、全方位的体验要求。
然而,在目前的文化产业领域中,传统的B/S模式的Web应用程序无法使用丰富的媒体效果来展示绚丽多彩的演出和展览活动,随着需要表现的内容复杂性越来越高,单纯的网页形式已经无法满足用户。
用户不再希望仅靠单纯的文字和图片组合的形式来获得信息,而是希望能够身临其境的感受每一场精彩的演出和展览。
因此,作为文化部直属事业单位、全球最大的中国演出和艺术展览供应商和运营商的中国对外文化集团公司,遵照中央部署的“加快发展文化事业和文化产业”的精神,本着打造百年国际文化企业集团的目标,正在大力推进信息化的建设,着力于将丰富多彩的演出展览项目通过网络平台进行推广。
本文的课题基于中国对外文化集团公司的信息化建设项目,重点探讨了数字媒体技术与文化产业相结合的相关理论与技术,并给出了具有针对性的解决方案。
1.2 论文研究内容及主要工作 本文主要探讨了中国对外文化集团公司网上演出、展览体验系统项目的分析、设计与实施。
该项目是中国对外文化集团公司信息化建设的重要组成部分,是基于作者结合文化产业和富互联网应用技术(Rich Interact Application)的创新理论,由作者本人分析、设计、并且在集团信息化建设中主持实施的项目。
在开发过程中,作者结合在数字媒体产品开发领域的专长,重点负责系统的数字视频处理、基于Away3D&Papcrvision3D引擎的三维场景创建、基于PureMVC框架的Flex前端开发以及与Ruby On Rails服务器端通讯等工作。
系统为用户提供了身临其境的演出体验与展览观赏,其中最主要的功能包括了: 3600全景演出体验,向浏览者提供集团的全景演出观赏,实现身临其境的立体3600的观看效果。
完全打破了目前网上演出视频的单一摄像机同一时间只能监控某一舞台空间播放模式,实现融合传统演出和新媒体技术的重要创新。
在线展览体验,将集团举办的展览通过F1ash3D场景建模技术在网上同步展出,使浏览者不再是通过简单的网页+图片的形式了解展览,而是通过真实的场景再现来身临其境的感受展览中各种绘画作品的魅力,同时超过了以往普通的Web3D环境中的交互功能,使参观者可以了解每一幅作品的详细信息并与之互动。
1.3 论文的组织结构 本论文由如下7个章节组成: . 第l章绪论,主要介绍中国对外文化集团公司网上演出和展览体验系统的研究背景、论文研究内容及主要工作、论文的组织结构。
第2章系统的核心理论。
本章详细介绍了Web3D理论、富互联网应用理论以及虚拟现实理论等系统开发中的核心理论。
第3章系统的相关技术研究。
分析了系统中所采用的开发技术以及
开源框架,包括:ActionScript语言与Flex框架、基于Flash3D技术的Away3D&Papervision3D引擎、PureMVC前端MVC框架、Ruby语言与Rail框架、TweenMAX
开源动画引擎、WebORB通讯套件。
第4章系统设计。
本章详细阐明了“网上全景演出体验(OPPE)”和“在线展览体验”的思想,并具体分析了系统架构、系统功能概况以及类详细设计。
重点探讨了富互联网应用程序的前端框架的整合与开发工作。
第5章系统实现。
本章讨论了3600全景演出体验系统、在线展览体验系统的实现方法。
作者从项目开发的角度,给出了从媒体素材的收集制作到系统实现的解决方案。
2 第6章总结与展望。
对系统的设计与开发工作进行总结,并提出未来可行的应用及创新模式。
32核心理论研究2.1 Web3D理论 从实现的技术角度,基于ActionScript3实现的Flash3D中并不存在3D,即Z轴并不存在。
Web3D环境是利用数学公式和一些透视的知识模仿出3d效果,利用缩放物体产生3D的错觉。
因此对于一个3D虚拟空间,Z轴与显示器的方向重合,X轴和Y轴分别为横向和纵向。
在3D空间里,离人眼越远的物体,其大小就越小,在x和Y轴上的移动就越缓慢,物体缩放的比率以及移动速率与物体Z的大小成反比。
在OpenGL中Y轴的正方向是指向上方,Z轴正方向指向屏幕外,而在Flash 3D空间的Y轴和Z轴是相反的。
Flash中3D空间是围绕坐标系原点的,原点的坐标我们用Point(x,M Z),(0,0,O)来表示。
在Flash 2D中,原点存在于程序的左上角Point(0,O),对于3D来说,原点也存在于程序的左上角,因此所在的位置是成一定角度(仰看)来观察程序中3D空间中的物体的。
通常可以把3D空间的原点向右再向下移动,以此来围绕原点绘制物体的时候会十分方便【15】。
在场景中,每个三维模型的面都是由三角形构成,三角形离摄像机的垂直距离,称作Z.depth,或者‘深度’。
三维图形就是靠这个深度来决定哪个面出现在哪个面前面。
在不能使用三维加速卡的时候,Z一般我们是靠组成每个三角形的三个点的平均深度决定,也就是说,每个三角形的中心点决定(或有些情况由最远点决定)。
也就是说,每1/30秒,Flash播放器都会靠Z深度来重新排列一次画面上所有的三角形。
由于是依据中心点和摄像机的垂直距离决定Z深度,所以这个深度信息常常不能够正确地反映面的真实深度,特别当面相对相邻面较大的时候。
就会出现破面的现象。
Web3D的Z—sorting目前可以采用Viewport Layer做整体排列,整个模型的中心点(或最近、最远点)来排列整个模型的图层,也就是说两个模型间的邻近的破面现象会大大减小。
把每个整块模型看成一个图层,排列各个物体的远近就是排列每个图层的前后。
三维场景视图的计算机生成步骤类似于摄影的过程。
首先,与放置照相机对应,需要在场景中确定一个观察位置。
根据要显示场景的前、后、侧、上或底来选择观察位黄。
也可以在一组对象的中间,甚至在一个对象如一个建筑物或一个分子的内部选择一个观察位置。
然后要确定照相机的方向。
照相机朝着哪个方向及如何绕视线旋转照相机以确定照片的向上方向。
最后,当按下快门时,按照相机“裁剪窗口”(镜头)的大小来修剪场景,光线从可视表面投影到照相机胶片上。
4图2.1给出了建立三维场景以及将场景变换到设备坐标的一般步骤。
图2.1三维变抉流水线图 Flg 2.1 Three-dimensional Line Graph Transformation 一旦在世界坐标系中建立好场景模型,就将场景描述转换到选择的观察坐标系。
观察坐标系定义了观察参数,包括投影平面(观察平面)的位置和方向,我们可以把投影平面看作是照相机胶片平面。
然后在投影平面上定义与照相机对应的二维裁剪窗口,并建立三维裁剪区域。
该裁减区域称为观察体,其形状和大小依赖于裁减窗口的尺寸、投影方式和所选的观察方向的边界位置。
投影操作将场景的观察坐标描述转换为投影平面的坐标位置。
对象映射到规范化坐标系,所有在观察体外的部分被裁剪掉。
裁剪操作可以在所有与设备无关的坐标变换(从世界坐标系到规范化坐标系)完成之后进行。
这样,坐标变换可以合并以便最大限度地提高效率,完成了从场景建立到输出的基本变换过程。
2.2 富互联网应用程序 传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表示层建立于HTML页面之上,而HTML是适合于文本的、传统的、基于页面的系统,已经渐渐不能满足网络浏览者的更高的、全方位的交互式体验要求了,这就是被Macromedia公司所称的“体验问题(Experience Matters)”——即传统Web应用程序没有足够的能力来表现应用的复杂性。
这些复杂性包括:过程复杂性、数据复杂性、配置复杂性、规模复杂性、反馈复杂性等方面,制约了用户的体验感受。
因此,下一代的Web应用程序必须拥有表达复杂性的能力,以允许用户观看复杂的数据、配置多选项的产品、搜索大型数据库、以及允许用户与数据间的 5互动交换旧。
富因特网应用程序RIA的出现就是为了解决这个问题。
RIA中的“mch一富”的概念包含两方面,分别是数据模型的丰富和用户界面的丰富。
数据中“富”的意思是指用户界面可以显示和操作更为复杂的嵌入在客户端的数据模型。
RIA可以在客户端运算大量数据,并且采用异步的方式发送和接收数据。
这种模式相对于传统的HTML页面的优点是,程序在和用户进行交互的同时,可以与服务器进行异步通讯,用户的交互过程不会被打断;“富”同样也描述了全面提升的用户界面。
HTML只给用户提供非常有限的界面控制元素,而富因特网应用程序(Rth)的用户界面提供了灵活多样的界面控制元素。
这些控制元素可以很好地与数据模型相结合,从而带给用户快捷方便的交互体科31。
RIA是集桌面应用程序的最佳用户界面功能与Web应用程序的普遍采用和快速、低成本的部署以及互动多媒体通信的实时快捷于一体的新一代网络应用程序。
RIA中的砧ch Client提供可承载已编译客户端应用程序的运行环境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的Web服务所驱动。
RIA具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性的操作能力。
RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。
客户机在RIA中的作用不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。
目前,RIA的应用处于起步阶段,今后几年时间内传统的Web应用程序和RIA将会共存。
目前有如下多种实现技术: Adobe公司的Flex技术。
Flex是Adobe推出的创建并发布RIA的开发平台,最终是要把程序发布成Flash,从而一举解决了浏览器之间的移植问题。
Flex采用GUI界面开发,使用基于XML的MXML语言。
FLEX的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。
Flex的目标是让程序员更快更简单地开发RIA应用。
FLEX使在几乎所有的互联网用户中发布跨平台的RIA的应用成为可 6能,因为FLEX应用的最终形式是swf类型的文件,而这种类型的文件能在任何安装了Flash Player的浏览器中运行,无论用户使用的是何种操作系统。
微软的SilverLight技术。
SilverLight是一个跨浏览器、跨客户平台的技术,能够设计、开发和发布有多媒体体验与丰富交互的网络程序,利用了跨浏览器W曲技术进行设计,以实现多操作系统,甚至是移动设备上的无缝运行。
借助SilverLight技术,可提供内容丰富、视觉效果绚丽的交互式体验,而且,无论是在浏览器内、在多个设备上还是在桌面操作系统(如Apple Macintosh)中,都可以获得这种体验【4】。
73核心技术研究 系统在开发过程中坚持使用
开源框架,以保证开发成本降到最低。
下面详细介绍开发中所应用的技术。
3.1
开源Flash三维引擎 目前世界上主流的
开源Flash3D引擎只有两款:Away3D和Papervision3D。
在全景演出体验模块的开发中,重点是对视频的处理,因此选择在视频材质的处理上领先的Paperv/sion3D引擎框架作为全景演出体验系统的Flash3D引擎。
在网上展览体验系统的开发中,重点是实现用户以第一人称视角的场景漫游功能,因此选择摄像机处理相对成熟的Away3D引擎框架作为展览模块的Flash3D引擎。
3.1.1 Papervision3D Papaervision3D是一个基于Flash平台的
开源3D引擎,建立在AS3和AVM2之上, 目的在于实现更加炫丽美观、功能强大的Flash 3D Web应用程序。
在ActionScript 3发布了之后,ActionScdpt语言的效率得到了大幅度提升,基于此的Papaervision3D无论是在效率、功能上都有了很大的提高。
Papaorvision3D引擎最大的优势是基于ActionScript3语言编写,完美的融合于Flash Player的平台中,目前世界上有80%的计算机都具有Flash Player插件,不需要再下载体积庞大的插件就可以观赏,是目前W曲3D中最有发展的解决方案。
3.1.2 Away3D Away3D是以Papervision3D为基础的另一款
开源三维引擎,Away3D同时也具有很好的社区支持,以及结构清晰不断改进的文档,引擎中核心类如图3.1所示: 基于Away3D的引擎支持导入多种模型格式,包括ASE,DAE,KMZ,3DS,Md2,Obj,因此可以将用建模软件制作的模型导入到Web环境中,生成多种复杂的三维场景,并且采用RPC(Remote Procedure Call)技术进行远程通信,可以建立强大的虚拟现实交互式环境。
8韭基窑亟右堂主业亟±堂焦谊奎 接!坠拄盎班杰 随着现在Web 2.0网络的发展t能在Flash Player中播放,体积小,与用户交互能力强,效果逼真的3D Web应用程序,无疑将给用户带来全新的体验。
因J}}Flash3D的应用领域将会越来越广泛Ⅲ。
幽3.1Away3D引擎中类关系图 Fig 3.1 Away3D EngineClassDiagram韭立奎亟盘堂主些亟±堂焦监室 燕:垒拉盔班五3.2 ActionScript语言与Flex开发平台3.2.1 ActionScript语言 系统前端开发语言是ActionSca’ipt3。
它是针对AdobeFlashPlayer运行环境的编程语言,它在Flash内容和应用程序中实现了交互性、数据处理以及其它许多功能。
AetionSeript是由Flash Player中的AetionSca’ipt虚拟机(ARM)来执行的。
AcfionSeript
代码通常被编译器编译成“字节码格式”(一种由计算机编写且能够为计算机所理解的编程语言),字节码嵌入SWF文件中,SWF文件由运行时环境Flash Player执行。
ActionSeript 3.0是面向对象的语言,提供了可靠的编程模型,它增加了新的ActionSedpt的虚拟机,称为AVM2,它使用全新的字节码指令集,可使性能显著提高。
并有更为先进的编译器
代码库,更为严格地遵循ECMASevipt(ECV.A262)标准,并且相对于早期的编译器版本,可执行更深入的优化。
扩展并改进的应用程序编程接口(API),拥有对对象的低级控制和真正意义上的面向对象的模型,因此方便创建拥有大型数据集和面向对象的可重用
代码库的高度复杂应用稗序阁。
图3.2展示了AefionSeript3的编译过程 目3.2ActitmSe.ript3∞#*±耀 心3.2CompihtleaP卅嘲ⅡA删蛐轴却O3.2.2 Flex平台 Flex是Adobe公司的支持P.IA(riehInteraetapplieations)5惭部署的平台,它是一系列发展中的技术和产品线的概括词,包括Flex Framework,Flex Builder3,Flex Enterprise Services等。
基于Flex建立的富互联网应用程序可以获得更多的交互体验效果,吸引更多的用户【6】。
Flex提供一个程序员们已经熟知的工作流和编程模型,让程序员比从前更快更简单地开发动画及RIA应用。
在多层式开发模型中,Flex应用属于表现层,Flex的语言和文件结构也试图把应用程序的逻辑从设计中分离出来。
Flex应用程序与传统的HTML应用程序的主要区别在于Flex应用程序处理最适合在客户端运行,如字段校验、数据格式、分类、过滤、工具提示、合成视频、行为及效果等。
Flex可使开发人员更好地交互应用程序,这种应用程序使用户可以迅速反应、在不同状态与显示间流畅过渡,并提供毫无中断的连续的工作流。
Flex是编写表示层的语言,其数据需要服务器端提供。
Flex应用程序框架由拥有丰富的用户界面组件、用于排布这些组件的基于XML的标记语言MXML,以及可以处理用户交互的面向对象编程语言ActionScript以及Flex类库构成。
开发人员利用利用MXML定义应用程序用户界面元素,利用ActionScript定义客户逻辑与程序控制。
Flex类库中包括Flex组件、管理器及行为等。
利用基于Flex组件的开发模型,开发人员可在程序中加入预建的组件、创建新组件或是将预建的组件加入复合组件中。
Flex内置的界面可以由flash播放器显示在客户端。
Flex运行时服务提供用于Flex应用程序数据管理和安全集成。
3.3 PureMVC
开源框架 尽管Flex可以展现Flash的炫目的客户端效果,全新的用户体验,但针对企业化的应用,仅有Flex是远远不够的,需要有合理的软件架构规范,于是Flex世界的MVC框架就应运而生了,PureMVC是Flex世界中的MVC模式的具体实现,相对于Adobe官方的Caimgorm的Flex MVC框架,PureMVC更加简单实用【71。
PureMVC是一个定位于设计高性能RIA客户端的基于模式的框架。
现在它已经被移植到其他的平台上,包括服务器端环境。
PureMVC提供了一个有着良好文档、完善的单元测试并且试用于各种语言的MVC框架。
图3.3展示了FureMVC的框架中核心类关系.
上一篇:
51单片机集成开发环境μVision2调试程序的使用操作
下一篇:
ASP小区停车管理系统(Access)(含录像)