Rotation of $e_1 \in \mathbb{R}^n$ in angles along the axis

53 Views Asked by At

I have the vector $e_1=(1,0,...,0)^T$ in $\mathbb{R}^n$.

I would like to rotate it by angle $\theta_2$ along axis $x_2$, resulting in the vector $r_1 = (\cos(\theta_2),\sin(\theta_2),0,...,0)^T$.

Continuing these rotation by angle $\theta_i$ along axis $x_i$ for $2 < i \leq n$, what would be the form of the resulting vector?

I couldn't find a general rotation formula.

2

There are 2 best solutions below

0
On

The reason that there is no general formula, is that the rotation that you are seeking is not unique. To rotate about the $x_2$ axis you need to identify a plane which is normal to $x_2$. For $n > 3$ this plane in not unique. There are many planes perpendicular to $x_2$ which live in the space spanned by $\{x_1,\, x_3,\, ...,\, x_n\}$.

0
On

What I am assuming you want is to generate the rotation matrices in n dimensions, note that you do not rotate around an axis anymore but rather in a specific plane (more than 1 axis is orthogonal to it). Just as an example, in 4d you can rotate around zw, yw, xw, yz, xz, xy. The rotation matrices for these have 1s on the diagonal around the axes you are rotating and the standard 2d rotation (possibly flipped) in the other 2 spots. For examples for a rotation around zw you have $a_{1,1} = \cos \theta_1 = a_{2,2}, - a_{1,2} = \sin \theta = a_{2,1}, a_{3,3}=a_{4,4} = 1$, all other elements of the matrix are 0. To get your vector you can just multiply it with the matrices one after another.