LeapMotion教程之手势识别_第1页
LeapMotion教程之手势识别_第2页
LeapMotion教程之手势识别_第3页
全文预览已结束

下载本文档

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

文档简介

1、关于 Leap Motion 的预览 概括预览: 坐标系统 动作捕捉数据 帧 绑定数据列表 帧动画 手模型 手属性 手的动画 手指和工具列表 手指和工具模型 手势 画圈 划过 点击 按键类型点击 屏幕类型点击 3.手模型 这个 手模型 提供了被绑定的手的位置信息、特点以及运动方式。并且还包括了手指或者手上的工具的所有和手关联的东西的信息。 LeapAPI 尽可能多的提供关于手的信息。但是,Leap 不能够确定每一帧所有属性。比如当你的手突然攥成了拳头,这个时候,它上面的所有的手指是不能用了,手指的 list 就成了空。所以你的程序需要对这种情况最一个检测。 Leap 设备不能确定某一个手是左手

2、还是右手,多于两个手出现都可以放到 list 里面去,如果不止一个人将手放进来, 或者有一个像手的物体。然而还是建议最多两个手来保证动作步骤的质量。 3.1 Hand 类属性 Hand 对象提供了几个属性来反映绑定后的手的物理特性: PalmPosition The center of the palm measured in millimeters from the Leap origin. PlamPosition手掌中心到 Leap 设备原点以毫米测量的距离 PalmVelocity The speed of the palm in millimeters per second. Pal

3、mVelocity以 毫米每秒为单位的手掌移动的速度。 PalmNormal一个向量,这个向量是垂直于手掌所形成的平面的。并且向量从手掌出来指向下。 Direction一个向量,从手掌指向手指的方向。 SphereCenter适合手弯曲后曲率的一个球的中心(就像用手握住一个球一样) SphereRadius The radius of a sphere fit to the curvature of the hand. The radius changes with the shape of the hand. SphereRadius适合手弯曲后曲率的一个球的半径,这个半径随着手的形状而变化

4、。 direction 和 PalmNormal 是一个单位向量,描述了手相对于 Leap 设备的坐标系统。 PalmNormal 向量指向了手掌的垂直向外的方向。Direction 向量指向前。 我们手握住的时候,就好象有一个球在手里,SphereCenter 和 SphereRadius 就描述了这样一个球的中心和半径,这个球的曲率随着我们的手变化。 3.2 手的动作 Hand 对象也提供了一些属性来反映绑定的手在 frames 中的动作。Leap 设备分析手的动作就像分析手指和工具的并且代表了移动、旋转、缩放等因素。在 Leap 设备的可视范围内移动手指表示移动,旋转、弯曲或者倾斜你的手

5、表示旋转,是手指或者工具相对或者相对的移动表示缩放。 手的动作是通过比较手在当前 frame 的属性和较早的 frame 相比较产生的,手动作的属性包括: RotationAxis A direction vector expressing the axis of rotation. RotationAxis一个方向向量来表示旋转的轴 RotationAngle The angle of rotation clockwise around the rotation axis using the right-hand rule. RotationAngle沿着旋转轴顺时针所转动的角度(使用右手定

6、则) RotationMatrix A transform matrix expressing the rotation. RotationMatrix一个表达旋转的变化矩阵 ScaleFactor A factor expressing expansion or contraction. ScaleFactor一个表达收缩或者放大的因素 Translation A vector expressing the linear movement. Translation一个表达线型移动的向量3.3 手指和工具列表 你可以使用下面三个当中的一个来访问 fingers 或者 tools: Pointa

7、bles Both fingers and tools as Pointable objects. Pointablesfinger 和 tools 都是 Pointable 对象(下面两个继承于它) Fingers Just the fingers. Fingers仅仅是 fingers Tools Just the tools. Tools仅仅是 tools”乐之者体感开发” 你 也 可 以 使 用 从 前 一 帧 获 取 的 ID 值 来 访 问 fingers 或 者 tools , 使 用Hand.finger Hand.tool或者如果你不需要区分这两者的话可是使用 Hand.po

8、inttable方法。 4. 手指和工具的模型 在 Leap 设备可视区域里面可以识别并绑定手指和类似手指的工具。Leap 设备将像手指的对象通过形状归为 tools。工具对手指来说更长、更瘦、更值。 In the Leap model the physical characteristics of fingers and tools are abstracted into a Pointable object. Fingers and tools are types of pointable objects. The physical characteristics of pointable

9、 objects include: 在 Leap 模型里面。手指或者工具的物理特性被抽象问 Pointable 对象。并且 fingers 和 tools 是 pointable 对象类型的。Pointable 对象的物理特性包括: Length The length of the visible portion of the object from where it extends out of thehand to the tip. Length这个可以被看见的物体的长度(从手里陈出来到指尖) Width The average width of the visible portion o

10、f the object. Width可是物体的平均宽度 Direction A unit direction vector pointing in the same direction as the object i.e. from base to tip. Direction一个和物体所指的方向一样的单位方向向量 TipPosition The position of the tip in millimeters from the Leap origin. TipPosition末梢的位置距离 Leap 设备多少毫米 TipVelocity The speed of the tip in

11、millimeters per second. TipVelocity末梢以毫米每秒的移动速度 手指的 TipPosition and Direction 向量为我们提供了手指末梢的位置和手指所指的方向。 Leap 设备将所绑定的物体分为手指或者工具。使用 Pointable.isTool 属性就可以判断这个绑定的物体是手指还是工具了。 工具跟手比起来更长、更细、更直。5. 手势 Leap 设备作为手势分析某一个运动模式,这个运动模式里面可能包含了用户的想法或者命令。设备响应在 frame 中观察到的手势和相应手指绑定数据和手是一样的。对于每一个观察到的手势,设备就会在 frame 中放置一个

12、 Grsture 对象。你可以从 Frame gestures 列表中获取这个对象。 以下运动模式能够被 Leap 所识别。 Circle A single finger tracing a circle. Circle单一的手指被或者旋转一周 Swipe A linear movement of the hand. Swipe一个手的直线运动 点击 Leap 设备能够分析两种类型的点击:向下的 KeyTap 和向前的 ScreenTapKey Tap A tapping movement by a finger as if tapping a keyboard key. KeyTap 一种就

13、像点击键盘的点击运动Screen Tap A tapping movement by the finger as if tapping a vertical computer screen. ScreenTap一种点击运动就像点击一个虚拟的电脑屏幕 当 Leap 设备首先将一个运动模式分类为手势的时候,首先对 Frame 里面添加了一个Gesture 对象。如果这个手势持续到结束时间。Leap 就对在随后的 Frame 里面更新这个Gestures 对象。手势 Circle 和 Swipe 是连续的,设备在每一帧都更新手势的进度。点击是分离的手势。设备响应点击是使用了一个单独的 Gesture

14、 对象。 重要的是:在在你的应用程序使用手势之前,你需要开启每一个你需要用的手势。在Controller 类中有一个方法 EnableGesture 你可以使用它来开启你需要用到的手势。 Circle 画圈 设备识别一个手指头画一个圈作为 Circle 手势。 手指画圈动作 你可以使用手指或者工具画圈。Cirlce 手势是一个连续性的手势,一旦手势开始,设备就开始更新进度知道手势结束。Circle 手势在画完或者背离圆弧轨迹或者画的太慢。 滑动 设备认为一个手指线性移动是 Swipe 手势。”乐之者体感开发” 一个水平滑动的手势 你可以使用任何一个手指在任何方向上做一个平滑的手势。平滑的手势也是连续性的手势。一旦手势开始,Leap 设备就会一直更新这个手势的进度直到结束。一个平滑移动的手势的结束包括改变了移动方向或者移动的太慢。 点击 设备识别两种类型的点击:向下点击和向前点击(KeyTap 和 ScreenTap) 键盘点击 设备识别一种快速的向下的手指或者工具的移动作为 KeyTap。

温馨提示

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

评论

0/150

提交评论