Sphere Linkages

Proving the configuration space of a chain suitably constrained at both ends is an n-sphere

Topology and geometry are full of wonderful, intricate, high-dimensional objects, but we are 3D creatures with 2D vision and getting any intuitive hold on a space of dimension 4\geq 4 is genuinely hard. But tere is a workaround I find delightful: high-dimensional spaces really are all around us — not embedded in physical space, but as the configuration spaces of physical things. The set of all possible arrangements of some mechanism is an abstract space, often a manifold, with its own topology and geometry, and we can interact with it tangibly by interacting with the mechanism.

The simplest examples come from rods and hinges. Pin one end of a rigid rod to the table and let the other swing free: the configuration space is a circle, S1S^1. Chain a second rod onto the end of the first, and each rod’s angle is independent — the configuration space is S1×S1=T2S^1 \times S^1 = T^2. Keep going, and a chain of nn rods with one end pinned has configuration space TnT^n, the nn-torus — literally a product of nn circles handed to you on a plate. This might be the easiest way to put a high-dimensional space in your hands.

This series is part of an ongoing collaboration with Edmund Harriss, Aaron Abrams, and Dave Bachmann, where we’ve been thinking about how various corners of topology and geometry become tangible through configuration spaces of physical mechanisms. These blog posts are mostly me organizing my own thoughts as we go — notes from an ongoing exploration, not a polished writeup of a finished result.

In particular here we will take a narrow focus and think about the next simplest set of linkages after the n-torus: a chaing of n rods, held down not at one end, but two.

The tied-down-chain problem is rich, and its configuration space changes topology dramatically as the base length varies. The current set of three posts zooms in on a particular regime — base lengths close to fully stretched — where the configuration space turns out, surprisingly cleanly, to be an nn-sphere. This post sets up the problem and proves the sphere result, recognizing adding a rod as a topological suspension. The second turns that suspension argument into a recipe for explicit spherical coordinates. The third equips these spheres with the kinetic-energy metric inherited from the underlying physics, and looks at the dynamics.

The setup

We work with a chain of nn unit rods hinged end-to-end in the plane, with both endpoints pinned a distance LL apart. Label the chain’s vertices p0,,pnR2\mathbf{p}_0, \ldots, \mathbf{p}_n \in \mathbb{R}^2, set p0:=A=(0,0)\mathbf{p}_0 := A = (0,0) by convention, and treat the remaining nn vertices as our variables. Two conditions govern them: each rod has unit length, pkpk1=1|\mathbf{p}_k - \mathbf{p}_{k-1}| = 1 for k=1,,nk = 1, \ldots, n, and the chain is pinned at the far end, pn=B:=(L,0)\mathbf{p}_n = B := (L, 0). So our configuration space is:

  MLn  :=  {  (p1,,pn)(R2)n  :pkpk1=1 for each k,pn=B  },  \boxed{\; \mathcal{M}^n_L \;:=\; \left\{\; \begin{gathered} (\mathbf{p}_1, \ldots, \mathbf{p}_n) \in (\mathbb{R}^2)^n \;:\\ |\mathbf{p}_k - \mathbf{p}_{k-1}| = 1 \text{ for each } k, \\ \mathbf{p}_n = B \end{gathered} \;\right\}, \;}

with the convention p0:=A\mathbf{p}_0 := A. This is an honest subset of (R2)n(\mathbb{R}^2)^n, cut out by nn rigidity equations and 22 endpoint-pinning equations. The ambient real dimension is 2n2n, and there are n+2n + 2 constraints — so if those constraints are everywhere independent, we’d expect MLn\mathcal{M}^n_L to have dimension n2n - 2.

Parameterizing by angles

We can cut the codimension down considerably by exploiting a fact we already know: each rod is a unit vector in the plane, which takes only one number to describe — its angle from the xx-axis — not two. Building rigidity into the parameterization this way will leave only the closure condition to enforce.

Identify R2\mathbb{R}^2 with C\mathbb{C}. Given a tuple of angles (θ1,,θn)Tn(\theta_1, \ldots, \theta_n) \in T^n, build a chain by laying down the rods one at a time and recording the cumulative tip after each:

Ψ   ⁣:  Tn    (R2)n,Ψ(θ1,,θn)  =  (eiθ1,    eiθ1+eiθ2,    ,    j=1neiθj).\begin{aligned} \Psi \;\colon\; T^n \;&\longrightarrow\; (\mathbb{R}^2)^n, \\ \Psi(\theta_1, \ldots, \theta_n) \;&=\; \big(\,e^{i\theta_1},\;\; e^{i\theta_1} + e^{i\theta_2},\;\; \ldots,\;\; \textstyle\sum_{j=1}^n e^{i\theta_j}\,\big). \end{aligned}

The kk-th entry is the position of vertex pk=j=1keiθj\mathbf{p}_k=\sum_{j=1}^k e^{i\theta_j} relative to p0=A\mathbf{p}_0 = A at the origin. By construction pkpk1=eiθk\mathbf{p}_k - \mathbf{p}_{k-1} = e^{i\theta_k}, a unit vector, so Ψ\Psi automatically lands in the rigid configurations — the rigidity constraints have been built in by the parameterization. The only remaining constraint, pn=B\mathbf{p}_n = B, transforms into a single complex equation in the angles:

k=1neiθk  =  L.\sum_{k=1}^n e^{i\theta_k} \;=\; L.

This is the closure equation. Pulling MLn\mathcal{M}^n_L back through Ψ\Psi gives an alternative description as a codimension-2 subset of the nn-torus,

  MLn    {(θ1,,θn)Tn  :  keiθk=L},  \boxed{\; \mathcal{M}^n_L \;\cong\; \Big\{(\theta_1, \ldots, \theta_n) \in T^n \;:\; \textstyle\sum_k e^{i\theta_k} = L\Big\}, \;}

the level set of the complex-valued closure map Φ ⁣:TnC\Phi \colon T^n \to \mathbb{C}, (θ1,,θn)keiθk(\theta_1, \ldots, \theta_n) \mapsto \sum_k e^{i\theta_k}. A complex equation is two real equations, so MLn\mathcal{M}^n_L sits inside TnT^n in codimension 22 — a count consistent with the vertex picture’s expected dimension n2n - 2.

We can squeeze one more reduction out of the angle picture. Given the first n1n - 1 rod angles (θ1,,θn1)(\theta_1, \ldots, \theta_{n-1}), the position of vertex pn1\mathbf{p}_{n-1} is determined, and the last rod is forced: it has to point from pn1\mathbf{p}_{n-1} to BB. The only remaining question is whether the required vector has unit length — that is, whether Lk=1n1eiθk=1|L - \sum_{k=1}^{n-1} e^{i\theta_k}| = 1. When it does, θn\theta_n is the argument of that vector and the configuration is closed. When it doesn’t, no value of θn\theta_n rescues it.

So projecting onto the first n1n-1 angles gives an embedding MLnTn1\mathcal{M}^n_L \hookrightarrow T^{n-1}, cut out by a single real equation:

  MLn    {(θ1,,θn1)Tn1  :  Lk=1n1eiθk=1}.  \boxed{\; \mathcal{M}^n_L \;\cong\; \Big\{\, (\theta_1, \ldots, \theta_{n-1}) \in T^{n-1} \;:\; \big|L - \textstyle\sum_{k=1}^{n-1} e^{i\theta_k}\big| = 1 \,\Big\}. \;}

Now we have a codim-1 subset of Tn1T^{n-1} — same dimension n2n - 2 as before, but the ambient is one smaller, and the cutting equation is one real equation instead of two. We now have three descriptions of MLn\mathcal{M}^n_L and we’ll move freely between them. The first is the geometrically transparent vertex picture; the second is what makes the suspension structure visible (and proves the sphere theorem); the third is small enough that we can actually draw the configuration space for n=3,4n = 3, 4, which we do next.

Experimentation

Before we prove anything about MLn\mathcal{M}^n_L, we can actually look at it — the third description above is small enough to visualize for n=3,4n = 3, 4 as we vary the base length LL. Doing so will give us a feel for the space and, importantly, will tell us which range of LL to focus our analysis on.

n=3n = 3. With three rods, ML3T2\mathcal{M}^3_L \subset T^2 is the locus of (θ1,θ2)(\theta_1, \theta_2) where the third rod can close the chain — that is, where Leiθ1eiθ2=1|L - e^{i\theta_1} - e^{i\theta_2}| = 1. Drawing the 2-torus as the square [0,2π]2[0, 2\pi]^2 with periodic edges, ML3\mathcal{M}^3_L shows up as a curve.

Alternatively, we can wrap the periodic square back into the torus it represents and view ML3\mathcal{M}^3_L as a curve on the surface itself:

Sliding LL around, the curve does several different things. There’s a clear range where it looks like a single, cleanly-embedded loop on the torus — visibly a topological circle. Outside that range, the topology changes: the curve develops a self-crossing, splits into pieces, or disappears entirely.

n=4n = 4. With four rods, ML4T3\mathcal{M}^4_L \subset T^3 is a surface, the level set of Leiθ1eiθ2eiθ3=1|L - e^{i\theta_1} - e^{i\theta_2} - e^{i\theta_3}| = 1. Drawing the 3-torus as the cube [0,2π]3[0, 2\pi]^3 with periodic faces, ML4\mathcal{M}^4_L becomes an isosurface.

Same story as n=3n = 3. There’s a range of LL for which the surface looks unmistakably like a topological sphere — smooth, closed, unsplit. Outside that range it pinches, breaks into multiple components, or vanishes.

Reading off the regime. Eyeballing the experiments, the “nice” range looks like 1<L<31 < L < 3 for n=3n = 3 and 2<L<42 < L < 4 for n=4n = 4. The pattern is

n2  <  L  <  n.n - 2 \;<\; L \;<\; n.

The upper bound L<nL < n is unsurprising: nn unit rods can’t span more than a distance of nn, so beyond L=nL = n there are no configurations at all. The lower bound L>n2L > n - 2 is more interesting — it’s where the configuration space first stops being a sphere, and we’ll see in the next section that this corresponds to a degenerate “colinear” configuration becoming possible.

For the rest of this post we’ll work in this regime. The next section confirms what the experiments suggest — that MLn\mathcal{M}^n_L is a smooth manifold in this range — and the section after that proves it’s a sphere.

MLn\mathcal{M}^n_L is a smooth manifold

The experiments suggest a smooth manifold of dimension n2n - 2 throughout the regime n2<L<nn - 2 < L < n. But codimension counting alone doesn’t get us there — plenty of singular varieties are described as level sets — so we have actual work to do.

Theorem. For n2n \geq 2 and n2<L<nn - 2 < L < n, the configuration space MLn\mathcal{M}^n_L is a smooth submanifold of TnT^n of dimension n2n - 2.

The standard tool for upgrading “level set” to “smooth submanifold” is the regular value theorem: if a smooth map F ⁣:MNF \colon M \to N has dFdF surjective at every point of F1(y)F^{-1}(y), then F1(y)F^{-1}(y) is a smooth submanifold of MM of codimension dimN\dim N.

Notice that we have a choice of which description of MLn\mathcal{M}^n_L to plug in. Each of our three pictures presents it as a level set, and we can pick whichever makes the surjectivity check easiest:

  1. Vertex picture. A level set in (R2)n(\mathbb{R}^2)^n cut out by n+2n + 2 equations (rigidity plus endpoint pinning).
  2. Codim 2 in TnT^n. A level set of the closure map Φ ⁣:TnR2\Phi \colon T^n \to \mathbb{R}^2, (θ1,,θn)keiθk(\theta_1, \ldots, \theta_n) \mapsto \sum_k e^{i\theta_k}.
  3. Codim 1 in Tn1T^{n-1}. A level set of f ⁣:Tn1Rf \colon T^{n-1} \to \mathbb{R}, (θ1,,θn1)Lkeiθk2(\theta_1, \ldots, \theta_{n-1}) \mapsto \big|L - \sum_k e^{i\theta_k}\big|^2.

Checking surjectivity onto a smaller codomain is generally easier — fewer rows of the Jacobian to worry about — so the vertex picture (codomain dimension n+2n + 2) is by far the worst of the three. That leaves codim 2 and codim 1.

The codim-1 version has a 1D codomain, the simplest possible thing to be surjective onto. But when we write ff out in real coordinates,

f(θ1,,θn1)  =  (Lk=1n1cosθk)2  +  (k=1n1sinθk)2,f(\theta_1, \ldots, \theta_{n-1}) \;=\; \Big(\, L - \textstyle\sum_{k=1}^{n-1}\cos\theta_k \,\Big)^2 \;+\; \Big(\textstyle\sum_{k=1}^{n-1}\sin\theta_k\Big)^2,

the resulting partial derivatives are full of products and cross-terms. The codim-2 closure map, by contrast, has Φ\Phi equal to a single sum of trig functions in each component — its Jacobian, as we’ll see in a moment, is a clean 2×n2 \times n matrix of sines and cosines that we can read information off by hand. Codim 2 is the sweet spot: a codomain small enough that surjectivity is easy to talk about, but a simple enough formula that the algebra actually goes through.

So we’ll work with Φ\Phi. Identifying C\mathbb{C} with R2\mathbb{R}^2, the closure map’s real and imaginary parts give

Φ ⁣:TnR2,Φ(θ1,,θn)  =  (k=1ncosθk,    k=1nsinθk).\Phi \colon T^n \longrightarrow \mathbb{R}^2, \qquad \Phi(\theta_1, \ldots, \theta_n) \;=\; \Big(\, \sum_{k=1}^n \cos\theta_k,\;\; \sum_{k=1}^n \sin\theta_k \,\Big).

Its Jacobian — a 2×n2 \times n matrix — is

DΦ(θ)  =  (sinθ1sinθ2sinθncosθ1cosθ2cosθn).D\Phi(\theta) \;=\; \begin{pmatrix} -\sin\theta_1 & -\sin\theta_2 & \cdots & -\sin\theta_n \\ \phantom{-}\cos\theta_1 & \phantom{-}\cos\theta_2 & \cdots & \phantom{-}\cos\theta_n \end{pmatrix}.

The kk-th column is the unit vector (sinθk,cosθk)R2(-\sin\theta_k, \cos\theta_k) \in \mathbb{R}^2.

For DΦD\Phi to be surjective onto R2\mathbb{R}^2, its image must span the plane — and that happens as soon as at least two columns are linearly independent. Equivalently, DΦD\Phi fails to be surjective only when every column is a scalar multiple of every other.

So we need to identify the configurations where this happens. Each column is a unit vector in R2\mathbb{R}^2, so for one to be a scalar multiple of another the multiplier has to be ±1\pm 1 — the two columns are either equal or negatives of each other. Both cases mean the angles θj\theta_j and θk\theta_k differ by an integer multiple of π\pi. So DΦD\Phi fails to be surjective exactly when all of θ1,,θn\theta_1, \ldots, \theta_n pairwise differ by multiples of π\pi — that is, when every rod points along a single common line.

What colinear configurations can satisfy closure? If all rods lie along a single common line, the chain itself — being the cumulative sum of the rod vectors — lies along that line too. Since the chain starts at the origin and ends at (L,0)(L, 0) with L>0L > 0, the only candidate line is the positive xx-axis. Each rod is therefore ±1\pm 1, and the closure equation reduces to

L  =  n+n,L \;=\; n_+ - n_-,

where n±n_\pm counts the rods pointing in the ±x\pm x direction — an integer. So DΦD\Phi can fail to be surjective only when LL is one of finitely many integer values, and for every other LL the regular value theorem immediately gives us a smooth manifold.

In our regime n2<L<nn - 2 < L < n this rules out everything except a single point: L=n1L = n - 1, the lone integer in the interior. There the integer condition is met, and on the face of it a colinear configuration could exist. But the experiments showed nothing dramatic happening at L=n1L = n - 1 — the curve and surface looked perfectly smooth as we slid LL across that value — so we need to dig a little deeper.

The deeper observation is a quick parity calculation. We have two equations:

n++n=n,n+n=L,n_+ + n_- = n, \qquad n_+ - n_- = L,

the first because the rods partition into "++" and "-", the second from the colinear closure above. Adding them gives

2n+  =  n+L.2\, n_+ \;=\; n + L.

Since n+n_+ is a non-negative integer, the left side is even — so n+Ln + L must be even too, which means nn and LL must have the same parity. The integer L=n1L = n - 1 has the opposite parity from nn, so no integer n+n_+ can satisfy this equation. No colinear closure exists at L=n1L = n - 1: DΦD\Phi is surjective there too, and the regular value theorem applies.

Putting it together, DΦD\Phi is surjective at every point of MLn\mathcal{M}^n_L throughout the regime n2<L<nn - 2 < L < n, so MLn\mathcal{M}^n_L is a smooth submanifold of TnT^n of dimension n2n - 2. This proves the theorem.

MLn\mathcal{M}^n_L is a sphere

We can now go further than smoothness:

Theorem. For n2n \geq 2 and n2<L<nn - 2 < L < n, MLn    Sn2.\mathcal{M}^n_L \;\cong\; S^{n-2}.

The experiments already made ML4\mathcal{M}^4_L look like a 42=24-2=2 sphere; the proof here formalizes this for every nn. We argue by induction on the number of rods, with each inductive step recognizing the addition of a rod as a topological suspension. Starting from the base case ML2=S0\mathcal{M}^2_L = S^0 that gives a tower of n2n - 2 suspensions, and Σn2S0=Sn2\Sigma^{n-2} S^0 = S^{n-2} by repeated application of the formula below.

Definition (suspension). The (unreduced) suspension ΣX\Sigma X of a space XX is the quotient of X×[0,1]X \times [0, 1] that collapses each end X×{0}X \times \{0\} and X×{1}X \times \{1\} to a single point. Picture latitudes of a sphere — each latitude a copy of XX, the two poles the collapsed endpoints. In particular, ΣSk=Sk+1\Sigma S^k = S^{k+1}.

We’ll keep the same coordinates as in the smooth manifold proof: MLn\mathcal{M}^n_L as the codim-2 subset of TnT^n, with all rod angles θ1,,θn\theta_1, \ldots, \theta_n explicit.

Base case: ML2S0\mathcal{M}^2_L \cong S^0

Two unit rods from A=(0,0)A = (0,0) to B=(L,0)B = (L, 0), with 0<L<20 < L < 2. The single interior hinge p1\mathbf{p}_1 lies on the unit circle around AA (because the first rod has length 1) and on the unit circle around BB (because the second rod has length 1). For 0<L<20 < L < 2 those circles intersect in exactly two points,

p1±  =  (L2,  ±4L22),\mathbf{p}_1^{\pm} \;=\; \left(\tfrac{L}{2},\; \pm \tfrac{\sqrt{4 - L^2}}{2}\right),

so ML2\mathcal{M}^2_L is a two-point space — i.e., S0S^0.

Inductive step: project onto the last rod

Assume inductively that Mdn1Sn3\mathcal{M}^{n-1}_d \cong S^{n-3} for every d(n3,n1)d \in (n-3, n-1). We want to conclude MLnSn2\mathcal{M}^n_L \cong S^{n-2} for L(n2,n)L \in (n-2, n).

Project a configuration onto the angle of its last rod:

π ⁣:MLnS1,(θ1,,θn)θn.\pi \colon \mathcal{M}^n_L \longrightarrow S^1, \qquad (\theta_1, \ldots, \theta_n) \longmapsto \theta_n.

(Either end of the chain would work topologically; we go with the last because peeling rods off the end leaves a sub-chain naturally indexed (θ1,,θn1)(\theta_1, \ldots, \theta_{n-1}) — ready to apply the same argument recursively, with no renaming.)

We’ll analyze the image and the fibers of π\pi, and read the suspension structure off them.

Image of π\pi. Given a last-rod angle θn\theta_n, the second-to-last vertex sits at

pn1  =  Beiθn  =  Leiθn\mathbf{p}_{n-1} \;=\; B - e^{i\theta_n} \;=\; L - e^{i\theta_n}

— we just step backward from BB by one rod. The first n1n - 1 rods then need to span from AA to pn1\mathbf{p}_{n-1}, which is possible iff pn1n1|\mathbf{p}_{n-1}| \leq n - 1. So π\pi maps onto the arc

θn[α,α],α  =  arccos ⁣(L2(n1)2+12L).\theta_n \in [-\alpha, \alpha], \qquad \alpha \;=\; \arccos\!\left(\frac{L^2 - (n-1)^2 + 1}{2L}\right).

For n2<L<nn - 2 < L < n this α\alpha lies strictly in (0,π)(0, \pi), so the image is a closed arc — topologically an interval, the suspension parameter we want.

Fibers of π\pi. Fix θn\theta_n in the admissible arc. The first n1n - 1 rods form a chain from AA to pn1=Leiθn\mathbf{p}_{n-1} = L - e^{i\theta_n}, of sub-base length

d(θn)  =  Leiθn  =  L22Lcosθn+1.d(\theta_n) \;=\; |L - e^{i\theta_n}| \;=\; \sqrt{L^2 - 2L\cos\theta_n + 1}.

In its own reference frame — with the base laid along the positive xx-axis from (0,0)(0,0) to (d,0)(d, 0) — this sub-chain is a configuration in Md(θn)n1\mathcal{M}^{n-1}_{d(\theta_n)}. There is a unique orientation-preserving rigid motion identifying that sub-frame with the actual placement Apn1A \to \mathbf{p}_{n-1}, so the fiber

π1(θn)    Md(θn)n1.\pi^{-1}(\theta_n) \;\cong\; \mathcal{M}^{n-1}_{d(\theta_n)}.

By induction, what kind of fiber is this?

Putting these together, MLn\mathcal{M}^n_L is an arc’s worth of (n3)(n-3)-spheres, with each sphere collapsing to a single point at the two ends of the arc. That is precisely the unreduced suspension of Sn3S^{n-3}:

MLn    ΣSn3    Sn2.\mathcal{M}^n_L \;\cong\; \Sigma\, S^{n-3} \;\cong\; S^{n-2}. \qquad \blacksquare

What’s next

The suspension proof is short, but it is doing more work than just establishing the homeomorphism type. The argument is constructive: at each step it tells us how to coordinatize MLn\mathcal{M}^n_L using the suspension parameter θn\theta_n together with whatever coordinates we already have on the fiber Mdn1\mathcal{M}^{n-1}_d. Iterating from the base case S0S^0 all the way up — peeling off the last rod, then the next-to-last, and so on — gives explicit spherical coordinates on MLn\mathcal{M}^n_L, with the full algebraic structure laid out as nested rotations and angles.

That recipe is the subject of the next post.

← All posts