How can I rotate a vector in 3D to match another vector's rotation?

  • Level: Undergrad 
  • Thread starter Thread starter kairama15
  • Start date Start date
  • Tags Tags
    3d Rotating Vector
Join the discussion
Registration is free. Start your own thread to ask a follow-up.
2 replies · 2K views
kairama15
Messages
31
Reaction score
0
TL;DR
Suppose I have a three dimensional unit Vector A and two other unit vectors B and C. If B is rotated a certain amount in three dimensions to get vector C, how do I find what the new Vector D would be if I rotated Vector A the same direction by same amount?
Suppose I have a three dimensional unit Vector A and two other unit vectors B and C. If B is rotated a certain amount in three dimensions to get vector C, how do I find what the new Vector D would be if I rotated Vector A the same direction by same amount?
 
Physics news on Phys.org
B rotating to become C doesn't uniquely determine the rotation. As two examples (out of an infinite set), you could rotate around BxC/|BxC| by an angle B*C/(|B||C|) (give or take a minus sign) or rotate around (B+C)/|B+C| by pi.

Determine how you want to rotate, find the rotation matrix, apply it.
 
  • Like
Likes   Reactions: mpresic3 and Hiero
Your problem is not well posed. There certainly are many solutions. For example, you are looking for a rotation to go from unit vector B to unit vector C. One way to do this is to find a unit vector H directly in between B and C (i.e. the vector that bisects the angle between B and C), and rotate the coordinate system by 180 degrees so that B is rotated into C. Another way is to find the angle between B and C. Then find the cross product between B and C, call it N. The rotate the coordinate system N by the angle between B and C. Clearly B will be rotated into C.

There you see two different ways to rotate B into C. There are many other ways. Clearly these two ways will result in a different D when A is rotated into D by one of these ways.