体感控制器:

识别:手,手指和工具,获取位置,手势,动作

范围:倒金字塔,塔尖在设备中心,2.5cm~0.6米

坐标系统:采用右手笛卡尔积坐标系,返回的数值:毫米

摆放:绿灯朝向自己,z轴距离屏幕越来越远,z轴的正值不断增加,x,y在器件的水平处,摆放的时候注意

运动追踪数据:由于Leap Motion设备最终在它视野中的手、手指和工具,它提供一组数据集更新,或者是帧,或者是数据。每帧数据包含一个基本追踪数据列表,如手、手指和工具,也包括识别出的手势和描述场景中的运动因素。但检测到手、手指和工具或手势时,Leap Motion'软件为它分配一个唯一的ID指示符。只要这个实体一直存在于设备可视范围内,这个ID指示符就保持不变[和Kinect的骨骼追踪的ID是一致的]。如果追踪目标丢失或者失而复得,Leap Motion软件会分配一个新的ID(软件无法知道手、手指是否和之前看到的一样)

[也就是说,不包含手指识别啦,和Kinect的骨骼追踪在丢失后情况完全一致]。 帧  一个帧对象提供追踪数据、手势和在Leap Motion可视范围内的整体运动因素的列表。

可以通过之前帧中获取的ID来访问单独的手指和工具。使用Hand::finger(),hand::tool(),或者你不需要区分手指和工具,使用Hand::pointable()函数。这些函数返回当前帧中物体的引用。如果手指和工具在此帧中,没有和手关联,那么返回一个无效的对象

重要:在你的应用使用手势之前,你必须把每种所需要识别的手势开启。控制类有一个enableGesture()方法让你开启特定的手势识别。[也就是一开始都是关闭的,不开没法用

  1. 圈Circle----一个手指头画圆。

用任何手指和工具画圈。圈手势是持续的。一旦这个手势开始,Leap Motion就会持续更新状态直到停止。但手指或者工具远离了轨迹或者运动太缓慢,圈手势则终止。

可以从CircleGesture的接口函数参考中看到更多的信息

  1. 挥动Swipe----手的线性运动。

可以用任意手指在任意方向上作挥手手势。挥手手势是持续的。一旦手势开始,Leap Motion机会更新状态直到手势结束。当手指变换了方向或者运动太缓慢时,挥手手势结束。可以参考SwipeGesture的接口函数文档

  1. 按键点击按键Key Tap-----手指点击运动,就像按下键盘一样。

你可以像按下钢琴键那样产生一个按键点击手势。按键点击手势时离散的。只有一个独立的手势对象会被添加到点击手势。  从KeyTapGesture接口函数可以看到更多的信息。

  1. 屏幕点击Screen Tap----对电脑屏幕方向进行垂直点击。 、

可以往前点击或者把手推向前方来产生一个屏幕点击,就像触摸一个与你垂直的屏幕。点击手势是离散的,只有一个独立的手势对象会被添加到点击手势。  可以在ScreenTapGesture的接口函数看到更多的信息

但Leap Motion把一个运动识别测很难过一个手势模式,它把手势对象加入帧中。如果手势重复数次,Leap Motion会把更新手势对象不断添加到随后的帧中。画圈和挥手的手势都是持续的。Leap Motion为程序在每帧中持续更新这些手势。点击时离散的手势。Leap Motion把每次点击作为独立的手势对象报告

Leap Motion可以识别的运动模式:以上

RotationAxis — 旋转轴的方向.

RotationAngle —顺时针旋转的角度

RotationMatrix — 描述旋转的矩阵.

ScaleFactor — 表达碰撞或者收缩的因素

Translation — 线性移动的因素

注意:

对于dblclick设置的js,手势的时候好像不起作用,改为click就可以了

Leap motion定位的是某个id的位置的x,y

下面script里面改的话,尽量不要写成document.getElementById("XX").click();,关闭的话,只有一个id的样式起作用,而

getElementsByClassName就固定不动了

改为$(".window_close").click();  jquery的形式就行了

选择指定的元素进行设置

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

</head>

<body>

<!--JQ代码:JQ选择器$('.ttt p:eq(0)') 表示class="ttt"的子元素中的第一个P元素; $('.ttt p:eq(1)')表示第二个,依此类推。。。-->

<script type="text/javascript">

$(document).ready(function () {

$('.ttt p:eq(1)').css('float', 'left');

$('.ttt p:eq(2)').css('float', 'right');

});

</script>

<!--

如需加触发按钮就把上面的JQ代码换成

$(document).ready(function(){

$(".click").click(function(){

$('.ttt p:eq(1)').css('float', 'left');

$('.ttt p:eq(2)').css('float', 'right');

});

});

-->

<!--触发按钮-->

<div class="click">click</div>

<div class="ttt">

<p>aaa</p>

<p>bbb</p>

<p>ccc</p>

</div>

</body>

</html>

leap motion的更多相关文章

  1. HTC Vive 与Leap Motion 出现位置错误的问题

    Leap Motion已经支持VR, 但是官方没有支持HTC Vive的例子. 按照官方的文档, 其实是有问题的: https://developer.leapmotion.com/documenta ...

  2. Leap Motion发布新平台,直击下一代移动端VR/AR手部追踪

    2013年,动作捕捉技术公司Leap Motion发布了面向PC的体感控制器,不过销量并不乐观.随着2014年虚拟现实技术的再一次兴起,它发布一款用于Oculus Rift的附加设备,从而正式登上VR ...

  3. Unity3D中使用Leap Motion进行手势控制

    Leap Motion作为一款手势识别设备,相比于Kniect,长处在于准确度. 在我的毕业设计<场景漫游器>的开发中.Leap Motion的手势控制作为重要的一个环节.以此,谈谈开发中 ...

  4. Leap Motion 开发笔记

    Leap Motion 体系架构 Leap Motion支持所有主流操作系统,leap motion在Windows系统下是作为一个服务运行的,在Mac和Linux是后台守护进程.软件通过USB线连接 ...

  5. Ventuz配置Leap Motion环境

    1.下载Leap Dev Kit 前往官网www.leapmotion.com,下载相应平台的开发包,目前PC版的最新版本为2.3.1. SDK里包含了Leap Motion的安装包,上图第二个.安装 ...

  6. 基于unity3d和leap motion的拼图游戏

    近期用unity3d引擎做了一个拼图游戏,会分几次写完,以此作为总结. 本文基本查找了网上能查到的全部资料作为參考.也算是大家节省了时间. 眼下仅仅完毕了拼图部分,leap motion手势控制部分会 ...

  7. Leap Motion 上手体验

    很早之前就关注了Leap Motion这个颠覆性的体感操作设备,如今7月22日上市至今已经一个月左右,淘宝的价格也已经降到650元,虽说相对国外还是偏贵,但是已经忍不住尝尝鲜了. Leap Motio ...

  8. 【VR】Leap Motion 官网文档 FingerModel (手指模型)

    前言: 感谢关注和支持这个Leap Motion系列翻译的朋友们,非常抱歉因为工作原因非常久没有更新,今后这个翻译还会继续(除非官方直接给出中文文档).本篇献给大家的是 <FingerModel ...

  9. 十大最佳Leap Motion体感控制器应用

    十大最佳Leap Motion体感控制器应用   Leap Motion Controller也许还没有准备好大规模的发售,但是毫无疑问,这款小巧的动作捕捉器是我们见过的最酷的设备之一.这款设备的硬件 ...

随机推荐

  1. c++ map删除元素

    typedef std::map<std::string,float> StringFloatMap; StringFloatMap col1; StringFloatMap::itera ...

  2. TYVJ P1070 罗马数字 Label:一定要看的枚举

    描述 一类书的序言是以罗马数字标页码的.传统罗马数字用单个字母表示特定的数值,以下是标准数字表: I 1  L 50  M 1000V 5  C 100X 10 D 500最多3个同样的可以表示为10 ...

  3. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,还是在return之后执行?

    这是一个很有趣的问题,我测试的结果是:是在return中间执行. 我在网上搜寻了一些资料,下面是参考代码: /** * */ package com.b510.test; /** * try {}里有 ...

  4. FreeMarker教程

    一.什么是模板引擎,为什么要用模板引擎 在B/S程式设计中,常常有美工和程序员二个角色,他们具有不同专业技能:美工专注于表现——创建页面.风格.布局.效果等等可视元素:而程序员则忙于创建程式的商业流程 ...

  5. SSH整合所需的jar包

    Spring3.1+Hibernate3+Struts2的最新整合所需要的jar包 Spring的基本jar包: 1.org.springframework.web-3.1.4.RELEASE.jar ...

  6. imread() not working in OpenCV 2.4.11 Debug mode

    The OpenCV function imread() not working in OpenCV 2.4.11 Debug mode of VS2010 under Win32, the way ...

  7. thinkphp的html模板中if的使用

    写的时候正好出错,我就纠结是{if}还是手册中的<if condition>,当然我使用的是手册中的用法,但是点击按钮时候还是没展开(if后的条件没执行).如图 试了好多写法,也检查了多次 ...

  8. PHP统计字符串里单词查询关键字

    <?function full_count_words($str) {     //返回完整数组,包含字符串里每个单词 $words = str_word_count($str,1);     ...

  9. 根据BIOS信息修改主机名

    Dell: Rename-Computer -NewName ("CNHZPD-" + (Get-WmiObject -class win32_Bios).SerialNumber ...

  10. SQL阻止保存要求重新创建表的更改 在哪里设置

    ef生成的数据表,有数据,设计的时候,想把某个字段改成可为null. 报 “阻止保存要求重新创建表”错误 百度一下: 修改数据库表结构时提示[不允许保存更改.您所做的更改要求删除并重新创建以下表.您对 ...