div#canvas-frame{
border: none;
cursor: pointer;
width: 100%;
height: 800px;
background-color: #EEEEEE;
}

var canvasframe;
var renderer;
var camera;
var scene;
var light;
var cube;
var width;
var height;
var X,Y,Z,DX,DY,DZ;

function initThree() {
canvasframe = document.getElementById('canvas-frame');
width = canvasframe.clientWidth;
height = canvasframe.clientHeight;
renderer = new THREE.WebGLRenderer({antialias: true});
renderer.setSize(width, height );
canvasframe.appendChild(renderer.domElement);
renderer.setClearColorHex(0xFFFFFF, 1.0);
}

function initCamera() {
camera = new THREE.PerspectiveCamera( 45 , width / height , 1 , 10000 );
camera.position.x = 0;
camera.position.y = 0;
camera.position.z = 200;
camera.up.x = 0;
camera.up.y = 1;
camera.up.z = 0;
camera.lookAt( {x:0, y:0, z:0 } );

}

function initScene() {
scene = new THREE.Scene();
}

function initLight() {
light = new THREE.DirectionalLight(0xFF0000, 1.0, 0);
light.position.set( 100, 100, 200 );
scene.add(light);
}

function initObject(){
cube = new THREE.Mesh(
new THREE.CubeGeometry(20,20,20),
new THREE.MeshLambertMaterial({color: 0xff0000})
);
scene.add(cube);
cube.position.set(0,0,0);
}
function threeStart() {
initThree();
initCamera();
initScene();
initLight();
initObject();
renderer.clear();
Leap.loop(function(frame) {
if (frame.tools.length > 0) {
X = frame.tools[0].tipPosition[0];
Y = frame.tools[0].tipPosition[1];
Z = frame.tools[0].tipPosition[2];
DX = frame.tools[0].direction[0];
DY = frame.tools[0].direction[1];
DZ = frame.tools[0].direction[2];
updateScene(frame);

renderer.render(scene, camera);
}
});

}

function updateScene(frame) {
cube.position.x = X;
cube.position.y = Y - 200;
cube.position.z = Z;
//cube.orientation.x = DX;
}

半年前订的leap终于在生日当天送到了~感觉精度和稳定性能都不错,FOV小了点(settings好像可以调高度),度量单位是毫米。待改进的当然是手势识别和遮挡估计,手掌的orientation在遮挡的时候出现了和kinect一样的问题...嘛,从graphics角度讲只要有多个sensor就可以无死角了,并不是什么大问题...

这个测试页面里只识别一个tool(我推荐用筷子,手指是不行的),手指手掌的识别类似就不做了。对着屏幕手舞足蹈了一晚上之后以为,目前能保证质量和效果的leap的正确打开方式就是用筷子戳(精度确实厉害,把脉搏的振动都体现出来了)...感觉要作为VR设备使用的话,果然还是应该把leap贴在脸上配合rift使用...相当于头顶kinect+google glass的感觉吧...

第一个Leap Motion测试页面 (webgl/three/leapjs/leap)的更多相关文章

  1. Leap Motion 开发笔记

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

  2. Selenium简单测试页面加载速度的性能(Page loading performance)

    利用selenium的可以执行javascript脚本的特性,我写了一个java版本的获得页面加载速度的代码,这样你就可以在进行功能测试的同时进行一个简单的测试页面的加载速度的性能测试. 我现在的项目 ...

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

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

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

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

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

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

  6. leap motion

    体感控制器: 识别:手,手指和工具,获取位置,手势,动作 范围:倒金字塔,塔尖在设备中心,2.5cm~0.6米 坐标系统:采用右手笛卡尔积坐标系,返回的数值:毫米 摆放:绿灯朝向自己,z轴距离屏幕越来 ...

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

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

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

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

  9. 测试页面,页面里边一次加载50张不同的图片,每张5M以上,查看浏览器的内存使用情况

    测试页面 1.需要你写个测试页面,页面里边一次加载50张不同的图片,每张5M,查看浏览器的内存使用情况 2.可以10张 递增的方式测试 3.图片需要缩放,比如所有图片缩放成600*800的比例 目的 ...

随机推荐

  1. C# 获取 oracle 存储过程的 返回值

    存储过程 CREATE OR REPLACE PROCEDURE ADMIN.INSERT_OBJ ( OBJEFIRT_parms IN NVARCHAR2, OBJEDATT_parms IN N ...

  2. 使用Quartz.net动态设置定时时间问题

    关于使用Quartz.net就不用解释了.. 应客户需求问题..需要将做一个界面设置定时的时间.因此我在百度一番..用CronExpression类可以设置时间... 我知道这个类有定义好的字段..不 ...

  3. iOS 自定义选项卡-CYLTabBarController

    正常的选项卡流程 cocoapods就不说了 创建一个CYLTabBarControllerConfig类 #import <Foundation/Foundation.h> #impor ...

  4. Python循环语句

    1.Python循环类型 1.while循环:在某条件下,循环执行某段程序 a. while语句有两个重要命令:continue,break来跳出循环. continue用来跳出该次循环 break用 ...

  5. PHP代码实用片段

    一.黑名单过滤 function is_spam($text, $file, $split = ':', $regex = false){ $handle = fopen($file, 'rb'); ...

  6. linux软raid练习

    创建一个空间大小为10G的raid5,要求其chunk为1024k,格式为ext4文件系统,开机可自动挂载至/backup目录,并支持acl功能: 1 2 3 4 5 6 7 8 9 10 11 12 ...

  7. Chromuim proxy Api 提取代里proxy调用Chrome隐身多窗口 多COOKIE 工具

    Chromuim proxy Api提取proxy调用Chrome隐身 多COOKIES 多窗口工具每一个代理拥有一个独立的窗口和USERDATA 独立COOKIES 伪装UA UA:<scri ...

  8. 听桶哥讲session和cookie

    首先,cookie和session是什么关系? 他们的关系很简单,利用和被利用的关系. 话说,由于http协议的无状态特性,同一client两个不同的请求之间完全独立,没有很好的办法进行一些数据共享, ...

  9. Mysql(一)

    一.Mysql简介 Mysql是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下.特点:其体积小.速度快.开源. 分为社区办和商业版,其社区版性能卓越. 二.Ubun ...

  10. js实现光标位置置后

    //定位div(contenteditable = "true"),上传图片后,光标移到输入框后面 function po_Last_Div(obj) { if (window.g ...