Copyright © 2004 jsd
Consider an equilateral triangle laid out on the surface of a spherical world. Each side of the triangle has length s and is a geodesic. Geodesics are what pass for straight “lines” in the spherical world. They are curved in the radial direction – otherwise they would stick up away from the surface – but they are as straight as they can be and still remain on the surface. And as usual, the thin flat two-dimensional creatures that live on the surface have no way of observing the third dimension.
The geodesics on the sphere are also known as great circles.
As a warm-up exercise, we should examine some limiting cases:
An arbitrary point A on the sphere can be represented by a vector, running from the origin to point A.
Next we need a formalism for representing great circles, so we can tell which great circle is which. To make a long story short, we choose to use Clifford Algebra. This is more convenient than old-fashioned representations such as Euler angles. See reference 1 for an introduction to Clifford algebra. Techniques for representing rotations are presented in reference 2.
For any given great circle, pick two points on that circle, point A and point B, such that the vectors A and B are linearly independent. Then we can form the bivector A ∧ B, which you can think of as a little patch of planar area, the patch spanned by A and B, with a direction of circulation marked on it (A then B). All of these objects (the great circle, the two vectors, and the bivector) will be coplanar. We can normalize the bivector to make a unit bivector.
If we mark a direction of circulation on the great circle, so we can define a notion of “forward” versus “backward” motion along the circle, we then call it a directed great circle. There is a one-to-one correspondence between unit bivectors and directed great circles.
There is a one-to-one correspondence between a great circle and the set of rotation operators that rotate things in the plane containing that great circle.
You may have heard the term quaternions. Quaternions can be defined in terms of bivectors and scalars. So if you understand bivectors and scalars, you get quaternions for free.
We will also need to be able to rotate object (vectors and bivectors). Here’s where the power of Clifford Algebra comes in. We don’t need a rotation matrix full of sines and cosines. Instead it is sufficient to multiply vectors, in accordance with the axioms of Clifford Algebra. This is discussed in reference 2.
So much for preliminaries. We will now attack the problem directly. We begin by constructing the triangle.
Without loss of generality, pick three mutually orthogonal unit vectors and call them γ1, γ2, and γ3. We will construct the triangle so that one leg (call it the base) lies in the γ1 ∧ γ2 plane. We will make Rγ1 be the midpoint of the base, where R is the radius of the sphere.
To construct the second leg of the triangle, make a copy of the γ1∧γ2 circle and rotate it in the γ2∧γ3 plane by an angle α. We don’t know the value of α yet; we will solve for α later. The result is a great circle that meets the base at the proper angle, but not yet at the proper point.
Therefore we rotate the new circle in the γ1∧γ2 plane by an angle −σ/2, where σ := s/R. Recall that s is the given length of each side of the triangle.
Constructing the third leg is the same as constructing the second leg, except that we reverse the sign of α and the sign of σ.
Let’s see where we stand. We have constructed an isosceles triangle with base angles equal to α. We need to solve for the apex angle. We will then require that the apex angle is also equal to α, which will give us one equation in one unknown, telling us the value of α that produces an equilateral triangle.
As a general rule, to find the angle at which two bivectors meet, just multiply them together. The product has a scalar piece equal to cos(θ), and a grade=2 piece involving sin(θ), where θ is the dihedral angle. For present purposes the scalar piece suffices to tell us what we need to know.
Actually, to find the angle between B and C, it is convenient to multiply B by C∼, where C∼ is the reverse of C. This gets rid of some ugly minus signs. If you don’t believe me, construct two bivectors having a known angle between them, multiply them, and see what you get. The beautiful thing is that if it works for your example, it must work for all bivectors, because the operations involved (multiplication and projecting out the scalar part) are manifestly rotation- invariant.
Here is the only place where plug-and-chug doesn’t work; you need to actually draw the picture and/or think a little bit. When two planes (or bivectors, or great circles) meet, there are actually four angles: theta, pi-theta, theta, pi-theta. The way I set up the problem, the formalism was giving me theta when I wanted pi-theta, so I had to intervene to fix it.
I get the following equation:
|(1+cos(σ)) cos2(α) + cos(α) − cos(σ) = 0 (1)|
It checks out in the obvious limiting cases i.e. σ → 0 and σ=π/2. Don’t think of it as a scary transcendental equation; just solve the quadratic to find cos(α) in terms of the other quantities.
There must be other ways of solving this problem, but this one seems elegant and convenient. Also IMHO it’s a nice illustration of why people study physics: a little bit of formalism makes the problem a whole lot easier. The effort of learning the formalism pays for itself the second or third time you use it. And there are lots of applications for this formalism, e.g. when you need to compound rotations or compare rotations in three (or more!) dimensions.
For hints on how to use bivectors for rotating things (including rotating other bivectors), see reference 2.
Copyright © 2004 jsd