# How to find co-ordinates of a point from four points that can translate or rotate? All these points form a rigid body.

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.

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?

-

## 1 Answer

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))$.)

-

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
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 13, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9324072003364563, "perplexity_flag": "head"}