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

  • Context: Undergrad 
  • Thread starter Thread starter kairama15
  • Start date Start date
  • Tags Tags
    3d Rotating Vector
Click For Summary
SUMMARY

This discussion addresses the problem of rotating a three-dimensional unit vector A to match the rotation from unit vector B to unit vector C. It highlights that the rotation from B to C is not uniquely defined, providing multiple methods to achieve this transformation. Two specific techniques are outlined: one involves finding a unit vector H that bisects the angle between B and C and rotating the coordinate system by 180 degrees, while the other requires calculating the angle between B and C and using the cross product to determine the rotation axis N. Both methods will yield different resulting vectors D when applied to vector A.

PREREQUISITES
  • Understanding of three-dimensional vector mathematics
  • Familiarity with rotation matrices
  • Knowledge of cross product and angle calculations
  • Experience with unit vectors and their properties
NEXT STEPS
  • Study the derivation and application of rotation matrices in 3D space
  • Learn about quaternion representations for 3D rotations
  • Explore the geometric interpretation of vector cross products
  • Investigate the concept of vector bisectors and their applications in rotations
USEFUL FOR

This discussion is beneficial for computer graphics developers, robotics engineers, and anyone involved in 3D modeling or simulations requiring precise vector rotations.

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.
 

Similar threads

  • · Replies 13 ·
Replies
13
Views
4K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 33 ·
2
Replies
33
Views
5K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 13 ·
Replies
13
Views
4K