Example #1
0
        }//end method

        private SimpleBody UpdateJoints(Body b) // COORDINATE MAPPING
        {
            var jointList = new SimpleBody();

            foreach (var joint in b.Joints.Values)
            {
                //if joint isnt tracked ignore
                if (joint.TrackingState != TrackingState.Tracked)
                {
                    continue;
                }

                // 3D space point
                var jointPosition = joint.Position;

                // 2D space point
                var point      = new Point();
                var colorPoint = _sensor.CoordinateMapper.MapCameraPointToColorSpace(jointPosition);

                point.X = float.IsInfinity(colorPoint.X) ? 0 : colorPoint.X;
                point.Y = float.IsInfinity(colorPoint.Y) ? 0 : colorPoint.Y;

                var simJoint = new SimpleJoint()
                {
                    Point = new Vector2((float)point.X / 16, (float)((-1.0 * point.Y) / 9)), //conversion to 16:9 ratio
                    Type  = joint.JointType
                };

                // Draw
                var ellipse = new Ellipse
                {
                    Fill   = Brushes.Blue,
                    Width  = Settings.Default.JointSize,
                    Height = Settings.Default.JointSize
                };

                Canvas.SetLeft(ellipse, point.X - ellipse.Width / 2);
                Canvas.SetTop(ellipse, point.Y - ellipse.Height / 2);

                canvas.Children.Add(ellipse);
                jointList.Joints.Add(simJoint);
            }
            return(jointList);
        }
Example #2
0
    SimpleBody initSimpleBody()
    {
        var sb     = new SimpleBody();
        var joints = new List <SimpleJoint>();

        for (int jt = 0; jt <= 24; jt++)
        {
            var joint = new SimpleJoint();
            joint.Position      = Vector3.zero;
            joint.TrackingState = (int)Kinect.TrackingState.NotTracked;
            joint.X             = 0.0f;
            joint.Y             = 0.0f;
            joint.Z             = 0.0f;
            joint.W             = 0.0f;
            joints.Add(joint);
        }
        sb.Joints = joints;
        return(sb);
    }