1.InteractionBox
interactionbox类表示一个可视的,完全在Leap Motion控制器内的,盒子形状的区域
这个交互的盒子是一个轴对齐的矩形棱镜,在这个盒子中,提供了标准化的手,手指和工具,及他们的坐标。
可以使它更容易在二维或三维坐标系中应用绘图。
interactionbox区域由一个中心沿X,Y和Z轴的定义。
下面的例子演示了如何使用InteractionBox将一个手指的坐标映射到绘图画布的区域中:
<canvas id="displayArea" width="200" height="100" style="background:#dddddd;"></canvas>
<script>
var canvasElement = document.getElementById("displayArea");
var displayArea = canvasElement.getContext("2d");
var controller = new Leap.Controller();
controller.on("frame", function(frame){
if(frame.pointables.length > 0)
{
canvasElement.width = canvasElement.width; //clear
//Get a pointable and normalize the tip position
var pointable = frame.pointables[0];
var interactionBox = frame.interactionBox;
var normalizedPosition = interactionBox.normalizePoint(pointable.tipPosition, true);
// Convert the normalized coordinates to span the canvas
var canvasX = canvasElement.width * normalizedPosition[0];
var canvasY = canvasElement.height * (1 - normalizedPosition[1]);
//we can ignore z for a 2D context
displayArea.strokeText("(" + canvasX.toFixed(1) + ", " + canvasY.toFixed(1) + ")", canvasX, canvasY);
}
});
controller.connect();
</script>
(1)构造器 InteractionBox()
可以不创建自己的interactionbox对象。从框架得到了有效的interactionbox。interactionbox()。
此构造函数创建无效interactionbox的对象。