Leap Motion运行原理介绍.doc

Leap Motion运行原理介绍.doc

ID:27513506

大小:598.50 KB

页数:6页

时间:2018-12-04

Leap Motion运行原理介绍.doc_第1页
Leap Motion运行原理介绍.doc_第2页
Leap Motion运行原理介绍.doc_第3页
Leap Motion运行原理介绍.doc_第4页
Leap Motion运行原理介绍.doc_第5页
资源描述:

《Leap Motion运行原理介绍.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、LeapMotion运行原理介绍VR技术的关键,leapMoTIon使用的是一种基于计算机视觉原理的识别技术。目前在业内比较有代表性的就是LeapMoTIon的手势识别技术,当然这并非LeapMoTIon独有的技术,hololens上同样搭载该技术。从API的角度大概说一下。  LeapMoTIon传感器的结构:    大体上,Leap传感器根据内置的两个摄像头从不同角度捕捉的画面,重建出手掌在真实世界三维空间的运动信息。检测的范围大体在传感器上方25毫米到600毫米之间,检测的空间大体是一个倒四棱锥体。  首先,LeapMotion传感器会建立一个直

2、角座标系,座标的原点是传感器的中心,座标的X轴平行于传感器,指向屏幕右方。Y轴指向上方。Z轴指向背离屏幕的方向。单位为真实世界的毫米。如图:    在使用过程中,LeapMotion传感器会定期的发送关于手的运动信息,每份这样的信息称为“帧”(frame)。每一个这样的帧包含检测到的:  所有手掌的列表及信息;  所有手指的列表及信息;  手持工具(细的、笔直的、比手指长的东西,例如一枝笔)的列表及信息;  所有可指向对象(PointableObject),即所有手指和工具的列表及信息;  Leap传感器会给所有这些分配一个唯一标识(ID),在手掌、手

3、指、工具保持在视野范围内时,是不会改变的。根据这些ID,可以通过Frame::hand(),Frame::finger()等函数来查询每个运动对象的信息。  Leap可以根据每帧和前帧检测到的数据,生成运动信息。例如,若检测到两只手,并且两只手都超一个方向移动,就认为是平移;若是像握着球一样转动,则记为旋转。若两只手靠近或分开,则记为缩放。所生成的数据包含:  旋转的轴向向量;  旋转的角度(顺时针为正);  描述旋转的矩阵;  缩放因子;  平移向量;  对于每只手,可以检测到如下信息:  手掌中心的位置(三维向量,相对于传感器座标原点,毫米为单位)

4、;  手掌移动的速度(毫米每秒);  手掌的法向量(垂直于手掌平面,从手心指向外);  手掌朝向的方向;  根据手掌弯曲的弧度确定的虚拟球体的中心;  根据手掌弯曲的弧度确定的虚拟球体的半径;  其中,手掌的法向量和方向如下图所示:    “手掌球”的圆心和半径:    对于每个手掌,亦可检测出平移、旋转(如转动手腕带动手掌转动)、缩放(如手指分开、聚合)的信息。检测的数据如全局变换一样,包括:  旋转的轴向向量;  旋转的角度(顺时针为正);  描述旋转的矩阵;  缩放因子;  平移向量;  Leap除了可以检测手指外,也可以检测手持的工具。像上文所

5、说的,就是细的、笔直的、比手指长的物件:    对于手指和工具,会统一地称为可指向对象(PointableObject,抱歉不太会翻译),每个PointableObject包含了这些信息:  长度;  宽度;  方向;  指尖位置;  指尖速度;  方向和指尖位置如下图:    根据全局的信息、运动变换,手掌、手指和工具的信息和变换,开发者就可以靠这些来制作游戏、程序了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。