Website title: Finding Rotation Matrices for Arbitrary Angle Rotations in R^3

Click For Summary

Discussion Overview

The discussion revolves around finding rotation matrices for arbitrary angle rotations in three-dimensional space, specifically focusing on rotations about two given axes. Participants explore methods to derive these matrices relative to the standard basis, considering both theoretical and practical approaches.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Exploratory

Main Points Raised

  • One participant seeks guidance on how to derive two rotation matrices for specified axes in R^3.
  • Another participant notes that the two axes are parallel and suggests that a translation could relate them.
  • A participant proposes using a change of basis to align one vector with the axis of rotation and suggests applying a standard rotation transformation.
  • Another participant describes a method involving the construction of an orthogonal basis from the axis of rotation and the vector to be rotated, leading to a specific formula for the rotation matrix.
  • A different approach is suggested that involves first rotating around the z-axis and then transforming that rotation to align with the desired axis of rotation.

Areas of Agreement / Disagreement

Participants express various methods and approaches to the problem, but there is no consensus on a single solution or method. Multiple competing views and techniques remain present in the discussion.

Contextual Notes

Some participants' methods depend on specific assumptions about the axes and the nature of the rotations, which may not be universally applicable. The discussion includes various mathematical formulations that may require further clarification or validation.

owlpride
Messages
210
Reaction score
0
I am looking for two rotation matrices M1 and M2, which describe a rotation by an arbitrary angle around the axes passing through (0,0,0) and (1,1,1), and (1,0,0) and (2,1,1). All relative to the standard basis. How would I approach this problem?
 
Physics news on Phys.org
owlpride said:
I am looking for two rotation matrices M1 and M2, which describe a rotation by an arbitrary angle around the axes passing through (0,0,0) and (1,1,1), and (1,0,0) and (2,1,1). All relative to the standard basis. How would I approach this problem?

Hi owlpride! :wink:

Those two axes are parallel, so I suppose you could relate them by a translation. :smile:
 
I am very well aware that they are parallel. That's how I chose them :) That being said, I don't even know how to get the initial rotation... Maybe some change of basis to get one basis vector parallel to the axis of rotation and the other two vectors in the orthogonal plane? And then the standard cos, sine, -sine, cos transformation?
 
owlpride,

It turns out that there is a nice way to do this that isn't too hard. I learned it from working a homework problem in "a brief on tensor analysis" by Simmonds (a really good book). If you draw this out I think it will make sense. Let \mathbf{\hat{e}} denote a unit vector in the direction of your axis of rotation. you can construct the matrix that will take an arbitrary vector \mathbf{u} and rotate it (right handed) an angle \vartheta about the axis to get a new vector \mathbf{v}. To do this you form an orthogonal basis out of \mathbf{\hat{e}} , \mathbf{\hat{e} \times u}, and \mathbf{\hat{e} \times \left( \hat{e} \times u \right)}. After normalizing the basis vectors, you just find the projection of \mathbf{v} onto the basis vectors and do a page of algebra to simplify. The Answer you get is

\mathbf{v}=\cos \vartheta \mathbf{u} + \left(1-\cos \vartheta \right) \mathbf{\hat{e}} \left( \mathbf{\hat{e} \cdot u}\right) + \sin \vartheta \mathbf{\hat{e} \times u} = T \mathbf{u}.

Thus,

T=\cos \vartheta I + \left(1-\cos \vartheta \right) \mathbf{\hat{e}\hat{e}} + \sin \vartheta \mathbf{\hat{e} \times }.

The notation above is old-fashioned. I is the identity matrix, and the meaning of \mathbf{\hat{e}\hat{e}} and \mathbf{\hat{e} \times} can be deduced from the equation for \mathbf{v}.

The matrix you want is the coordinate rotation matrix, R, which is R=T^{-1}=T^{T}, since rotation matrices are orthogonal.


This will take care of your first case. The second case is offset from the origin so a matrix won't do the job by itself - you also need an offset.

Jason
 
What I would do is find a matrix that represents that rotation around the z-axis:
\begin{bmatrix}cos(\theta) & -sin(\theta) & 0 \\ sin(\theta) & cos(\theta) & 0 \\ 0 & 0 & 1\end{bmatrix}

then multiply by the matrix that rotates the z-axis into the given axis of rotation.
 

Similar threads

  • · Replies 12 ·
Replies
12
Views
3K
Replies
27
Views
5K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
2
Views
3K
Replies
3
Views
3K
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
5
Views
4K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 5 ·
Replies
5
Views
4K