Determine Origin to Rotate Vector B to Equal A

In summary, the problem is to find the point of rotation required to make a rotated version of line A (line B) fall directly on top of A, assuming there is a solution. This involves finding the angle between the two lines and then rotating one line by that angle around a specific point. However, if the coordinates of the lines have been moved into a different coordinate system, the original point of rotation must first be determined. This can be done by translating one line so that its endpoint coincides with the endpoint of the other line, and then extending the lines until they intersect. The point of intersection will be the point of rotation. If the lines are parallel, there is no solution.
  • #1
gge
12
0
Given two 2D unit vectors (A and B) in different directions and positions in the same horizontal plane, is it possible to determine the origin (point of rotation) required to make vector B = vector A (same position and direction)? All this assuming that vector B is a rotated (only) version of vector A (i.e., there is a solution). I can find the angle between them (of course), but I don't know around what point I should apply it.

The problem lies in the fact that the vectors are now in an arbitrary coordinate system unrelated to that in which they underwent the original rotation. Essentially, I am now attempting to undo the rotation that was applied.

Any help (even a push in the right direction) would be great. Perhaps it's something silly that has me stumped.

Cheers,
Brad
 
Mathematics news on Phys.org
  • #3


Vector A must stay stationary. Vector B must be rotated around a point in the plane that will make it fall directly on top of vector A.

Picture two vectors of unit length lying in a plane in different directions and locations. Where do you place the origin of rotation so that rotating vector B around that point will cause it to fall directly on top of A (assuming there is a solution).

If I understand your response, rotating vector A and B about their endpoints will only rotate the vectors about themselves.
 
  • #4


gge said:
Vector A must stay stationary. Vector B must be rotated around a point in the plane that will make it fall directly on top of vector A.

Picture two vectors of unit length lying in a plane in different directions and locations. Where do you place the origin of rotation so that rotating vector B around that point will cause it to fall directly on top of A (assuming there is a solution).

If I understand your response, rotating vector A and B about their endpoints will only rotate the vectors about themselves.

Do you mean vectors? Or arrows? Because a vector does not have a position in space. A vector is the equivalence class of all arrows having the same direction and magnitude. A pedantic point, but a vital one. The benefit of vectors is that we are free to choose whichever representative of a vector is most convenient for a given problem. A vector has representatives everywhere.

To make two unit vectors coincide, it's only necessary to rotate one of them by the difference of their arguments (angles) when the vectors are expressed in polar notation. Since they are both unit vectors, we now have both vectors with the same length and direction. So they're the same vector.

To make two unit arrows coincide, first rotate one of them as a vector to make their directions coincide; then map the base points any way that's convenient or that makes sense in the context of your application or problem.
 
Last edited:
  • #5


Thank you for your response Steve. I apologize, my terminology was clearly incorrect. I come from a surveying background, and was trying to frame the question in physics terms.

What I actually have are two coordinate pairs—so four points in all—the first two describe a line A and the second two describe another line B.

The coordinates for line B were formed by applying a 2D rotation matrix to the coordinates of line A (no translations were involved), creating a new rotated version of A.

So you would think that I could just find the angle between them and apply the rotation in the opposite sense to bring line B back so the coordinates of A = B. However, somewhere along the way, the coordinates were moved into a coordinate system with a different origin than when they were rotated. I have no idea where the original origin was (that it was rotated about).

So without applying any translation, is it possible to determine around what point to rotate B so B = A.

Thanks!
 
  • #6


With two general line segments (assuming they are of the same length), you will need to first translate A so that its endpoint lies on the endpoint of B. Then you have an angle between the two segments and can rotate.

Or if you simply want A rotated so that it lies along the same line as B, exend the two lines until they intersect. The point of intersection will be the point to rotate about. If the two lines are parallel, you cannot "rotate" A to lie along B.
 
  • #7

FAQ: Determine Origin to Rotate Vector B to Equal A

What is the "Determine Origin to Rotate Vector B to Equal A" process?

The "Determine Origin to Rotate Vector B to Equal A" process is a mathematical method used to find the origin point and rotation angle needed to transform one vector, B, into another vector, A. It is commonly used in 3D graphics and animation to align objects or characters in a specific direction.

What are the applications of this process?

This process is used in various fields such as computer graphics, robotics, and navigation systems. It is also commonly used in video game development, where objects or characters need to be aligned with a specific direction or movement.

What are the main steps involved in this process?

The main steps involved in this process are: 1) finding the vector difference between A and B, 2) determining the cross product of A and B, 3) calculating the magnitude and direction of the cross product, 4) finding the angle between A and B, and 5) using the angle and cross product to determine the rotation axis and angle needed to align B with A.

What are the prerequisites for using this process?

A basic understanding of vectors, vector operations, and trigonometry is necessary to use this process effectively. Familiarity with 3D coordinate systems and matrices is also helpful.

Are there any limitations to this process?

While this process is widely used and generally effective, it does have some limitations. It assumes that the two vectors are in the same plane and that the rotation needed is less than 180 degrees. In some cases, other methods such as quaternions may be more suitable for finding the rotation needed.

Similar threads

Back
Top