Suppose I have two unit-length vectors $a, b$ in n-dimensional Euclidean space - so they are two points on the n-dimensional unit sphere.
Now there is a geodesic between these two points, which extends to a great circle around the unit sphere.
How can I calculate the point at a specified angle $\theta$ from $a$ along this geodesic defined by the two points?
Clearly for $\theta = 0$ we have $a$, and for $\theta = \cos^{-1}(\left<a, b\right>)$ we have $b$.
There must be some rotation matrix $R$ which represents the rotation from $a$ to $b$. Then my target point would be $R^{\frac {\theta} {\cos^{-1}(\left<a, b\right>)}}a$. How can I derive this rotation matrix?
Perhaps I can represent the great circle as sweeping a rotation parallel to the plane defined by $a$ and $b$, as in Rodrigues' formula in 2d or 3d (generalised here to higher dimensions?).
There’s no such thing as “the rotation from $a$ to $b$”; infinitely many different rotations take $a$ into $b$. For the geodesic, you want the one that stays in the plane spanned by $a$ and $b$. This is $a\cos\theta+c\sin\theta$, where
$$c=\frac{b-(a\cdot b)a}{|b-(a\cdot b)a|}$$
is the unit vector in the plane spanned by $a$ and $b$ that’s orthogonal to $a$ and has positive scalar product with $b$.
For $\theta=\arccos(a\cdot b)$, this yields
\begin{eqnarray} a\cos\theta+c\sin\theta&=&a\cos\arccos(a\cdot b)+\frac{b-(a\cdot b)a}{|b-(a\cdot b)a|}\sin\arccos(a\cdot b)\\ &=&a(a\cdot b)+\frac{b-(a\cdot b)a}{|b-(a\cdot b)a|}\sqrt{1-(a\cdot b)^2}\\ &=&a(a\cdot b)+b-(a\cdot b)a\\ &=&b\;. \end{eqnarray}