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. 2015.10.15class

    #include<stdio.h> main() { int a; printf("你的智商是多少?\n"); scanf("%d",&a) ...

  2. RadioButtonList的使用

    前台绑定: <asp:RadioButtonList ID="hlBatchYuJi" runat="server" RepeatColumns=&quo ...

  3. markdown 语法测试

    understanding the linux kernel 绪论 linux支持.硬件依赖.版本 基于微内核的方法 支持内核线程 多线程应用支持 抢占式内核 硬件依耐性 file descripto ...

  4. html5高级

    Html5高级 项目回顾 Day 01 第三阶段知识体系: (1)AJAX异步请求 数据库.PHP.HTTP.原生AJAX.jQuery中的AJAX (2)HTML5高级特性 九大新特性 (3)Boo ...

  5. [BCB] C++ Builder 绘图 绘制直线 —— 基于像素

    大三的这前半个学期了,又遇上了这个精通(滑稽) Delphi的老师,人还挺好的其实. 关于他对分辨率的吐槽呀,对Delphi的赞美啊,都是非常幽默的.另外我倒是很欣赏他对他的笔记本的保养[dell i ...

  6. 解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客 http://hsj69106.blog.51cto.com/1017401/595598/

    解决Eclipse中文乱码 - 技术博客 - 51CTO技术博客  http://hsj69106.blog.51cto.com/1017401/595598/

  7. Examples of complexity pattern

    O(1):constant - the operation doesn't depend on the size of its input, e.g. adding a node to the tai ...

  8. 微信在IOS7下无法分享图片

    家里老大的iphone5在WWDC后第一时间升级了IOS7. 整体的UI风格和功能都很喜欢, 偶尔的crash还能接受. 但是最常用的软件之一微信,在IOS7下无法分享图片这点一直让她耿耿于怀. 从用 ...

  9. 数据注解和验证 – ASP.NET MVC 4 系列

           不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行.客户端验证能即时给出一个错误反馈(阻止请求发送至服务器),是时下 Web 应用程序所期望的特性.服务器端验证,主要是因为来自网 ...

  10. time 模块

    import time导入时间模块print(time.strftime("%Y-%m-%d %X"))其中 time.strftime("Y-%m-%d")输 ...