flartoolkit介绍

上传人:夏** 文档编号:578963786 上传时间:2024-08-25 格式:PPT 页数:19 大小:1.67MB
返回 下载 相关 举报
flartoolkit介绍_第1页
第1页 / 共19页
flartoolkit介绍_第2页
第2页 / 共19页
flartoolkit介绍_第3页
第3页 / 共19页
flartoolkit介绍_第4页
第4页 / 共19页
flartoolkit介绍_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《flartoolkit介绍》由会员分享,可在线阅读,更多相关《flartoolkit介绍(19页珍藏版)》请在金锄头文库上搜索。

1、基于FLARToolKit的增强视觉内容u第一章 增强现实 及 FLARToolkit 介绍u第二章 FLARToolkit 代码分析u第三章 基于FLARToolkit的演示增强现实 及 FLARToolkit 介绍1.增强现实 1.1 定义与应用 1.2 发展与研究现状 1.3 实例2. FLARToolkit 增强现实 Augmented Reality n定义: 一种借助其他技术将(计算机生成的)虚拟的对象或其他信息实时的、无缝的叠加到真实环境中的技术,以增强用户对真实环境的理解和体验。n应用:医疗领域 旅游、展览领域 娱乐、游戏领域网络视频通讯领域 等等增强现实 工作原理增强现实 的

2、 发展 从最初二十世纪七十年代早期Pong进入电子游戏厅以来,增强现实的不断突破创新,将通过增强我们的所见、所听、所感和所闻,进一步模糊真实世界与计算机所生成的虚拟世界之间的界线。 原有的研究领域拓展到多个新的领域,如城市规划、娱乐教育、工业仿真、文化遗产保护等。AR系统由简单的桌面式扩展到户外可携带型、空间体验型。显示设备也从头盔显示器延伸到大型可触摸式、桌面投射式和便携式。增强现实 实例医疗 商业 北卡罗莱纳大学的AR辅助B超检查和胸部活组织切片伦敦Guys医院MAGI项目协助医生从耳道中取出神经瘤微软推增强现实技术 新应用-记事帖百货公司内的“数字虚拟更衣室”增强现实 实例工业旅游、市政

3、SONY公司TransVision 增强现实样机系统参与者看到的图像FLARToolKit介绍ARToolKit ARToolKit 它是一个C/C+ 语言编写的库,集成了很多用于增强现实的函数和类,通过它可以让程序员很容易的编写 增强现实 应用程序。 ARToolKit使用 图像技术 计算摄像机和标记卡之间的相对位置,从而使程序员能够将他们的虚拟对象覆盖到标记卡上面。 ARToolKit 包含了跟踪库和这些库的完整源代码,开发者可以根据平台的不同调整接口,也可以使用自己的跟踪算法来代替它们。 FLARToolKit介绍FLARToolKit是 ActionScript 3.0版的ARTool

4、Kit,其前身是基于java的NyARToolKit。FLARToolKit同样也是识别图片中的标记,计算摄像机和标记之间的相对位置,接下来将该坐标系统发送到3D引擎,由3D引擎在视频图像上渲染对象。FLARToolKit的特点是基于flash构架的。它包含了一些出色的flash 3D引擎,(如Papervision3D, Away3D, Sandy, Alternativa3D)。用来渲染 和 管理 3D 模型,也可以很方便的实现交互。FLARToolKit 代码分析uActionScript 3 介绍u一个完整的 FLARToolKit 程序 的代码分析 (以SimpleCube.as 为

5、例)ActionScript 3.0 介绍ActionScript 3.0 是一种强大的面向对象编程语言。ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用程序中实现了交互性、数据处理以及其它许多功能。利用ActionScript3.0 创作出来的动画具有很强的交互性。在简单的动画中,Flash按顺序播放动画中的场景和帧,而在交互动画中,用户可以使用键盘或鼠标或声音与动画交互,大大增强了用户的参与。同理,使用ActionScript3.0 编程实现 增强现实 可以很好的实现交互。ActionScript 3 的优点 这种语

6、言支持类型安全性,使代码维护更轻松。 与其他语言相比,这种语言相当简单,很容易编写。 开发人员可以编写具有高性能的响应性代码。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;im

7、port 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); /摄像头 标记卡 参数 初始化函

8、数 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(); _

9、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:Poin

10、tLight3D = 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_

11、FRAME, _update);/添加每帧更新响应函数stage.addEventListener(MouseEvent.CLICK, _onClick);/添加鼠标响应函数SimpleCube.as 代码分析一些响应函数 protected function _update(e:Event = null):void Cube.rotationZ += 2;private function _onClick(e:MouseEvent):void mirror = !mirror;我们的 演示实例1 语音交互demo2 多媒体demo3 键盘与marker交互demo4 手势交互播放器demo5 小迷宫demo6 太阳系demo

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号