《flartoolkit介绍》PPT课件.ppt_第1页
《flartoolkit介绍》PPT课件.ppt_第2页
《flartoolkit介绍》PPT课件.ppt_第3页
《flartoolkit介绍》PPT课件.ppt_第4页
《flartoolkit介绍》PPT课件.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于FLARToolKit的增强视觉,内容,第一章 增强现实 及 FLARToolkit 介绍 第二章 FLARToolkit 代码分析 第三章 基于FLARToolkit的演示,增强现实 及 FLARToolkit 介绍,增强现实 1.1 定义与应用 1.2 发展与研究现状 1.3 实例 2. FLARToolkit,增强现实 Augmented Reality,定义: 一种借助其他技术将(计算机生成的)虚拟的对象或其他信息实时的、无缝的叠加到真实环境中的技术,以增强用户对真实环境的理解和体验。 应用: 医疗领域 旅游、展览领域 娱乐、游戏领域 网络视频通讯领域 等等,增强现实 工作原理,增强现实 的 发展,从最初二十世纪七十年代早期Pong进入电子游戏厅以来,增强现实的不断突破创新,将通过增强我们的所见、所听、所感和所闻,进一步模糊真实世界与计算机所生成的虚拟世界之间的界线。 原有的研究领域拓展到多个新的领域,如城市规划、娱乐教育、工业仿真、文化遗产保护等。 AR系统由简单的桌面式扩展到户外可携带型、空间体验型。 显示设备也从头盔显示器延伸到大型可触摸式、桌面投射式和便携式。,增强现实 实例,医疗 商业,北卡罗莱纳大学的AR辅助B超检查和胸部活组织切片,伦敦Guys医院MAGI项目协 助医生从耳道中取出神经瘤,微软推增强现实技术 新应用-记事帖,百货公司内的“数字虚拟更衣室”,增强现实 实例,工业 旅游、市政,SONY公司TransVision 增强现实样机系统,参与者看到的图像,FLARToolKit介绍,ARToolKit ARToolKit 它是一个C/C+ 语言编写的库,集成了很多用于增强现实的函数和类,通过它可以让程序员很容易的编写 增强现实 应用程序。 ARToolKit使用 图像技术 计算摄像机和标记卡之间的相对位置,从而使程序员能够将他们的虚拟对象覆盖到标记卡上面。 ARToolKit 包含了跟踪库和这些库的完整源代码,开发者可以根据平台的不同调整接口,也可以使用自己的跟踪算法来代替它们。,FLARToolKit介绍,FLARToolKit是 ActionScript 3.0版的ARToolKit,其前身是基于java的NyARToolKit。 FLARToolKit同样也是识别图片中的标记,计算摄像机和标记之间的相对位置,接下来将该坐标系统发送到3D引擎,由3D引擎在视频图像上渲染对象。 FLARToolKit的特点是基于flash构架的。它包含了一些出色的flash 3D引擎,(如Papervision3D, Away3D, Sandy, Alternativa3D)。用来渲染 和 管理 3D 模型,也可以很方便的实现交互。,FLARToolKit 代码分析,ActionScript 3 介绍 一个完整的 FLARToolKit 程序 的代码分析 (以SimpleCube.as 为例),ActionScript 3.0 介绍,ActionScript 3.0 是一种强大的面向对象编程语言。ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用程序中实现了交互性、数据处理以及其它许多功能。 利用ActionScript3.0 创作出来的动画具有很强的交互性。在简单的动画中,Flash按顺序播放动画中的场景和帧,而在交互动画中,用户可以使用键盘或鼠标或声音与动画交互,大大增强了用户的参与。同理,使用ActionScript3.0 编程实现 增强现实 可以很好的实现交互。 ActionScript 3 的优点 这种语言支持类型安全性,使代码维护更轻松。 与其他语言相比,这种语言相当简单,很容易编写。 开发人员可以编写具有高性能的响应性代码。,SimpleCube.as 代码分析,1 建立一个名为SimpleCube的类 package public class SimpleCube extends PV3DARApp protected var ; / 变量 public function SimpleCube() / 构造函数 private function f1 / 方法(函数) ,SimpleCube.as 代码分析,2 导入需要的包或类 import flash.events.MouseEvent; import flash.media.Video; import flash.display.Sprite; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.scenes.Scene3D; import org.papervision3d.materials.VideoStreamMaterial; ,SimpleCube.as 代码分析,3 构造函数 public function SimpleCube() init(CAMERA_FILE, PATTERN_FILE); /摄像头 标记卡 参数 初始化函数 addEventListener(Event.INIT, _onInit); /模型 初始化函数 ,SimpleCube.as 代码分析,摄像头 标记卡 参数 初始化函数 init (cameraFile:String, codeFile:String, canvasWidth:int = 320, canvasHeight:int = 240, codeWidth:int = 80):void _cameraFile = cameraFile; _width = canvasWidth; _height = canvasHeight; _loader = new URLLoader(); _loader.addEventListener(Event.COMPLETE, _onLoadParam); _loader.addEventListener(Event.COMPLETE, _onLoadCode); private function _onLoadParam(e:Event):void /导入摄像头的一些参数 private function _onLoadCode(e:Event):void /导入标记卡 的一些参数,SimpleCube.as 代码分析,模型 初始化函数 private function _onInit(e:Event):void var light:PointLight3D = new PointLight3D();/设置光源 light.x = 1000; light.y = 1000; light.z = -1000; fmat = new FlatShadeMaterial(light, 0x1C86EE, 0x00BFFF);/设置模型的材质 Cube = new Cube(new MaterialsList( all:fmat ), 50, 50, 50); /设置一个长宽高为50的立方体 _markerNode.addChild(Cube);/在已经识别到的相对坐标系内添加该立方体 addEventListener(Event.ENTER_FRAME, _update);/添加每帧更新响应函数 stage.addEventListener(MouseEvent.CLICK, _onClick);/添加鼠标响应函数 ,SimpleCube.as 代码分析,一些响应函数 protected function _update(e:Event = null):void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论