내가 사용자의 오른손에 의해 이루어집니다 원을 인식하는 논리를 개발하기 위해 노력하고, 나는 샘플 코드에서 골격과 트랙을 그리는 코드, 내가 지금 무엇을 원하는 관절 좌표 (X, Y, Z)를 찾는 방법, 관측 된 관절의 궤적을 그리는 방법?
private void SensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
Skeleton[] skeletons = new Skeleton[0];
using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
{
if (skeletonFrame != null)
{
skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
skeletonFrame.CopySkeletonDataTo(skeletons);
}
}
using (DrawingContext dc = this.drawingGroup.Open())
{
// Draw a transparent background to set the render size
dc.DrawRectangle(Brushes.Black, null, new Rect(0.0, 0.0, RenderWidth, RenderHeight));
if (skeletons.Length != 0)
{
foreach (Skeleton skel in skeletons)
{
RenderClippedEdges(skel, dc);
if (skel.TrackingState == SkeletonTrackingState.Tracked)
{
this.DrawBonesAndJoints(skel, dc);
}
else if (skel.TrackingState == SkeletonTrackingState.PositionOnly)
{
dc.DrawEllipse(
this.centerPointBrush,
null,
this.SkeletonPointToScreen(skel.Position),
BodyCenterThickness,
BodyCenterThickness);
}
}
}
// prevent drawing outside of our render area
this.drawingGroup.ClipGeometry = new RectangleGeometry(new Rect(0.0, 0.0, RenderWidth, RenderHeight));
}
}
이있어 여기
내가 작업을 끝낼 계획입니다 어떻게, 제스처 인식에 대한 사용자의 좌표에게 오른손을 추적하기 :
- 시작
- 는 동그라미 제스처를 그리기 제스처, 시작을위한 좌표를 저장하고 조인트의 45도 시프트마다 좌표를 처음부터 기억해야합니다. 8 개의 8 분면에 대해 8 개의 샘플을 얻습니다.
- 원이 그려지는 결정을 내리기 위해 8 개 샘플 간의 관계를 확인할 수 있습니다.
는 또한, depthimage에서 나는 handpoint 우리는 사용자에 의해 그려진 그림을 얻을 것이다 끝에 그래서 뒤에 흔적을 남긴다 이동 있도록, 그려진 제스처의 궤적을 보여주고 싶어요. 나는 이것을 어떻게 달성 할 수 있는지 전혀 모른다.
당신이 무엇을 요구하고 있는지 분명하지 않습니다. 위의 철자 논리를 시도 했습니까? –
안녕하세요, 오른쪽 관절의 좌표를 가져오고 싶습니다. 지금까지 나는 오른쪽 손의 (X, Y, Z) 좌표를 얻을 수있었습니다. 제 질문의 두 번째 부분에 대해서도 오른쪽 관절의 움직임의 궤적 (경로)을 표시해야합니다. 우리는 스켈레톤 뷰를보고 있고 사용자는 원을 그리며 스켈레톤 뷰에서 오른손 관절이 따르는 경로를 볼 것입니다. 나는 나의 질문이 분명하기를 바란다 :/그것이 아직도 is not라면 나에게 알린다. –
제스처 시작을 어떻게 감지 했습니까? 당신이 원을 보간 할 수있는 마지막 _n_ 포인트의 기록을 가지고있을 때, 끝을 감지하는 것이 더 쉬울 것입니다 ... – Rook