- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Leap Motion JS API整理文档概要1
LeapMotion文档
Introducing the Skeletal Tracking Model:
LeapMotion2.0API引入一个新的骨骼追踪模型,提供了关于手和手指额外信息并提高了整体的数据追踪水平。
通过对人手掌的建模,LeapMotipn能够更好的预测视野中手和手指的位置。五根手指总是出现跟随手掌出现,两手交叉也同样能被追踪到。为了控制器也需要能够看到手指或手掌的以便能够追踪到它们精确的位置。骨模型:
Frames:
LeapJS通过运行在本地的Leap Service连接WebSocket Server工作,每隔10ms LeapService会通过WebSocket向打开的浏览器页面发送一个frame,frame是一串包含手和手指位置信息的json数据。
使用LEAP LOOP是获取frame数据的简单的方式。
Frames Objects:
Leap Motion相对应的物理单位:
距离:millimeters毫米
时间:microseconds微秒
速度:millimeters/second毫米/秒
Angle: radians
Leap Motion可以追踪的数据:
hands、arms、fingers、tools、gestures、
Hands:Leap motion利用内部的人类手的模型支持预先的追踪手掌直至超出LeapMotion的可视范围。手模型可以提供五个手指的位置,当手、和手指的轮廓是清晰可见且最佳的追踪。Leapmotion软件利用手掌的可视部分、内部的模型以及以往的观测值去计算当前其他不可见部分的位置信息。记录下隐藏在手掌中或者远离LeapMotion传感器的不被检测到的手指细微的动作。Hand.confidence返回的值反映了观测到的数据与内部模型的匹配情况。
Arms:hand.arm给出了手臂的方向、长度、宽度以及终点等数据。当肘部不在leap的视野内,LeapMotion控制器会根据过去的观测数据以及典型的人体比例估算其位置。
Fingers:LeapMotion控制器提供手掌的每一根手指的信息。如果一个手指的部分或全部是不可见的,这根手指的特征会根据最近的观测值和手的解剖模型去估算。
一个finger对象提供了一bone对象,描述了每一个结构上的手指骨头的位置和方向。所有的手指都包含四根骨头从指跟(base)到指尖(tip)。
骨头的定义:
Metacarpal (掌骨):手掌上连接手指和手腕的骨头(食指除外)
Proximal Phalanx(近节指骨):手指的根部,连接手掌。
Intermediate Phalanx(中间指骨)
Distal Phalanx(外端指骨)
这个模型的拇指不匹配标准解剖的命名系统,真实的拇指比其他的手指少一根骨头。然而,为了便于编程,LeapMotion的拇指模型包括一个零长度的掌骨,所以大拇指和其他手指有着四根骨头。结果是,大拇指的解剖掌骨被标记为近节指骨(Proximal Phalanx),而近节指骨被标记为中间指骨在LeapMotipn的手指骨模型中。
Tools:工具可以是一个类似于铅笔的物体。Tool类描述了Tools。
一个工具要比手指更长,更纤细,更笔直。只有纤细的圆柱物体才能被当做工具追踪。
Gestures:LeapMotion通过识别特定的运动模式作为手势来表明用户的意图和指令。每根手指或工具的姿势被单独的观测。LeapMotion通过一个frame告诉我们观测到的姿势以及其他的追踪到的手指和手掌的数据。Gesture类以及它的子类CircleGestures、KeyTapGesture、ScreenTapGesture、SwipeGesture描述了手势。
Motions:估算一段时间内用户的手固有的基本运动类型的改变,包括大小、旋转、和移动。Motions是计算两个两个帧(frames)之间的动作。
API Reference:
Frame
Attribute:
frame.currentFrameRate
Type: float – 帧数
返回Leap Motion控制器产生frames的即时速率
用法:var fps = frame.currentFrameRate;
frame.id 帧的唯一编号
hands[]保存探测到手的信息
tools[] 保存侦测到的tools信息
fingers[] 五根手指信息的数组对象
pointables[] 保存侦测到的fingers和tools信息
gestures[] 保存手势信息 旋转(Circle)和猛击(swipe)在每一帧中更新,轻打(Tap)只存在单独的帧中
Method:
dump() 返回json格式的字符串,包括hands、p
文档评论(0)