Jump to content

Combining rotations (in 2D space)

Featured Replies

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: 

blob.thumb.png.c1c1563ba7a9581375b11bd90023dc7c.png

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!

blob.thumb.png.42ef0db4bff7f83280f3645a8875ce9d.png 

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

Archived

This topic is now archived and is closed to further replies.

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.