• Support PF! Buy your school textbooks, materials and every day products Here!

Derivation of rotation formula in a general coordinate system

  • Thread starter ShayanJ
  • Start date
  • #1
2,788
586

Homework Statement


[/B]
In a set of axes where the z axis is the axis of rotation of a finite rotation, the rotation matrix is given by

## \left[ \begin{array}{lcr} &\cos\phi \ \ \ &\sin\phi \ \ \ &0 \\ & -\sin\phi \ \ \ &\cos\phi \ \ \ &0 \\ &0 \ \ \ &0 \ \ \ &1 \end{array} \right]##.

Derive the rotation formula

##\vec{r'}=\vec r \cos\phi+\hat n(\hat n \cdot \vec r)(1-\cos\phi)+(\vec r \times \hat n) \sin\phi ##

by transforming to an arbitrary coordinate system, expressing the orthogonal matrix of transformation in terms of the direction cosines of the axis of the finite rotation.

Homework Equations




The Attempt at a Solution



As far as I know, the transformation is ## S'=A^{-1} S A ## where A is a general rotation matrix and its such a big matrix that even writing it down is a tedious thing to do, let alone multiplying it several times with another matrix! Is there any other way to do this?

Thanks
 

Answers and Replies

  • #2
205
84
You have:
r'x = rxcosφ + rysinφ
r'y = -rxsinφ + rycosφ
r'z=rz
n=k
r
cosφ =( rxi + ryj + rzk)cosφ
r'xi =( rxcosφ + rysinφ)i
r'yj= (-rxsinφ + rycosφ)j
r'zk=rz k
r
' = ( rxcosφ + rysinφ)i + (-rxsinφ + rycosφ)j + rzk
= rcosφ - rysinφi + rxsinφj -rzcosφk + rzk
= rcosφ + (rxk)sinφ + (k*r)(1-cosφ)k
 
  • #3
2,788
586
Thanks Fred.
Can you generalize your proof for a general ##\hat n## ?
 
  • #4
samalkhaiat
Science Advisor
Insights Author
1,657
875

Homework Statement


[/B]
In a set of axes where the z axis is the axis of rotation of a finite rotation, the rotation matrix is given by

## \left[ \begin{array}{lcr} &\cos\phi \ \ \ &\sin\phi \ \ \ &0 \\ & -\sin\phi \ \ \ &\cos\phi \ \ \ &0 \\ &0 \ \ \ &0 \ \ \ &1 \end{array} \right]##.

Derive the rotation formula

##\vec{r'}=\vec r \cos\phi+\hat n(\hat n \cdot \vec r)(1-\cos\phi)+(\vec r \times \hat n) \sin\phi ##

by transforming to an arbitrary coordinate system, expressing the orthogonal matrix of transformation in terms of the direction cosines of the axis of the finite rotation.

Homework Equations




The Attempt at a Solution



As far as I know, the transformation is ## S'=A^{-1} S A ## where A is a general rotation matrix and its such a big matrix that even writing it down is a tedious thing to do, let alone multiplying it several times with another matrix! Is there any other way to do this?

Thanks
First note that [itex]R(\hat{n} , \phi)[/itex] leaves the unit vector [itex]\hat{n}[/itex] invariant, i.e., [tex]R_{ij}n_{j} = n_{i} . \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (1)[/tex]
Also note the following trivial identities
[tex]\delta_{ij}n_{j} = n_{i} , \ \ \ n_{i} n_{j} n_{j} = n_{i} (\hat{n} \cdot \hat{n}) = n_{i} ,[/tex] and [tex]\epsilon_{ijk}n_{j}n_{k} = 0 .[/tex] So, covariance requires [itex]R_{ij}[/itex] to be of the form
[tex]R_{ij} = a(\phi) \ \delta_{ij} + b(\phi) \ n_{i}n_{j} + c(\phi) \ \epsilon_{ijk}n_{k} , \ \ \ \ (2)[/tex] where [itex]a,b,c[/itex] are functions of the only available scalar [itex]\phi[/itex], the rotation angle. Now, if you substitute (2) in (1) and use the above identities, you find [tex]a + b = 1.[/tex]
Next, consider the special case where [tex]\hat{n} = \hat{e}_{3} = (0,0,1) .[/tex]
So, [tex]R_{11}(e_{3},\phi) = a(\phi) = \cos \phi ,[/tex] and
[tex]R_{12}(e_{3},\phi) = c(\phi) \epsilon_{123}n_{3} = c(\phi) = - \sin \phi .[/tex]
Substituting these in the general form (2), we obtain
[tex]R_{ij} = \delta_{ij} \ \cos \phi + n_{i}n_{j} \left(1 - \cos \phi \right) - \epsilon_{ijk} n_{k} \sin \phi .[/tex] Now, contracting this with [itex]x_{j}[/itex] gives you
[tex]\bar{x}_{i} = x_{i} \cos \phi + n_{i} \left( \hat{n} \cdot \vec{x}\right) \left( 1 - \cos \phi \right) + \left( \hat{n} \times \vec{x} \right)_{i} \sin \phi .[/tex]
You can also do it geometrically by decomposing the vector [itex]\vec{x}[/itex] into the sum of two vectors: one parallel to [itex]\hat{n}[/itex] and the other perpendicular to [itex]\hat{n}[/itex]
[tex]\vec{x} = \left( \hat{n} \cdot \vec{x}\right) \hat{n} + \vec{x}_{\perp} . \ \ \ (3)[/tex] So, rotation by an angle [itex]\phi[/itex] will leaves the parallel vector invariant and sends [itex]\vec{x}_{\perp}[/itex] into
[tex]R \vec{x}_{\perp} = \vec{x}_{\perp} \cos \phi + \left( \hat{n} \times \vec{x}_{\perp} \right) \sin \phi .[/tex]
Since [tex]\hat{n} \times \vec{x} = \hat{n} \times \vec{x}_{\perp},[/tex] we find
[tex]\vec{x} \to R \vec{x} = \left( \hat{n} \cdot \vec{x}\right) \hat{n} + \vec{x}_{\perp} \cos \phi + \left( \hat{n} \times \vec{x} \right) \sin \phi .[/tex] Now, the final result follow from substituting (3).
 
  • #5
2,788
586
That was beautiful!
Thanks Sam!
 

Related Threads on Derivation of rotation formula in a general coordinate system

Replies
3
Views
881
  • Last Post
Replies
4
Views
8K
Replies
1
Views
867
Replies
10
Views
2K
  • Last Post
Replies
1
Views
934
Replies
2
Views
732
Replies
0
Views
3K
Replies
6
Views
4K
Top