LeapMotion教程之手势识别_第1页
LeapMotion教程之手势识别_第2页
LeapMotion教程之手势识别_第3页
LeapMotion教程之手势识别_第4页
LeapMotion教程之手势识别_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

LeapMotion教程之手势识别关于LeapMotion的预览概括预览:坐标系统动作捕捉数据帧绑定数据列表帧动画手模型手属性手的动画手指和工具列表手指和工具模型手势画画划过点击按键类型点击屏幕类型点击3•手模型这个手模型提供了被绑定的手的位置信息、特点以及运动方式。并且还包括了手指或者手上的工具的所有和手关联的东西的信息。LeapAPI尽可能多的提供关于手的信息。但是,Leap不能够确定每一帧所有属性。比如当你的手突然攥成了拳头,这个时候,它上面的所有的手指是不能用了,手指的list就成了空。所以你的程序需要对这种情况最一个检测。Leap设备不能确定某一个手是左手还是右手,多于两个手出现都可以放到list里面去,如果不止一个人将手放进来,或者有一个像手的物体。然而还是建议最多两个手来保证动作步骤的质量。3.1Hand类属性Hand对象提供了几个属性来反映绑定后的手的物理特性:PalmPosition—ThecenterofthepalmmeasuredinmillimetersfromtheLeaporigin.PlamPosition 手掌中心到Leap设备原点以毫米测量的距离

PalmVelocity—Thespeedofthepalminmillimeterspersecond・PalmVelocity——以毫米每秒为单位的手掌移动的速度。PalmNormal 个向量,这个向量是垂直于手掌所形成的平面的。并且向量从手掌出来指向下。Direction个向量,从手掌指向手指|=,Direction个向量,从手掌指向手指|=,的方向。SphereCenter 适合手弯曲后曲率的一个球的中心(用手握住一个球一样)球的中心(用手握住一个球一样)SphereRadius—Theradiusofaspherefittothecurvatureofthehand.Theradiuschangeswiththeshapeofthehand・SphereRadius 适合手弯曲后曲率的一个球的半径,这个半径随着手的形状而变化。direction和PalmNormal是一个单位向量,描述了手相对于Leap设备的坐标系统。PalmNormal向量指向了手掌的垂直向外的方向。Direction向量指向前。我们手握住的时候,就好象有一个球在手里,SphereCenter和SphereRadius就描述了这样一个球的中心和半径,这个球的曲率随着我们的手变化。3.2手的动作

Hand对象也提供了一些属性来反映绑定的手在frames中的动作。Leap设备分析手的动作就像分析手指和工具的并且代表了移动、旋转、缩放等因素。在Leap设备的可视范围内移动手指表示移动,旋转、弯曲或者倾斜你的手表示旋转,是手指或者工具相对或者相对的移动表示缩放。手的动作是通过比较手在当前frame的属性和较早的frame相比较产生的,手动作的属性包括:AdirectionvectorRota/tionAxisAdirectionvectorexpressingtheaxisofrotation.RotationAxis一个方向向量来表示旋转RotationAxis一个方向向量来表示旋转的轴RotationAngle—Theangleofrotationclockwisearoundtherotationaxis(usingtheright一handrule)•RotationAngle沿着旋转轴顺时针所转动RotationAngle沿着旋转轴顺时针所转动的角度(使用右手定则)RotationMatrixAtransformmatrixRotationMatrixAtransformmatrixexpressingtherotation.RotationMatrix 个表达旋转的变化矩

阵ScaleFactor—Afactorexpressingexpansionorcontraction.ScaleFactor 个表达收缩或者放大的因Translation——Avectorexpressingthelinearmovement.Translation个表达线型移动的向量Translation个表达线型移动的向量3・3手指和工具列表你可以使用下面三个当中的一个来访问fingers或者tools:Pointables一BothfingersandtoolsasPointableobjects・Pointables finger和tools都是Pointable对象(下面两个继承于它)Fingers一Justthefingers.Fingers 仅仅是fingersTools一Justthetools・Tools 仅仅是tools”乐之者体感开发”你也可以使用从前一帧获取的ID值来访问fingers或者tools,使用Hand,finger(),Hand,tool()或者如果你不需要区分这两者的话可是使用Hand,pointtable()方法。4.手指和工具的模型在Leap设备可视区域里面可以识别并绑定手指和类似手指的工具。Leap设备将像手指的对象通过形状归为tools。工具对手指来说更长、更瘦、更值。IntheLeapmodel,thephysicalcharacteristicsoffingersandtoolsareabstractedintoaPointableobject・Fingersandtoolsaretypesofpointableobjects・Thephysicalcharacteristicsofpointableobjectsinclude:在Leap模型里面。手指或者工具的物理特性被抽象问Pointable对象。并且fingers和tools是pointable对象类型的。Pointable

对象的物理特性包括:Length—Thelengthofthevisibleportionoftheobject(fromwhereitextendsoutofthehandtothetip)・Length一一这个可以被看见的物体的长度(从手里陈出来到指尖)Width—Theaveragewidthofthevisibleportionoftheobject・Width一一可是物体的平均宽度Direction—Aunitdirectionvectorpointinginthesamedirectionastheobject(i・e・frombasetotip).Direction 个和物体所指的方向一样的单位方向向TipPosition—ThepositionofthetipinmillimetersfromtheLeaporigin.TipPosition多少毫米TipPosition多少毫米末梢的位置距离Leap设备TipVelocity—Thespeedofthetipinmillimeterspersecond・TipVelocity——末梢以毫米每秒的移动速

手指的TipPositionandDirection向量为我们提供了手指末梢的位置和手指所指的方向。Leap设备将所绑定的物体分为手指或者工具。使用Pointable.isTool属性就可以判断这个绑定的物体是手指还是工具了。工具跟手比起来更长、更细、更直。Leap设备作为手势分析某一个运动模式,这个运动模式里面可能包含了用户的想法或者命令。设备响应在frame中观察到的手势和相应手指绑定数据和手是一样的。对于每一个观察到的手势,设备就会在frame中放置一个Grsture对象。你可以从Framegestures列表中获取这个对象。以下运动模式能够被Leap所识别。Circle—Asinglefingertracingacircle.Circle——单一的手指被或者旋转一周Swipe-一Alinearmovementofthehand.Swipe 个手的直线运动点击Leap设备能够分析两种类型的点击:向下的KeyTap和向前的ScreenTapKeyTap—■Atappingmovementbyafingerasiftappingakeyboardkey・KeyTap 种就像点击键盘的点击运动ScreenTap—Atappingmovementbythefingerasiftappingaverticalcomputer

screen.ScreenTap种点击运动就像点击一个screen.ScreenTap种点击运动就像点击一个虚拟的电脑屏幕当Leap设备首先将一个运动模式分类为手势的时候,首先对Frame里面添加了一个Gesture对象。如果这个手势持续到结束时间。Leap就对在随后的Frame里面更新这个Gestures对象。手势Circle和Swipe是连续的,设备在每一帧都更新手势的进度。点击是分离的手势。设备响应点击是使用了一个单独的Gesture对象。重要的是:在在你的应用程序使用手势之前,你需要开启每一个你需要用的手势。在Controller类中有一个方法Enab1eGesture()你可以使用它来开启你需要用到的手势。Circle设备识别一个手指头画一个作为设备识别一个手指头画一个作为Circle手势。手指画圈动作你可以使用手指或者工具画圈。Cirlce手势是一个连续性的手势,一旦手势开始,设备就开始更新进度知道手势结束。Circle手势在画完或者背离圆弧轨迹或者画的太勺滑动设备认为一个手指线性移动是Swipe手势。”乐之者体感开发”一个水平滑动的手势你可以使用任何一个手指在任何方向上做一个平滑的手势。平滑的手势也是连续性的手势。一旦手势开始,Leap设备就会一直更新这个手势的进度直到结束。一个平滑移动的手势的结束包括改变了移动方向或者移动的太慢。点击设备识别两种类型的点击:向下点击和向前点击(KeyTap和ScreenTap)

设备识别一种快速的向下的手指或

温馨提示

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

评论

0/150

提交评论