Cauchy's arm lemma says that if n-2 consecutive angles of a convex polygon are opened but not beyond , keeping all but one edge length fixed and permitting that "missing" edge e to vary in length, then e lengthens (or retains its original length). A generalization of this lemma, developed by Prof. O'Rourke,1 permits opening of the angles beyond , as far reflex as they were originally convex. The conclusion remains the same: e cannot shorten.
I first created a Mathematica® program that simulated the above situation, a chain with all edge-lengths fixed, leaving the start and end points of the chain to determine the length-varying edge. The program generates random points and takes their convex hull to form a random chain, and then generates random angles (within the constraints) for each vertex (chain joint). We ran the program for several million iterations, searching for counterexamples to what was then a conjecture. For every random open chain the result was the same: e did not shorten (see Fig. 1). Later Prof. O'Rourke proved the theorem by induction,1 and also discovered it could be derived from Chern's proof2 of a theorem of Axel Schur,3 employing differential geometry.
Satisfied with the results produced by the Mathematica® program, we wanted to create a more interactive method of illustrating the theorem. We decided that a Java applet would provide the appropriate interactivity. Using Java 1.2's MVC (Model View Control), I developed an applet that would allow user input of the chain. Once the chain is drawn, the applet displays the angle constraints for each vertex (joint) and the "forbidden circle" (see Fig. 2), the area where the chain hand cannot penetrate (i.e., penetration would mean shortening of the length-varying edge e). The user can then change the angles by double-clicking on a vertex (joint) and dragging the chain from that vertex onward (see Fig. 3). The applet also illustrates other geometric aspects of the theorem, including the "reachability region" composed of the union of many circle arcs (see Fig. 4). (Supported by Schultz grant and NSF.)
Fig. 1: Unfolding of polygon created by Mathematica®
Fig. 2: Convex chain with forbidden circle and angle constraints.
Fig. 3: Open chain from Java applet
Fig. 4: The "reachability region."