# Combining rotations (in 2D space)

## Recommended Posts

The following image shows a set of points (A,,B,C,p) rotated (in this example 360/21°) anticlockwise around the origin o. The resultant set of points (A', B', C') are then rotated clockwise (18°) around the resultant point p'. My goal is to derive a single centre of rotation that will rotate the set of points [A,B,C] to [A' ',B' ', C' '], given only the position of p, and the two rotations:

Graphically, by projecting normals to the centres of the lines A-A' ', B-B' ', C-C' ', (also p-p' '), where they cross at point r, gives me the center of a single rotation I seek.

Question: how to do that mathematically given only: p = (7.160299318411282, 0) rotation1 = -360/21° & rotation2 = 18°?

Caveat: The above procedure does not work for all combinations of two rotations. Eg. In the next image p = (50,0) and the rotations are (-45° & +45°); which results in the normals to the bisectors all being parallel!

I know that affine transformation using homogeneous coordinates can be composed [https://en.wikipedia.org/wiki/Transformation_matrix#Composing_and_inverting_transformations], but I am stuck for how to utilise that here as in the environment in which I am doing this (LUA embedded in a FEA package), I only have two mechanisms available: rotation about a point and translation in the XY plane.

Question2: Assuming that I get a solution to Q1 above, is my only option to deal with the Caveat case, to compare the angles of rotation and do something different if they are equal?

Thanks.

Edited by Browseruk
Minor formatting changes

No takers?

## Create an account

Register a new account