I am currently trying to deduce a full rotation matrix R based on two couples of 3D vectors (V1, V1t) and (V2, V2t) such that
Two couples of vectors are used since a single couple of vectors (V1 and its transformed vector, V1t) does not bring enough information to construct the rotation matrix R. A good example to illustrate that is for instance V1 lying on the rotation axis of R.
The idea is to build two partial rotation matrices R1 and R2 in order to obtain the final matrix R.
The implementation is using GLM and R1 and R2 are computed as following
R1 = math::mat3_cast(math::rotation(V1, V1t));
R2 = math::mat3_cast(math::rotation(V2, V2t));
My guessing is that, before computing R , the rotation along axis V1 should be isolated from R2 giving R2'.
R would then be R1 * R2'.
My questions are
You're on the right track but I'd change it a bit.
Maybe try this way:
It should be easier than trying to isolate rotation along some axis.