Ancestors

Written by Greg Egan on 2025-01-20 at 13:20

Pick N points on a sphere, equally spaced on the circle at an angle θ from the pole.

Rotate the sphere around each of the points in turn by the same angle, α.

What value should α be, in order for the net rotation to restore the sphere to its original orientation?

Although this problem is very symmetrical, it’s not so symmetrical as to be trivial! It might be tempting to think that the symmetry guarantees that the net rotation will always be around the pole, but that’s not true: because we rotate around each of the N points in a particular order, they are not all treated equally, which breaks the symmetry and means the overall axis of rotation need not be the pole.

But here’s a sketch of one way to find the solution in general.

Suppose we call a rotation around the first point T, and let R be a rotation by 2π/N around the pole.

Then the rotation around the (k+1)st point is:

R^k T R^{–k}

because R^{–k} moves the (k+1)st point to the first point, where we perform a rotation by the same angle in each case, and then R^k moves the first point back to the (k+1)st point.

This means the net result of performing all N rotations is:

R^{N–1} T R^{–(N–1)} R^{N–2} T R^{–(N–2)} ... R^2 T R^{–2} R T R^{–1} T

If we cancel positive and negative powers of R that are multiplied together, and note that

R^{N–1} = R^{–1}

this becomes:

R^{–1} (T R^{–1})^{N–1} T

Now, suppose this is equal to the identity matrix, I. We then have:

R^{–1} (T R^{–1})^{N–1} T = I

(T R^{–1})^{N–1} = R T^{–1} = (T R^{–1})^{–1}

(T R^{–1})^N = I

So we need to make the product of the rotation by α around the first point, and a rotation around the pole by –2π/N, into a rotation by an angle that is (any integer multiple of) 2π/N.

=> View attached media

=> More informations about this toot | More toots from gregeganSF@mathstodon.xyz

Written by Greg Egan on 2025-01-20 at 13:21

There are a couple of ways we could do this. One would be to explicitly compute the matrix for

T R^{–1}

and find its trace, the sum of its diagonal elements. Any rotation matrix in 3D by an angle β has a trace of:

1 + 2 cos β

So if we solve:

trace(T R^{–1}) = 1 + 2 cos 2πp/N

for α, for any integer p, that value for α will do the job.

But if computing those matrices sounds like too much work, there’s an even simpler method. We can combine the two rotations, T and R^{–1}, using the “mirror trick”.

Any rotation by an angle β is equivalent to two successive reflections, by a pair of mirrors whose planes meet along the axis of rotation, and are separated by an angle of β/2. We are free to rotate the two mirrors around the axis in any way we like, so long as we keep the correct angle between them.

This means that if we want to combine two rotations around two different axes, we can choose the second mirror for the first rotation, and the first mirror for the second rotation, to lie in exactly the same plane: the plane that contains both axes of rotation.

But two successive reflections in the same plane cancel out. That means the result of performing the two rotations we’re combining is now equivalent to reflections in the first mirror of the first rotation and the second mirror of the second rotation, and the angle of rotation is just twice the angle between those mirrors!

=> More informations about this toot | More toots from gregeganSF@mathstodon.xyz

Toot

Written by Greg Egan on 2025-01-20 at 13:22

We can find that angle with a simple formula from spherical trigonometry:

https://en.wikipedia.org/wiki/Spherical_law_of_cosines

cos C = –cos A cos B + sin A sin B cos c

where A, B, C are the angles at the corners of a spherical triangle, and c is the angle subtended at the centre of the sphere by the side of the triangle opposite the corner with angle C.

For our purposes:

c is the angle θ between the pole and the points we rotate around.

A is either π/N or π–π/N, depending on whether T and R^{–1} rotate in the same direction.

B is α/2.

C is an integer multiple of π/N, half the angle we want T R^{–1} to rotate by.

For the example we illustrated, with N=3 and θ=π/4, if we look for solutions where T rotates clockwise, we end up with the equation:

1 + cos(α/2) – √(3/2) sin(α/2) = 0

which is solved by:

cos(α/2) = 1/5

=> View attached media

=> More informations about this toot | More toots from gregeganSF@mathstodon.xyz

Descendants

Written by Andrej Bauer on 2025-01-20 at 13:31

Every tyime I read math posts by @gregeganSF, my brain automatically starts thinking "how is he going to use this stuff in his next story?" Is my brain wrong?

=> More informations about this toot | More toots from andrejbauer@mathstodon.xyz

Written by Greg Egan on 2025-01-20 at 13:37

@andrejbauer Sorry, your brain is wrong. This is just a bit of fun geometry, it has nothing to do with any story I’m writing.

=> More informations about this toot | More toots from gregeganSF@mathstodon.xyz

Written by buster on 2025-01-20 at 23:21

@gregeganSF

This way is a little bit easier, to my mind: the angles are the conjugates of the angles at the vertices of the spherical polygon. [Correction: actually each rotation about a vertex is through the conjugate of twice the internal angle at that vertex.] Here's an animation of how that goes, using a (very small!) scalene spherical triangle as the shape.

For a regular 𝑁-gon of radius θ on the sphere, by dividing the polygon into 𝑁 equal isosceles triangles and applying the spherical cosine rule, I get [Edited: fixed]

α=π-2tan⁻¹(sin(2π/𝑁)cosθ)/(1+cos(2π/𝑁))+2𝑘π,

which, in the example with 𝑁=3 and θ=π/4, again gives cos(α/2)=1/5.

=> View attached media

=> More informations about this toot | More toots from buster@mathstodon.xyz

Written by Greg Egan on 2025-01-20 at 23:31

@buster Your solution is correct for counterclockwise (i.e. positive) α. I chose the solution for clockwise α in order to make the absolute value of the angle a bit smaller. In the spherical triangle I use, this is the difference between setting the angle A to π/N or π–π/N.

=> More informations about this toot | More toots from gregeganSF@mathstodon.xyz

Written by buster on 2025-01-20 at 23:39

@gregeganSF

OK, thanks, I see. In terms of my explanation, that means rotating (in the opposite sense) through twice the internal angles of the polygon. It's about as easy to see, but takes a few extra words to write down. Here's the original version of my animation, where I chose the smaller angle:

https://mathstodon.xyz/@buster/111035207064082505

=> More informations about this toot | More toots from buster@mathstodon.xyz

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113860891538374778
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
288.886912 milliseconds
Gemini-to-HTML Time
2.867841 milliseconds

This content has been proxied by September (ba2dc).