【发布时间】:2018-02-28 15:23:09
【问题描述】:
我正在开发 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 表达式,所以我只需要弄清楚为什么?
【问题讨论】:
-
它按照与传感器的距离对骨架(已识别的身体)进行排序;它是通过它们的 z 值(可能是距传感器的距离 - 深度)乘以距传感器视场中心的偏移距离 (x) 来计算的。 Math.Abs() 函数将始终返回正数,因此推测该值一侧为正,另一侧为负。它使用 3d 笛卡尔坐标系。
-
它只是想知道骨架离 kinect 有多远
标签: c# wpf kinect kinect-sdk