Leap Motion API类库:InteractionBox

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的对象。

转载于:https://my.oschina.net/chumingcheng/blog/610951

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值