I came accross this problem in an old french textbook:
Traité de mathématiques spéciales, Georges Cagnac,
Joanny Commeau, Edmond Ramis, 1967, Masson.
I got stuck on it, finding one reference to it online
in the form of a question at
https://math.stackexchange.com.
I ended up finding a solution that I will now detail.
We are in R3. Suppose you are given a basis (u,v,t). Let us note
α=(v,t);β=(t,u);γ=(u,v)
the corresponding angles.
In order to simplify let me suppose u, v, and t are unit vectors.
The solution will be complicated enough. It is always possible to swap the vectors so as
to get a right-handed basis. Thus, without lost of generality (wlog) the considered basis
is supposed right-handed.
Then let t′ be a unit vector of same direction and sense than u×v,
and let v′ be a unit vector in the same plane than u and v such that
u, v′, t′ is orthonormal. Note that as t′ is colinear to
u×v it is orthogonal to the plane containing u and v so
that v′=t′×u exists. Finally let δ be the angle
(t,t′).
Now that notations are set let me express t in the basis u, v′,
t′. As it is orthonormal we can use the scalar product:
t⋅u=cosβ;t⋅t′=cosδ
Finding t⋅v′ is a bit more difficult: we need to express v′. As it is in
the same plane than u and v, as it is orthogonal to u, and as
α=(u,v), we get v=cosγu+sinγv′
But sinγ=0 as u and v are not colinear. Thus,
v′=sinγ1v−sinγcosγu
giving
t⋅v′=−sinγcosγcosβ+sinγcosα
and
t=cosβi+(sinγcosα−cosγcosβ)v′+cosδt′(1)
This equality between vectors means equality of their squared norm:
1=cos2β+(sinγcosα−cosγcosβ)2+cos2δ
I will spare the details but it gives
cosδ=sinγ1−2cosαcosβcosγ−cos2α−cos2β−cos2γ
Note that the choice of orientation of the two basis ensure that cosδ≥0 making sure we chose the right squared root.
By definition of t′ we have u×v=sinγt′ Using (1) and after some more involved calculus we get u×v=1−2cosαcosβcosγ−cos2α−cos2β−cos2γ(cosαcosγ−cosβ)u+(cosγcosβ−cosα)v+sin2γt Using symmetry arguments this easily gives v×t and t×u. Note also that when the original basis is orthonormal, all cosines are equal to 0 and the sine is equal to 1: we find the usual u×v=t.