gpt4 book ai didi

c# - Kinect 应用程序的源代码逆向工程

转载 作者:行者123 更新时间:2023-11-30 20:27:06 27 4
gpt4 key购买 nike

我正在开发 Kinect 相机的开源应用程序,我在阅读源代码时遇到了问题。

顺便说一下项目思路是用手控制PowerPoint,源码可以找到here .

作者使用这段代码:

Skeleton closestSkeleton = skeletons.Where(s => s.TrackingState == SkeletonTrackingState.Tracked)
.OrderBy(s => s.Position.Z * Math.Abs(s.Position.X))
.FirstOrDefault();

谁能帮我弄清楚 s => s.Position.Z * Math.Abs​​(s.Position.X)

意思是作为一个想法,我知道这是一个 lambda 表达式,所以我只需要弄清楚为什么?

最佳答案

这是一个距离度量,用于确定离 Kinect 传感器最近的骨架。

在骨架空间中,Z 是与 Kinect 传感器的距离(参见 here)。

如果您认为房间被 Kinect 传感器的一条线分成左半部分和右半部分……那么 X 就是某物与那条线的距离。向左或向右多远。

这也是使用 X 的绝对值的原因 - 代码会查看骨架与假设分界线的距离。

所以这段代码会查看物体离传感器的距离 (Z),然后将它乘以向左或向右的距离 (X)。这是距离的一种有点原始的确定。 (人们可能期望使用勾股定理,但也许这被认为太慢了?)

代码采用 FirstOrDefault 骨架,其中这些骨架按此距离度量排序。

关于c# - Kinect 应用程序的源代码逆向工程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49032988/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com