Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I have a rigid body that translates and/or rotates about an axis perpendicular to the screen. I have co-ordinates of four points on the rigid body. How can I get the co-ordinates of a unknown point on the rigid body?

I have untransformed data for all five points. I have the transformed data for four points. I wish to find the transformed co-ordinates of fifth point.

The point(center) about which the body is rotated is not known.

enter image description here

Can I form a linear equation with four known points to get the fifth unknown point? How to accommodate translation and rotation in the equation?

share|improve this question
add comment

1 Answer 1

up vote 2 down vote accepted

This is way overdetermined. You've got $8$ coordinates to determine $3$ parameters, one rotation angle and two translation parameters. You can use any two of the points to find the transformation (assuming that you have the untransformed coordinates of all five points, which you didn't state but presumably intended to imply?).

You can use a system of equations, but you can also just do this: Find the angle at which the second point you're using appears from the first, $\operatorname{atan2}(\Delta y,\Delta x)$, in both the transformed and the untransformed coordinates. The difference is the rotation angle. Then write the transformation as $TR$, where $R$ is a rotation around the origin and $T$ is a translation, apply $R$ with the calculated rotation angle to either of the untransformed points, and determine the translation parameters as the differences between its transformed coordinates and the coordinates of the rotated untransformed point.

(Note that operations are composed right-to-left, that is, $TR$ means first apply the rotation, then apply the translation. This notation is used so that $TRp$ can be interpreted as $T(R(p))$.)

share|improve this answer
    
Thanks for the answer. But what if the point about which the body is rotated is not known. How to determine the point? –  Arun Feb 24 '12 at 9:49
    
@Arun: The answer doesn't refer to a point about which the body is rotated. This is because any orientation-preserving isometry of the plane can be written as $TR$, with $T$ a translation and $R$ a rotation about an arbitrary point, for convenience the origin. Try rotating the body around two different points through the same angle; you'll see that the difference between the two results is a translation. –  joriki Feb 24 '12 at 10:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.