Leap Motion API类库:Finger

原创
2016/01/28 12:41
阅读数 423

1. Finger:继承Pointable()

    跟踪手指,获取有效Pointable手指对象,对应5根手指性能,如速度,连续等,Pointable.valid()属性测试

var hand = frame.hands[0];
var finger = hand.fingers[0];

    (1)属性:

    Finger.bones:Bone[]--含有手指骨的数组,手指的骨头从手腕到手指尖点(掌骨、近端,中间,和远端)。

    Finger.carpPosition:number[]--表示位置向量的3个参数,对手指的掌骨底端的物理位置(靠近手腕)。

    Finger.dipPosition:number[]--同上,手指远侧指间关节的物理位置。这一点是远端骨基(接近中间指骨)。

var position = finger.dipPosition;
console.table(position);

    Finger.distal:Bone(),手指的末节(骨最远处)。

    Finger.medial:Bone(),手指中间骨

    Finger.extended:boolean,如果手指是指向,或延伸等姿势

var extendedFingers = 0;
    for(var f = 0; f < hand.fingers.length; f++){
        var finger = hand.fingers[f];
        if(finger.extended) extendedFingers++;}console.log("Extended fingers: " + extendedFingers);

    Finger.mcpPosition:number[]--3个位置参数,掌、指骨间关节。

var position = finger.mcpPosition;
console.table(position);

    Finger.metacarpal:Bone(),手掌的骨头

    Finger.pipPosition:number[]--3个位置参数,近端和中间指骨间关节。

var position = finger.pipPosition;
console.table(position);

    Finger.proximal:Bone(),手指近节指骨

    Finger.type:integer--一个表示手指名的代码,0,1,2,3,4,代表拇指---小指,

var nameMap = ["thumb", "index", "middle", "ring", "pinky"];
var fingerName = nameMap[finger.type];

    (2)类属性

    Finger.invalid:Finger,一个无效的手指对象。

function findStubbyFinger(frame){
    for(var f = 0; f < hand.fingers.length; f++){
        var finger = hand.fingers[f];
        if(finger.length <= finger.width * 2.5) return finger;
    }
    return Leap.Finger.invalid;}

    

展开阅读全文
打赏
1
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
1
分享
返回顶部
顶部