向Lord_Rebel要了转载权,TA翻译了10篇文章,就像我以前翻译c++。十分感谢她的努力,我全部转载到这里方便大家阅读。
【翻译】Leapmotion-python开发官方文档(1)
【翻译】Leapmotion-python开发官方文档(2)
【翻译】Leapmotion-python开发官方文档(3)
【翻译】Leapmotion-python开发官方文档(4)
【翻译】Leapmotion-python开发官方文档(5)
【翻译】Leapmotion-python开发官方文档(6)
【翻译】Leapmotion-python开发官方文档(7)
【翻译】Leapmotion-python开发官方文档(8)
【翻译】Leapmotion-python开发官方文档(9)
【翻译】Leapmotion-python开发官方文档(10)
(介于本人翻译能力有限,如有错误,望指出)
跟踪模式(tracking model)
LeapMotion API 定义了一个类来表示各种基本的被跟踪对象。
Frame
Frame类是最基础的数据类型,同时提供对已追踪到数据实体的接口。在每个更新间隔都会生成一个新的Frame对象。
Frame对象包含追踪到的手列表(Handlist)、手指列表(FingerList)、工具列表、手势列表。(你也可以从特定的手对象中得到手指列表(Fingers))
1 2 3 4 5 6 7 8 9 |
controller = Leap.Controller() # wait until Controller.isConnected() evaluates to true #... frame = controller.frame() hands = frame.hands pointables = frame.pointables fingers = frame.fingers tools = frame.tools |
1 2 3 |
</pre><h2>Hand</h2><div>Hand对象用于描述手的位置和方向、在数据帧之间追踪手的运动、同时还有相应的手指列表</div><div></div><pre class="python" name="code"># hand is a Leap.Hand object pointables = hand.pointables fingers = hand.fingers |
Arm
Arm对象用于描述链接在手上的(被追踪到的)胳膊的位置,方向以及朝向。Arm对象只能通过Hand对象访问。
Pointable、Finger、Tool
Pointable对象定义了手指和工具的共同特征。Finger类与Class类根据实体的不同扩展了Pointable类
1 2 3 4 |
if (pointable.is_tool): tool = Leap.Tool(pointable) else: finger = Leap.Finger(pointable) |
Bone
Bone对象描述了一块骨骼的位置与方向,可被追踪的骨骼有指骨与掌骨(组成手指的骨骼)
Gesture
Gesture类以及它的子类代表了LeapMotion软件能够识别的四种简单的手势之一。
Image
Image对象提供原始传感器(就是LeapMotion本身的摄像头)以及为LeapMotion摄像头校正使用的网格。(使用网络套接字服务端则不会提供)、
List of Tracked Objects
Frame和Hand对象包含其他追踪到的对象列表。
HandList、PointableList、FingerList以及ToolList类提供了一些用于筛选列表成员的便捷函数。比如,frontmost()函数返回在LeapMotion控制器的视野中最前方的对象。(Z轴值最小)
Utility Classes
Vector类用于描述点坐标和向量。Vector类同时提供了一些与向量运算相关的函数。
同样的 Matrix类代表旋转矩阵和其他由API中的函数返回的变换矩阵。
InteractionBox类用于帮助将LeapMotion的坐标系向你的应用(比如窗口坐标)的坐标(2D或者3D)进行转换。