设置WPF Viewport3D环境以匹配Kinect的3D坐标空间 [英] Setting up a WPF Viewport3D environment to match 3D coordinate space of Kinect

查看:129
本文介绍了设置WPF Viewport3D环境以匹配Kinect的3D坐标空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试构建一个小型的增强现实应用程序,用户"保持"该应用程序。他手中的简单虚拟物体。该应用程序的UI在WPF中,我使用的例子是"CoordinateMappingBasics-WPF"。在背景图像上叠加用户的图像
。我想现在根据Kinect相机(骨架)空间中给出的手关节的3D坐标,在用户手中实现不同的WPF  ModelVisual3D对象。

I'm attempting to build a small augmented reality application, where the user "holds" simple virtual objects in his hands. The UI of that application is in WPF and I'm using the example "CoordinateMappingBasics-WPF" to overlay the image of the user on a background image. I would like now to materialize different WPF ModelVisual3D objects in the hands of the user, based on the 3D coordinates of the hand joints given in Kinect's camera (skeleton) space.

我有一个Viewport3D控件,它与用户混合的背景图像重叠(并且具有相同的尺寸)以及我想要设置的环境,特别是相机,以便我不必在两个坐标
系统之间进行任何转换。我可以创建一个Viewport3D和一个PerspectiveCamera,以便Viewport3D世界中的ModelVisual3D对象坐标与Kinect的骨架空间中的坐标相匹配吗?如果是,那怎么办?

I've got a Viewport3D control, which overlaps the background image on which the user is blended (and has the same dimensions) and whose environment, in particular the camera, I'd like to set up so that I don't have to do any transforms between the two coordinate systems. Can I create a Viewport3D and a PerspectiveCamera so that ModelVisual3D object coordinates in the Viewport3D world will match those in Kinect's skeleton space? If yes, how is that done?

谢谢。

推荐答案

Kinect是一个右手坐标系,看着传感器。您可能必须执行-x变换来翻转矢量位置,但是对于方向/旋转,您必须处理-y -z。我不熟悉WPF坐标系,但是因为
你正在通过镜头镜头看图像已经镜像了。
Kinect is a right handed coordinate system, when looking at the sensor. You may have to do a -x transform to flip vector positions but for orientation/rotation you have to deal with -y -z. I am not familiar with the WPF coordinate system, but since you are looking through the lens of the camera the image is already mirrored.


这篇关于设置WPF Viewport3D环境以匹配Kinect的3D坐标空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆