RealSense joint angle measurement


Hello, my project is about to calculate the upper joint angle using the depth information, as I know, the Nuitrack provides us with the joint 3d coordinates. As a result, I want to use this information to calculate. However, the angle I calculated is not very accurate, for example, when I flatten my arms, the angle is not 180°, do you know any reasons?
Here is the code I wrote:

By the way, I do not know much about the calibration, I saw there is T-pose calibration and right hand 90 degrees U turn, can you explain the difference?


The camera I use is RealSense D435