Let’s say I have three referencials (A,B and C)

I know the following values:

- the position of B in A (as an Eigen::Vector3d)
- the orientation of B in A (as an Eigen::Quaterniond)
- the position of C in B (as an Eigen::Vector3d)
- the orientation of C in B (as an Eigen::Quaterniond)

How can I find the position and the orientation of A in C with C++ and Eigen?

```
Eigen::Vector3d p_B_in_A = Eigen::Vector3d(...);
Eigen::Quaterniond q_B_in_A = Eigen::Quaterniond(...);
Eigen::Vector3d p_C_in_B = Eigen::Vector3d(...);
Eigen::Quaterniond q_C_in_B = Eigen::Quaterniond(...);
Eigen::Vector3d p_A_in_C = ???
Eigen::Quaterniond q_A_in_C = ???
```

Source: Windows Questions C++