Exemplo n.º 1
0
        private void SendRotate()
        {
            // 追跡しているBodyのみループする
            foreach (var body in bodies.Where(b => b.IsTracked))
            {
                // Bodyから取得した全関節でループする。
                foreach (var joint in body.Joints)
                {
                    // 追跡可能な状態か?
                    if (joint.Value.TrackingState == TrackingState.Tracked)
                    {
                        // デバックのため右肘のピッチ軸を出力してみる
                        if (joint.Key == JointType.ElbowRight)
                        {
                            //関節の向きを取得する(Vector4型)。関節の指定にはJoyntType(enum)を使用する。
                            var orientation = body.JointOrientations[joint.Key].Orientation;

                            //関節のそれぞれの軸に対応する角度を取得する
                            //var pitchRotate = CalcRotate.Pitch(orientation);
                            //var yowRotate = CalcRotate.Yaw(orientation);
                            var rollRotate = CalcRotate.Roll(orientation);

                            // TODO:↑の角度の値から必要なものをソケット通信で送信する
                            Debug.WriteLine(((int)rollRotate).ToString());
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        private void SendRotate()
        {
            // 追跡しているBodyのみループする
            foreach (var body in bodies.Where(b => b.IsTracked))
            {
                // Bodyから取得した全関節でループする。
                foreach (var joint in body.Joints)
                {
                    // 追跡可能な状態か?
                    if (joint.Value.TrackingState == TrackingState.Tracked)
                    {
                        //関節の向きを取得する(Vector4型)。関節の指定にはJoyntType(enum)を使用する。
                        var orientation = body.JointOrientations[joint.Key].Orientation;

                        //関節のそれぞれの軸に対応する角度を取得する
                        var pitchRotate = CalcRotate.Pitch(orientation);
                        var yowRotate   = CalcRotate.Yaw(orientation);
                        var rollRotate  = CalcRotate.Roll(orientation);

                        // TODO:↑の角度の値から必要なものをソケット通信で送信する
                    }
                }
            }
        }