首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为frame.translation设置跳跃运动帧

为frame.translation设置跳跃运动帧
EN

Stack Overflow用户
提问于 2019-03-09 03:59:51
回答 1查看 40关注 0票数 0

我是一个非常新手的程序员,我遇到了一个我正在工作的副业的墙壁。我正在尝试设置一个循环,以重复获取跨越leap运动的平移数组。我在leap motion文档中找到了python的以下代码:

代码语言:javascript
复制
linear_frame_movement = frame.translation(start_frame)

根据定义,这听起来正是我所需要的,但当我尝试在非常基本的代码中使用此命令时,我并不完全理解如何定义初始框架或参考框架。下面是我试图打印frame.translation的代码部分:

代码语言:javascript
复制
position = hand.palm_position
L = frame.translation(position, start_frame)
y = position
print "position: %s" % (L)
print "position1: %s" % (position)

这将报告一个类似于"L = frame.translation(position,start_frame),列出的参数超过2个“的错误。

这是否意味着只需要初始化一个开始帧,然后该命令将自行确定转换数组,还是需要以完全不同的方式定义这两个参数?

我的编程背景是matlab,所以python对我来说很陌生。如果这是一个非常直截了当的问题,我很抱歉。我们将非常感谢您的任何意见。

EN

回答 1

Stack Overflow用户

发布于 2019-04-03 11:15:34

从变量读取时,转换方法只需要一个输入,它是将引用转换的初始帧(因此称为start_frame documentation )。这将是在当前帧之前获得的有效帧。

您不必引用当前帧,因为平移方法位于当前帧对象frame.translation()中。

如果当前帧或start_frame无效,则返回0(使用返回布尔值的属性frame.is_valid进行检查)。

否则,返回的是一个vector类。向量类将给出对象在x和y方向上的平移(可以使用属性vector.x和vector.y获得),参考当前帧。因此,可以通过使用返回向量平移当前对象位置来确定先前对象位置。

这可以通过从当前对象位置x和y值中去除平移向量的x和y值来简单地完成。这也可以反向完成。我还没有测试过,所以我不确定这是不是正确的方法。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55070211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档