LeapMotion开发(五)-- Hand模块下的所有Methods用法和说明(下篇)(C++SDK)

官方C++ SDK介绍地址:

https://developer.leapmotion.com/documentation/cpp/api/Leap.Hand.html#cppclass_leap_1_1_hand_1aa2c9cca797fde17bf7371451a297e608

 

本文是就着英文版官方说明给出了翻译以及自己的理解,Hand模块总共分为了两块,这里为下篇。

 

目录概览:

 

·        pinchDistance()const

·        pinchStrength()const

·        pointable(int32_tid) const

·        pointables()const

·        rotationAngle(constFrame &sinceFrame) const

·        rotationAngle(constFrame &sinceFrame, const Vector &axis) const

·        rotationAxis(constFrame &sinceFrame) const

·        rotationMatrix(constFrame &sinceFrame) const

·        rotationProbability(constFrame &sinceFrame) const

·        scaleFactor(constFrame &sinceFrame) const

·        scaleProbability(constFrame &sinceFrame) const

·        sphereCenter()const

·        sphereRadius()const

·        stabilizedPalmPosition()const

·        timeVisible()const

·        toString() const

·        translation(constFrame &sinceFrame) const

·        translationProbability(constFrame &sinceFrame) const

·        wristPosition()const

 

 

详细解释:

 

 

float pinchDistance() const

大拇指和食指的距离。单位:毫米。

Since

3.0

 

float pinchStrength() const

废弃!

 pinchDistance() 替代

Since

2.0

 

Pointable pointable(int32_t id) const

返回Hand对应IDPointable对象

Leap::PointableknownPointable = hand.pointable(pointableID);

Since

1.0

 

PointableList pointables() const

返回Potintable组成的一个列表(其实就是五根手指组成的).

// hand is a Leap::Hand object

Leap::PointableListpointables = hand.pointables();// Both fingers and tools

Leap::FingerListfingers = hand.fingers();

Since

1.0

 

float rotationAngle(const Frame & sinceFrame) const

返回和startFrame那一帧相比,手的相对旋转

float rotationOfHand = hand.rotationAngle(startFrame);

 

 

float rotationAngle(const Frame & sinceFrame,const Vector & axis) const

返回和sinceFrame那一帧相比,绕axis的相对旋转的角度

float rotationAroundYAxis = hand.rotationAngle(startFrame,Leap::Vector::yAxis());

 

Vector rotationAxis(const Frame & sinceFrame) const

返回当前和sinceFrame那一帧相比,启发式(heuristically)确定的绕着旋转的轴的Vector

Leap::VectoraxisOfHandRotation = hand.rotationAxis(startFrame);

 

Matrix rotationMatrix(const Frame & sinceFrame) const

返回和SinceFrame相比的变换矩阵,Matrix类型。

Leap::MatrixhandRotationTransform = hand.rotationMatrix(startFrame);

 

 

float rotationProbability(const Frame & sinceFrame) const

sinceFrame相比,当前帧为旋转移动成的可能性,返回一个0-1float

float rotationIntentFactor = hand.rotationProbability(startFrame);

 

 

 

float scaleFactor(const Frame & sinceFrame) const

返回当前和指定帧的缩放比例

float handScaleMotion = hand.scaleFactor(startFrame);

 

 

float scaleProbability(const Frame & sinceFrame) const

返回两帧之间是缩放运动的可能性,数值为0-1float

float scaleIntentFactor = hand.scaleProbability(startFrame);

 

Vector sphereCenter() const

返回手掌抓取球的模型中球的球心位置坐标。

Leap::VectorsphereCenter= hand.sphereCenter();

Since

1.0

 

 

float sphereRadius() const

返回上述模型中的球的半径(就是假装握着球,这球有多大,233),单位为毫米

float sphereDiameter = 2 * hand.sphereRadius();

Since

1.0

 

 

Vector stabilizedPalmPosition() const

经过平滑处理以及一系列其他处理之后的手掌的位置坐标,返回值为Vector

//可靠性和手运动的速度有关,如果速度过快可能会有滞后感

Leap::VectorfilteredHandPosition = hand.stabilizedPalmPosition();

Since

1.0

 

 

float timeVisible() const

返回这个hand被追踪的时间,单位是秒

float lifetimeOfThisHandObject = hand.timeVisible();

Since

1.0

 

 

std::string toString() const

hand的信息转化为方便阅读与显示的string类型。

Since

1.0

 

Vector translation(const Frame & sinceFrame) const

返回前后两帧平移运动位置变化的Vector

Leap::VectorlinearHandMovement = hand.translation(startFrame);

 

float translationProbability(const Frame & sinceFrame) const

返回前后两帧为平移运动的可能性质,大小为0-1float

float translationIntentFactor = hand.translationProbability(startFrame);

 

 

Vector wristPosition() const

返回腕部以毫米为单位的坐标的Vector

Since

2.0.3

 

 

补充两点:

 

Public Static Functions

const Hand & invalid()

返回invalidHand

if (hand !=Leap::Hand::invalid()){

    //Process handdata...

}

Since

1.0

Friends

friendstd::ostream & operator<<

输出方便阅读的Hand对象

std::cout << hand << std::endl;

Since

1.0

 

 

终于把Hand部分翻译完啦,还是有不少值得关注的方便的功能函数的

 

LeapMotion开发(五)-- Hand模块下的所有Methods用法和说明(下篇)(C++SDK)_第1张图片


起飞~最后祝大家编程愉快: )

你可能感兴趣的:(C++,hand,LeapMotion)