Kinect to Joints… Rotations that is…

This post has been republished via RSS; it originally appeared at: Channel 9.

Vangos Pterneas, Friend of the Gallery and becoming known as Mr Kinect, has a new great Kinect post and project on how you can determine joint rotations

Kinect Joint Rotation – The Definitive Guide

In one of my previous blog posts, I showed you how to measure joint angles using Kinect and C#. Today, we’ll dive into a more complex topic: in this article, you are going to learn how to measure the orientation of a joint around each axis (X, Y, Z).

Measuring the orientation values is not trivial because it requires some good knowledge of Mathematics. Do not be afraid, though! After reading this article, you’ll be able to calculate the orientation of each joint using one line of C# code!

Sounds good? Let’s get started.


To run the code and samples provided in this guide, you’ll need the following:

Let’s do the Math


Using the code

Here is the complete code. All you have to do is import the following C# file into your Kinect project.


Supported joints

Measuring the rotation of the human body joints is not a trivial job. Unfortunately, Kinect does not provide us with Orientation values for the Head, Hands, and Feet. These joints do not have a “parent” joint, so it’s extremely difficult to accurately measure their orientation. The orientation accuracy regarding the rest of the joints is pretty good. The supported joints are the following:

  • Neck
  • SpineShoulder
  • SpineBase
  • ShoulderLeft/ShoulderRight
  • ElbowLeft/ElbowRight
  • WristLeft/WristRight
  • HipLeft/HipRight
  • KneeLeft/KneeRight



In this blog post, you’ve learnt how to easily measure the rotation of the human body joints around the X, Y, and Z axis.

Project Information URL:

Contact Information:

REMEMBER: these articles are REPUBLISHED. Your best bet to get a reply is to follow the link at the top of the post to the ORIGINAL post! BUT you're more than welcome to start discussions here:

This site uses Akismet to reduce spam. Learn how your comment data is processed.