Take the 2-minute tour ×

I have three points that represent a rigid body. The rigid body undergoes a planar transformation in $\Bbb R^3$ due to rotation and translation. I am working with angular velocity with nonzero $\vec i$, $\vec j$, and $\vec k$ components, and what I am trying to accomplish cannot be done easily in $\Bbb R^3$. How can I map my points to $\Bbb R^2$, perform operations (rotations), and then map back to $\Bbb R^3$?

Robjohn provided a solution here, 3D to 2D rotation matrix , but I'd like to understand the math behind his solution. Thank you

share|improve this question
If it's by Robjohn, then it's credible. –  dfeuer Aug 29 '13 at 18:54
Sorry, credible was the wrong word choice. I'm looking for a better explanation of his solution, i.e. I'd like to understand the theory behind it. –  Colin Aug 29 '13 at 19:09

1 Answer 1

up vote 0 down vote accepted

What robjohn does is this:

He selects three points in the plane. The vector $S$ is a unitary vector contined in the plane. The vector $T$ is another unitary vector contained in the plane and perpendicular to $S$, if you do a drawing you will see it clearly.

What he has now is a system of orthonormal vectors that generate the plane, so we have a basis for that plane. Now for every point in the plane, he has the three point coordinates $\lbrace U_k\rbrace$, multiplying (dot product) with $S$ and $T$ will project those coordinates over those vectors, and substracting $P$ before will make $P$ be the origin of the plane., the again, if you make a drawing I'm sure you will see it.

Noe for every point in the plane you will have two coordinates $x,y$, you cand do what ever you want with those, and then transform back.

Drawings really help a lot. Is there anything in particular that you don't understand?

share|improve this answer
Thank you very much! Your explanation was all I needed for it to click. If I understand correctly, point P is mapped to the origin. Thus, of my 3 points, I cannot perform any operations on point P itself. However, I believe this is okay for my solution. Of the three points, I am performing translation of one point, and rotation of the two other (rigid body analysis). However, the translation can be completed in R3. Thus, I can choose that point as my anchor (origin), map to R2, perform my rotations, map back to R3, and perform translation. Let me know if this makes sense to you! –  Colin Aug 29 '13 at 19:23
@Colin it makes sense, yes :) –  MyUserIsThis Aug 29 '13 at 20:19
So, I still have a problem. When i map to R2, my vectors are not guaranteed to maintain the same orientation. The lengths of the vectors and the angles are correct, but the orientation is not. For example, when I map to R2, the cross product of one with respect to the other is in the wrong direction. I am using the cross product to tell me the direction of rotation, so an incorrect orientation is problematic. Are there any other solutions for rotating a point in an arbitrary plane? –  Colin Aug 31 '13 at 0:45
Found the solution I was looking for here! science.kennesaw.edu/~plaval/math4490/rotgen.pdf –  Colin Aug 31 '13 at 0:59

Your Answer


