# 3D Inverse Kinematics Jacobian Construction

I am following this article: Overview of Jacobian IK

From the link, an example says:

O is a pose vector which represents the initial orientation of every joint

And following this, it gives an example of O:

For example, O would be (45°, 15°, -60°)

Later on it says for the 2D system, the Jacobian can then be constructed as follows:

I now have 2 questions if this was transferred to a 3D system:

1. How would O be represented?
2. How would the Jacobian be constructed?
• The answer is given in the original link. Quote: “Jacobian methods use an iterative approach in calculating dO, similar to the Gradient Descent Method.” – Manuel Rodriguez Mar 20 at 18:33
• The J is already in 3D it has XYZ – 50k4 Aug 23 at 11:29

## 1 Answer

An alternative way to compute the Jacobian is to represent the kinematic chain transformation symbolically and symbolically differentiate it. Then you can evaluate the expression for it at any point analytically.

For example (if you know C++) see the use of this technique in the implementation of the Expression::differentiate() function of OpenSim.