InteractionBox – Leap Motion API

官方提供的信息
1.Leap Motion的API提供了一个交互箱子类(IneractionBox)。代表了Leap Motion控制器可视区域内的完整的盒型区域。这个InteractionBox类描述Leap Motion视野中的线性物体运动。
2.InteractionBox是一个轴对齐的矩形棱柱,并提供区域内手、手指和工具的标准化坐标。该InteractionBox类可以更容易地将Leap Motion的设备坐标映射在用于2D或3D应用绘图的坐标系。这个类把物体范围中的坐标归一化到[0,1]范围内。你可以归一化一个距离,并且根据应用尺寸,把结果坐标进行缩放,来获取一个在应用中的坐标。

也就是说,这个类的作用在于更方便的将设备坐标转换成应用坐标或屏幕坐标。

具体的转换方法
通俗点讲,就是:
1.先将设备坐标(根据在BOX中的相对位置)转换成[0,1]区间的一个值。
2.将上一步得到的值根据屏幕或窗体的分辨率换算成屏幕坐标。
Continue Reading…

Leap Motion I/O GUI – Qt Sample

其实我对于GUI的理解一直都是一种更为直观友好的输入输出界面。程序的本质还是离不开I/O。

所以我在用Qt写Leap Motion程序最简单的逻辑就是把什么数据输出出来,然后把什么数据输入进去。

输出(Output):
1.把原本应该控制台输出的信息在GUI上输出出来。
2.获取某些设置的键值,在GUI上输出出来。
3.获取某根手指的空间坐标,在GUI上输出出来。

输入(Input):
1.将应用程序设置为允许后台接收数据。
2.更改某个特定的键值。
Continue Reading…

Leap Motion PPT Controller – Leap Motion Sample

一直想用这个玩意做一个PPT控制器的,无论是项目汇报还是PPT答辩的时候不用鼠标键盘不用激光笔不用翻页器那个效果会是杠杠的!

接触这个设备后发现还是很容易实现的。相比用PPT的宏编程,我的思路是用系统的API,通过检测不同的手势,发送不同的系统消息。

这里用到的有:
1.keybd_event(Windows API),键盘事件的API。
2.Sleep()函数。将执行挂起一段时间,括号内为时间,单位为毫秒。
Continue Reading…