How do you use a Rotation Matrix in 2-D?

Click For Summary

Homework Help Overview

The discussion revolves around the application of a 2D Rotation Matrix, particularly in scenarios where the vector is not positioned at the origin. Participants are exploring how to determine the new coordinates of a vector's endpoint after rotation, given its initial position and the angle of rotation.

Discussion Character

  • Exploratory, Assumption checking, Mathematical reasoning

Approaches and Questions Raised

  • Participants are questioning how to interpret the input and output of the rotation matrix, specifically whether to use coordinates or components. There is also discussion on the process of translating a vector to the origin for rotation and then translating it back.

Discussion Status

Some participants have offered guidance on moving the vector to the origin for rotation and then returning it to its original position. Others have shared their own formulations and approaches to the problem, indicating a collaborative exploration of the topic without reaching a definitive consensus.

Contextual Notes

There is an ongoing discussion about the definitions and interpretations of the components and coordinates involved in the rotation process, as well as the implications of the vector's initial position not being at the origin.

Saladsamurai
Messages
3,009
Reaction score
7
I am having some trouble deciphering what the input and output of a 2D Rotation Matrix actually represent.

All example online have the vectors oriented at the origin. I know you can move them anywhere so long as you maintain their length and orientation, but here is my question:

Let's say I have a vector that is not located at the origin. Call its initial point (x0, y0) and its terminal point (x1, y1)

Now let's say that it has rotated through the positive angle of Phi. It's initial point is clearly still (x0, y0) and its new terminal point is (x2, y2).

Using only (x0, y0) and angle Phi, how can I find the coordinate (x0, y0) ?

I know that the Rotation Vector is defined as:

RM.jpg



My issue is that since they chose the origin, x1 and y1 in their example could be either the coordinates OR the components.

So, for the general 2D case: Do I plug in the coordiantes or components? And are the results the coordinates or components?

I am under the impression that it is the latter in both cases. And so in order to obtain the actual coordinates of my new vectors endpoint, I must add the resulting components to the initial coordinate (x0, y0)

Does that sound right?
 
Last edited:
Physics news on Phys.org
Well, you can move it to the origin, rotate it, and move it back.

So if v = (x0, y0) and w = (x1, y1), then: a) calculate w - v; b) apply the rotation matrix to obtain a new vector z; c) calculate z + v.
 
If the tail of the vector r that you want to rotate is not at the origin, then find the position vector R of the tail with respect to the arbitrary origin and use the matrix to rotate the sum R+r. The result will be the coordinates of the tip of rotated vector r. To find the coordinates of the rotated tail, use the matrix once more on R.
 
I just wrote a code to test a few cases of what I said in the OP, and this is the formula I came up with. I think it is consistent with what you guys are saying:

r_x = x1 - x0
r_y = y1 - y0

x2 = x0 + (r_x * Cos(theta) - r_y * Sin(theta))
y2 = y0 + (r_y * Cos(theta) + r_x * Sin(theta))
 

Similar threads

  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
1
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
4K
Replies
7
Views
3K
  • · Replies 18 ·
Replies
18
Views
2K