flartoolkit介绍

上传人:xiao****1972 文档编号:244662444 上传时间:2024-10-05 格式:PPT 页数:19 大小:1.57MB
返回 下载 相关 举报
flartoolkit介绍_第1页
第1页 / 共19页
flartoolkit介绍_第2页
第2页 / 共19页
flartoolkit介绍_第3页
第3页 / 共19页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,基于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 内容和应用程序中实现了交互性、数据处理以及其它许多功能。,利用,ActionScript,3.0,创作出来的动画具有很强的交互性。在简单的动画中,Flash按顺序播放动画中的场景和帧,而在交互动画中,用户可以使用键盘或鼠标,或声音,与动画交互,大大增强了用户的参与。,同理,使用,ActionScript,3.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,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 语音交互demo,2 多媒体demo,3 键盘与marker交互demo,4 手势交互播放器demo,5 小迷宫demo,6 太阳系demo,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!