1

背景

我正在使用 XNA C# + Kinect 制作一个物理教学平台。用户可以使用对象设置场景,包括:

  • 领域
  • 堵塞
  • 飞机

显而易见的有趣事情是使用不同的手势来表示一个对象。飞机似乎是最简单的,所以我打算从那里开始。

输入对象的流程是这样的:

  1. 选择对象(通过手势识别)
  2. 缩放对象
  3. 旋转对象
  4. 放置对象

我的想法

这是我的想法。我们跟踪上半身的 6 个关节:

  • 左+右手腕
  • 左 + 右肘
  • 左+右肩

如果这组点是共线的,即双臂保持水平,我们会说这是一个平面的输入手势。

如果要使用我的想法,则需要确定这些点的共线程度,例如,某种算法将一组点的“共线性”作为区间 [0, 1] 中的浮点数返回。然后我可以说,例如,任何大于 0.9 的东西都将被接受为平面,从而允许一些错误空间。

或者

或者,“基于模板的姿势检测”的想法听起来很棒,如下链接所示:

http://blogs.msdn.com/b/eternalcoding/archive/2011/08/02/kinect-toolkit-1-1-template-based-posture-detector-and-voice-commander.aspx

但据我了解,这似乎是任何手势的通用学习算法。我倾向于自己写一些东西来尝试 Kinect。

问题

那么......有没有人知道任何现有的算法来确定一组点的“共线性”程度?

4

0 回答 0