flartoolkit介绍.ppt

上传人:牧羊曲112 文档编号:5430908 上传时间:2023-07-06 格式:PPT 页数:19 大小:1.57MB
返回 下载 相关 举报
flartoolkit介绍.ppt_第1页
第1页 / 共19页
flartoolkit介绍.ppt_第2页
第2页 / 共19页
flartoolkit介绍.ppt_第3页
第3页 / 共19页
flartoolkit介绍.ppt_第4页
第4页 / 共19页
flartoolkit介绍.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《flartoolkit介绍.ppt》由会员分享,可在线阅读,更多相关《flartoolkit介绍.ppt(19页珍藏版)》请在三一办公上搜索。

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

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

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

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

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

8、entListener(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.C

9、OMPLETE,_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();/设置光源li

10、ght.x=1000;light.y=1000;light.z=-1000;fmat=new FlatShadeMaterial(light,0 x1C86EE,0 x00BFFF);/设置模型的材质 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 Cube.rotationZ+=2;private function _onClick(e:MouseEvent):void mirror=!mirror;,我们的 演示实例,1 语音交互demo2 多媒体demo3 键盘与marker交互demo4 手势交互播放器demo5 小迷宫demo6 太阳系demo,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号