Continuous Flattening and Reversing
of Convex Polyhedral Linkages

Erik D. Demaine MIT Computer Science and Artificial Intelligence Laboratory, 32 Vassar St., Cambridge, MA 02139, USA, {edemaine,mdemaine,hecher,ryelin,vluo}@mit.edu Martin L. Demaine MIT Computer Science and Artificial Intelligence Laboratory, 32 Vassar St., Cambridge, MA 02139, USA, {edemaine,mdemaine,hecher,ryelin,vluo}@mit.edu Markus Hecher MIT Computer Science and Artificial Intelligence Laboratory, 32 Vassar St., Cambridge, MA 02139, USA, {edemaine,mdemaine,hecher,ryelin,vluo}@mit.edu Rebecca Lin MIT Computer Science and Artificial Intelligence Laboratory, 32 Vassar St., Cambridge, MA 02139, USA, {edemaine,mdemaine,hecher,ryelin,vluo}@mit.edu Victor H. Luo MIT Computer Science and Artificial Intelligence Laboratory, 32 Vassar St., Cambridge, MA 02139, USA, {edemaine,mdemaine,hecher,ryelin,vluo}@mit.edu Chie Nara Meiji Institute for Advanced Study of Mathematical Sciences, Meiji University, Nakano, Tokyo 164-8525, Japan, [email protected]
Abstract

We prove two results about transforming any convex polyhedron, modeled as a linkage L𝐿Litalic_L of its edges. First, if we subdivide each edge of L𝐿Litalic_L in half, then L𝐿Litalic_L can be continuously flattened into a plane. Second, if L𝐿Litalic_L is equilateral and we again subdivide each edge in half, then L𝐿Litalic_L can be reversed, i.e., turned inside-out. A linear number of subdivisions is optimal up to constant factors, as we show (nonequilateral) examples that require a linear number of subdivisions. For nonequilateral linkages, we show that more subdivisions can be required: even a tetrahedron can require an arbitrary number of subdivisions to reverse. For nonequilateral tetrahedra, we provide an algorithm that matches this lower bound up to constant factors: logarithmic in the aspect ratio.

1 Introduction

Given a polyhedral surface (planar polygons glued together in 3D), what shapes can we fold it into via a continuous motion that avoids crossings and stretching? A first goal is continuous flattening [5, Section 18.1]: put the entire surface in a single plane. Continuous flattening is known to be possible for all convex polyhedra [1, 8], orthogonal polyhedra [4], nonconvex polyhedra with countably many creases [2], and various special cases with additional properties [7, 10]. All of these results for closed surfaces use “rolling” creases which move over time, because otherwise the Bellows Theorem prevents changing the volume. A second goal is reversing or turning inside-out [9]: transforming the surface into its mirror image, exchanging the identity of the two sides (in the case of orientable surfaces). This is known to be possible for a family of polyhedral surfaces with boundary based on tubes, notably using just finitely many creases [9].

In this paper, we consider continuous flattening and turning inside-out applied to just the edges of a polyhedral surface. More precisely, a linkage is an assembly of rigid segments (edges) whose lengths must be preserved, connected together by universal joints (vertices). In particular, we focus on convex polyhedral linkages, where the edges form the edge skeleton of a convex polyhedron. Like polyhedral surfaces, we allow the addition of extra creases, or in other words, subdivision of the edges. Continuous flattening and turning inside-out of linkages is easy with rolling creases, so we allow only finitely many creases, i.e., finite subdivision. We also forbid proper crossing between edges (as detailed in Section 2), in contrast to some past work on turning polygons inside-out [5, Section 5.1.2].

More precisely, we study on the following two problems for convex polyhedral linkages:

Problem 1 (Flattening).

Given a linkage L𝐿Litalic_L with initial state/configuration S𝑆Sitalic_S, a flattening is a continuous motion of L𝐿Litalic_L from S𝑆Sitalic_S to a flat state where all vertices lie in the xy𝑥𝑦xyitalic_x italic_y plane, while preserving edge lengths and avoiding crossings. Which polyhedral linkages can be continuously flattened?

To subdivide an edge AB𝐴𝐵ABitalic_A italic_B in a linkage is to replace AB𝐴𝐵ABitalic_A italic_B with a new vertex, say X𝑋Xitalic_X, and edges AX𝐴𝑋AXitalic_A italic_X and XB𝑋𝐵XBitalic_X italic_B such that |AX|+|XB|=|AB|𝐴𝑋𝑋𝐵𝐴𝐵|AX|+|XB|=|AB|| italic_A italic_X | + | italic_X italic_B | = | italic_A italic_B |. How many subdivisions do we need to continuously flatten a given linkage? Does it suffice to subdivide each edge k𝑘kitalic_k times for some k𝑘kitalic_k?

Problem 2 (Turning Inside-Out/Reversing).

A reversing or turning inside-out motion of a linkage L𝐿Litalic_L with labeled vertices and initial state S𝑆Sitalic_S is a continuous motion of L𝐿Litalic_L from S𝑆Sitalic_S to its reflection Ssuperscript𝑆S^{\prime}italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT through a plane, while preserving edge lengths and avoiding crossings. Which linkages admit such a motion? How many subdivisions do we need to continuously flatten a given linkage? Does it suffice to subdivide each edge k𝑘kitalic_k times for some k𝑘kitalic_k?

More generally, we could ask when there are motions between every two states of the linkage, i.e., connectivity of the configuration space. Such problems have been considered extensively [5, Chapter 6], but not with subdivision.

1.1 Our Results

We prove the following results:

  1. 1.

    A worst-case linear lower bound on the number of required subdivisions for flattening or turning inside-out a (nonequilateral) linkage (Section 3).

  2. 2.

    Every convex polyhedral linkage can be continuously flattened if we subdivide each edge at its midpoint (Section 4). This bound matches the lower bound up to constant factors.

  3. 3.

    Every equilateral convex polyhedral linkage can be turned inside-out if we subdivide each edge at its midpoint (Section 5).

  4. 4.

    Turning a (nonequilateral) tetrahedron inside-out requires a number of subdivisions that is logarithmic in its aspect ratio (matching upper and lower bounds). More generally, we establish a lower bound for all polyhedral linkages.

2 Definitions

A linkage [5, Chapter 11] is a graph paired with an assignment of lengths to its edges. Each edge represents a rigid bar, and each vertex acts as a joint about which incident edges can freely rotate. A linkage is equilateral if all its edge lengths are equal. A [convex] polyhedral linkage is a linkage obtained by taking the edge skeleton of a [convex] polyhedron.

A state or configuration of a linkage specifies a straight-line drawing of the graph in Euclidean space where the lengths of the embedded segments match the assigned edge lengths. A state is nontouching if the drawing is in fact an embedding, i.e., no edges touch except at shared endpoints. We sometimes also allow a state to be self-touching, meaning that edges can intersect; in this case, a state also specifies the local connectivity in an infinitesimal neighborhood of each point where multiple edges meet (including vertices and touching points) as a topological drawing of the neighborhood within an infinitesimal ball; see [3] for details. Figure 1 shows an example of two self-touching states of a linkage with identical vertex positions but distinct edge orderings. A motion of a linkage is a continuum {Stt[0,1]}conditional-setsubscript𝑆𝑡𝑡01\{S_{t}\mid t\in[0,1]\}{ italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∣ italic_t ∈ [ 0 , 1 ] } of states that avoids crossings, i.e., limits of states that approach two edges touching match the topological drawings once they touch, and if touching remains for a positive time, the topological drawings are preserved up to homotopy.

Refer to caption
Figure 1: Two distinct flat-folded states of a linkage where edges AC𝐴𝐶ACitalic_A italic_C and BD𝐵𝐷BDitalic_B italic_D are touching. In (a), AC𝐴𝐶ACitalic_A italic_C lies above BD𝐵𝐷BDitalic_B italic_D (i.e., ACBDsucceeds𝐴𝐶𝐵𝐷AC\succ BDitalic_A italic_C ≻ italic_B italic_D), while in (b), BD𝐵𝐷BDitalic_B italic_D lies above AC𝐴𝐶ACitalic_A italic_C (i.e., BDACsucceeds𝐵𝐷𝐴𝐶BD\succ ACitalic_B italic_D ≻ italic_A italic_C). Transitioning between these states requires a 2π2𝜋2\pi2 italic_π rotation about edge CD𝐶𝐷CDitalic_C italic_D.

A simpler model for touching-but-not-crossing linkages is sticky linkages: once two edges touch, they remain touching at the same points (measured relative to their lengths). Our motions will all follow this stronger model, which clearly forbids crossing.

We are interested in continuously flattening a convex polyhedral linkage L𝐿Litalic_L, i.e., folding the linkage L𝐿Litalic_L via a motion that ends with a flat state that lies entirely within a plane. Notably, a continuous flattening {Stt[0,1]}conditional-setsubscript𝑆𝑡𝑡01\{S_{t}\mid t\in[0,1]\}{ italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∣ italic_t ∈ [ 0 , 1 ] } must satisfy the following properties:

  1. 1.

    S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the given initial state of the linkage;

  2. 2.

    Stsubscript𝑆𝑡S_{t}italic_S start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT remains isomorphic to L𝐿Litalic_L, and all edges maintain their original lengths;

  3. 3.

    S1subscript𝑆1S_{1}italic_S start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is flat, meaning that all its vertices lie in a plane; and

  4. 4.

    edges may touch but must not cross (e.g., sticky model).

3 Lower Bound on Subdivision

First we show that, in the worst case, we need a linear number of edge subdivisions to flatten or turn inside-out nonequilateral polyhedra:

Theorem 1.

There is an infinite family of convex polyhedral linkages that requires Ω(|E(G)|)Ω𝐸𝐺\Omega(|E(G)|)roman_Ω ( | italic_E ( italic_G ) | ) subdivisions to flatten or reverse, where G𝐺Gitalic_G is the graph of the linkage.

Proof.

Start from a family of strictly convex triangulated convex polyhedra P𝑃Pitalic_P, such as geodesic domes. Subdivide each triangle T𝑇Titalic_T of P𝑃Pitalic_P into three triangles by adding a central vertex vTsubscript𝑣𝑇v_{T}italic_v start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT slightly off the triangle T𝑇Titalic_T (small enough to preserve strict convexity) and connecting v𝑣vitalic_v to the three vertices of the triangle T𝑇Titalic_T. If P𝑃Pitalic_P has n𝑛nitalic_n triangles, then Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT has 3n3𝑛3n3 italic_n triangles, dividing into n𝑛nitalic_n triples. Each triple of triangles forms a tetrahedron, which is rigid and not flat by construction, so at least one of its edges must be subdivided in order for it to either flatten or turn inside-out. Some edges are shared by two tetrahedra, but only two, so we need at least n/2𝑛2n/2italic_n / 2 subdivisions. By the Handshaking Lemma, P𝑃Pitalic_P has 3n/23𝑛23n/23 italic_n / 2 edges, and Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT has |E(G)|=9n/2𝐸𝐺9𝑛2|E(G)|=9n/2| italic_E ( italic_G ) | = 9 italic_n / 2 edges. Thus we need |E(G)|/9=Ω(|E(G)|)𝐸𝐺9Ω𝐸𝐺|E(G)|/9=\Omega(|E(G)|)| italic_E ( italic_G ) | / 9 = roman_Ω ( | italic_E ( italic_G ) | ) subdivisions. ∎

4 Flattening Convex Polyhedral Linkages

We provide an algorithm for flattening that matches the linear lower bound above. More precisely, we establish the following.

Theorem 2.

Given a convex polyhedral linkage, subdividing every edge at its midpoint enables continuous flattening. Moreover, the resulting linkage can be continuously moved to lie in a straight line.

Proof.

Let P𝑃Pitalic_P be the convex hull of a convex polyhedral linkage L𝐿Litalic_L. Figure 2 shows An example of continuously folding a convex polygonal linkage into a spiky ball by subdividing all edges in half. The algorithm is as follows.

Refer to caption
Figure 2: An example of continuously folding a convex polygonal linkage into a spiky ball by subdividing all edges in half: (a) the original pentagonal linkage ABCDE𝐴𝐵𝐶𝐷𝐸ABCDEitalic_A italic_B italic_C italic_D italic_E with a fixed point O𝑂Oitalic_O, the midpoint M𝑀Mitalic_M of the edge AB𝐴𝐵ABitalic_A italic_B, and its intermediate folding with vertices A,B,C,D,Esuperscript𝐴superscript𝐵superscript𝐶superscript𝐷superscript𝐸A^{\prime},B^{\prime},C^{\prime},D^{\prime},E^{\prime}italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_B start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and Msuperscript𝑀M^{\prime}italic_M start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT corresponding to A,B,C,D,E𝐴𝐵𝐶𝐷𝐸A,B,C,D,Eitalic_A , italic_B , italic_C , italic_D , italic_E and M𝑀Mitalic_M, respectively; and (b) the spiky ball with center O𝑂Oitalic_O reached by A,B,C,Dsuperscript𝐴superscript𝐵superscript𝐶superscript𝐷A^{\prime},B^{\prime},C^{\prime},D^{\prime}italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_B start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_C start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_D start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and Esuperscript𝐸E^{\prime}italic_E start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.
  1. 1.

    Choose any point O𝑂Oitalic_O in the interior of P𝑃Pitalic_P or the interior of any face.

  2. 2.

    Shrink L𝐿Litalic_L toward O𝑂Oitalic_O by moving all vertices of P𝑃Pitalic_P toward O𝑂Oitalic_O and folding all edges in half at their midpoints such that, at each moment, the convex figure Psuperscript𝑃P^{\prime}italic_P start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of moved vertices of P𝑃Pitalic_P is similar to P𝑃Pitalic_P, and each edge e𝑒eitalic_e of P𝑃Pitalic_P is folded in half and sticks outside of the triangle composed of e𝑒eitalic_e and O𝑂Oitalic_O in the plane OAB𝑂𝐴𝐵OABitalic_O italic_A italic_B. Since P𝑃Pitalic_P is convex and the folded figure of e𝑒eitalic_e by the midpoint comprises an isosceles triangle, there are no collisions in the above motion. Indeed, each edge is between two dashed blue orthogonal slabs, as drawn in Figure 2 (a), which are disjoint and resulting triangles remain inside (see also Figure 2 (b)).

  3. 3.

    When all vertices reach O𝑂Oitalic_O, we get a spiky ball that can be flattened and continuously moved to a straight line. This works as follows. First, we translate to make the center at O𝑂Oitalic_O. Then, we iteratively take the spike with the smallest angle to the target axial (xy𝑥𝑦xyitalic_x italic_y) plane and directly rotate it to the plane. Since this was the spike with the smallest angle, it does not hit any other spikes, except possibly touching the plane. We repeat until reaching a folded state. We can move to a line by using the same method.


We call the point O𝑂Oitalic_O in the above proof the center of the spiky ball. Figure 3 (a) shows a continuous process for a tetrahedral linkage flattened via a spiky ball. Figure 3 (b) shows another continuous flattening process to obtain Figure 1 (a) as a subset, that is more efficient in that it requires only a single subdivision, but it cannot be transformed to a straight line without additional subdivision of edges.

Refer to caption

.75

Figure 3: An example of flattening a tetrahedral linkage in two ways: (a) subdividing all edges in half, and (b) subdividing only one edge to obtain Figure 1 (a) as a subset.

5 Turning Equilateral Linkages Inside-Out

In this section, we work on the problem of continuous inside-out (reversing), that is, we will establish the following result.

Theorem 3.

Given an equilateral convex polyhedral linkage, subdividing every edge at its midpoint enables continuous reversing, that is, inside-out.

Before establishing an algorithm that is crucial for this proof, we focus on two special cases that will be key in the algorithm.

5.1 Tetrahedral Linkages

The following lemma plays a key role in the algorithm and is therefore essential for the proof of Theorem 3.

Lemma 1.

Given a tetrahedral linkage L𝐿Litalic_L with an equilateral triangular base BCD𝐵𝐶𝐷BCDitalic_B italic_C italic_D and the peak A𝐴Aitalic_A such that |AB|=|AC|=|AD|<2|BC|/3𝐴𝐵𝐴𝐶𝐴𝐷2𝐵𝐶3|AB|=|AC|=|AD|<2|BC|/\sqrt{3}| italic_A italic_B | = | italic_A italic_C | = | italic_A italic_D | < 2 | italic_B italic_C | / square-root start_ARG 3 end_ARG, subdividing every edge, connected to A𝐴Aitalic_A, at its midpoint enables continuous reversing, that is, turning it inside-out.

Proof.

Let L𝐿Litalic_L be the linkage given in the above and O𝑂Oitalic_O be the orthogonal foot of A𝐴Aitalic_A onto the triangle BCD𝐵𝐶𝐷BCDitalic_B italic_C italic_D (see Figure 4 (a)). Fix the triangle BCD𝐵𝐶𝐷BCDitalic_B italic_C italic_D. Move the peak A𝐴Aitalic_A to its mirror image Asuperscript𝐴A^{\prime}italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT about the triangle BCD𝐵𝐶𝐷BCDitalic_B italic_C italic_D along the line segment AA𝐴superscript𝐴AA^{\prime}italic_A italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Simultaneously, rotate the midpoints of the edges AB,AC𝐴𝐵𝐴𝐶AB,ACitalic_A italic_B , italic_A italic_C and AD𝐴𝐷ADitalic_A italic_D about B,C𝐵𝐶B,Citalic_B , italic_C and D𝐷Ditalic_D, respectively, along circular arcs of radius |AB|/2=|AC|/2=|AD|/2𝐴𝐵2𝐴𝐶2𝐴𝐷2|AB|/2=|AC|/2=|AD|/2| italic_A italic_B | / 2 = | italic_A italic_C | / 2 = | italic_A italic_D | / 2 in the planes determined by O𝑂Oitalic_O and AB,AC𝐴𝐵𝐴𝐶AB,ACitalic_A italic_B , italic_A italic_C and AD𝐴𝐷ADitalic_A italic_D, respectively. No collisions occur during the motion, because the conditions |AB|=|AC|=|AD|<2|BC|/3𝐴𝐵𝐴𝐶𝐴𝐷2𝐵𝐶3|AB|=|AC|=|AD|<2|BC|/\sqrt{3}| italic_A italic_B | = | italic_A italic_C | = | italic_A italic_D | < 2 | italic_B italic_C | / square-root start_ARG 3 end_ARG and |AO|=|BO|=|CO|=|BC|/3𝐴𝑂𝐵𝑂𝐶𝑂𝐵𝐶3|AO|=|BO|=|CO|=|BC|/\sqrt{3}| italic_A italic_O | = | italic_B italic_O | = | italic_C italic_O | = | italic_B italic_C | / square-root start_ARG 3 end_ARG yield |BO|>|AB|/2𝐵𝑂𝐴𝐵2|BO|>|AB|/2| italic_B italic_O | > | italic_A italic_B | / 2, |CO|>|AC|/2𝐶𝑂𝐴𝐶2|CO|>|AC|/2| italic_C italic_O | > | italic_A italic_C | / 2, and |DO|>|AD|/2𝐷𝑂𝐴𝐷2|DO|>|AD|/2| italic_D italic_O | > | italic_A italic_D | / 2. Note that the traces of midpoints of B,C𝐵𝐶B,Citalic_B , italic_C, and D𝐷Ditalic_D pass through their destinations which are the mirror images of midpoints about the triangle BCD𝐵𝐶𝐷BCDitalic_B italic_C italic_D, and then come back there (see Figure  4 (b)–(d)). ∎

Refer to caption
Figure 4: (a) An example of a tetrahedral linkage with an equilateral base BCD𝐵𝐶𝐷BCDitalic_B italic_C italic_D and the peak A𝐴Aitalic_A such that |AB|=|AC|=|AD|<2|BC|/3𝐴𝐵𝐴𝐶𝐴𝐷2𝐵𝐶3|AB|=|AC|=|AD|<2|BC|/\sqrt{3}| italic_A italic_B | = | italic_A italic_C | = | italic_A italic_D | < 2 | italic_B italic_C | / square-root start_ARG 3 end_ARG; (b) Motions of A𝐴Aitalic_A and midpoints of AB,AC,AD𝐴𝐵𝐴𝐶𝐴𝐷AB,AC,ADitalic_A italic_B , italic_A italic_C , italic_A italic_D in the beginning; (c) The figure of the linkage when midpoints reach on the cylinder of radius |AB|/2𝐴𝐵2|AB|/2| italic_A italic_B | / 2 with the AA𝐴superscript𝐴AA^{\prime}italic_A italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT-axis (where Asuperscript𝐴A^{\prime}italic_A start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is the target location of A𝐴Aitalic_A); (d) The final figure of L𝐿Litalic_L which is the mirror image of the original. .75

Remark. In the above lemma, the continuous motion of inside-out can be applied to more general tetrahedron ABCD𝐴𝐵𝐶𝐷ABCDitalic_A italic_B italic_C italic_D satisfying the following two conditions:

(1) the orthogonal foot O𝑂Oitalic_O of A𝐴Aitalic_A on the plane including the triangle BCD𝐵𝐶𝐷BCDitalic_B italic_C italic_D is in the interior of the triangle,

(2) |AB|/2<|OB|,|AC|/2<2|OC|,and|AD|/2<|OD|formulae-sequence𝐴𝐵2𝑂𝐵formulae-sequence𝐴𝐶22𝑂𝐶andAD2OD|AB|/2<|OB|,|AC|/2<2|OC|,\rm{and}\,|AD|/2<|OD|| italic_A italic_B | / 2 < | italic_O italic_B | , | italic_A italic_C | / 2 < 2 | italic_O italic_C | , roman_and | roman_AD | / 2 < | roman_OD |.

5.2 Triangular Prisms

Now, with this result at hand, we show a method of turning inside-out a stack of triangular prisms, which is the core of what we do in the general case.

Lemma 2.

Given the linkage consisting of a stack of k𝑘kitalic_k equilateral triangles connected by k1𝑘1k-1italic_k - 1 prisms (not necessarily equilateral), totaling 3k3𝑘3k3 italic_k vertices, as shown in Figure  5 (a). Then, subdividing every edge except the base v1v2v3subscript𝑣1subscript𝑣2subscript𝑣3v_{1}v_{2}v_{3}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT at its midpoint enables continuous reversing, that is, turning it inside-out.

Refer to caption
Figure 5: (a) A linkage of an equilateral triangular prism with three stacks, where number i𝑖iitalic_i stands for the vertex visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT; (b) The top stack transformed to a near tetrahedral linkage; (c) The near tetrahedral linkage transformed to the inside-out figure: (d) The second top stack transformed to a near tetrahedral linkage; (e) The near tetrahedral linkage transformed to the inside-out figure; (f) Edges folded in half moved in the outside.
Proof.

The algorithm of the proof is as follows.

  1. 1.

    Denote by γ𝛾\gammaitalic_γ the central axis of L𝐿Litalic_L. Move three vertices vi(i=7,8,9)subscript𝑣𝑖𝑖789v_{i}\,(i=7,8,9)italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_i = 7 , 8 , 9 ) of the top stack toward γ𝛾\gammaitalic_γ by rotation about vi(i=4,5,6)subscript𝑣𝑖𝑖456v_{i}\,(i=4,5,6)italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_i = 4 , 5 , 6 ), respectively until just before touching each other. Simultaneously fold three edges v7v8,v8v9subscript𝑣7subscript𝑣8subscript𝑣8subscript𝑣9v_{7}v_{8},v_{8}v_{9}italic_v start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 9 end_POSTSUBSCRIPT and v9v7subscript𝑣9subscript𝑣7v_{9}v_{7}italic_v start_POSTSUBSCRIPT 9 end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT at their midpoints, hanging down from their end vertices. We call the resulting figure a near-tetrahedral linkage, which is attached by folded edges hanging down, as shown in Figure 5 (b).

  2. 2.

    Apply the motion “inside-out” to the near-tetrahedral linkage, where edges hanging down move together with their end vertices as they are (Figure 5 (c)).

  3. 3.

    Apply a similar process to the second top stack. Then, we get a reversed near-tetrahedral linkage with edges hanging down from their end vertices (Figure 5 (d) and (e)).

  4. 4.

    Move folded edges at midpoints toward the outside of the cylinder until reaching the plane orthogonal to γ𝛾\gammaitalic_γ (Figure 5 (f)).

  5. 5.

    Stretching folded edges, keeping vertical edges straight, enables turning the original figure of L𝐿Litalic_L inside-out.


Remark. In the above lemma, the continuous motion of inside-out can be applied to a more general triangular prism with an equilateral triangular base of edge length l𝑙litalic_l such that the height of each stack is greater than (1/3)l13𝑙(1/\sqrt{3})l( 1 / square-root start_ARG 3 end_ARG ) italic_l and less than (2/3)l23𝑙(2/\sqrt{3})l( 2 / square-root start_ARG 3 end_ARG ) italic_l.

5.3 General Algorithm

The results from above can now be used to develop even more generic procedures for turning inside-out. The outline of our algorithm for turning equilateral linkages inside-out is as follows. Here and in what follows, we assume the edge length of a given linkage is one.

Refer to caption
Figure 6: (a): Visualization of vertex sets Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT according to their distance to F𝐹Fitalic_F obtained by breath-first search. (b): Horizontal edges are along the circle and vertical edges connect neighboring circles. By 3-connectivity there exist 3333 disjoint paths, as highlighted in color.
  1. 1.

    Choose any face F𝐹Fitalic_F of L𝐿Litalic_L and any interior point O𝑂Oitalic_O of F𝐹Fitalic_F. Draw Euclidean xyz𝑥𝑦𝑧xyzitalic_x italic_y italic_z-axes with the origin O𝑂Oitalic_O such that F𝐹Fitalic_F is on the xy𝑥𝑦xyitalic_x italic_y-plane and L𝐿Litalic_L in the halfspace {z0}𝑧0\{z\geq 0\}{ italic_z ≥ 0 }.

  2. 2.

    Breadth-first search. Divide the vertex set V𝑉Vitalic_V into subsets {Vi:0i}conditional-setsubscript𝑉𝑖0𝑖\{V_{i}:0\leq i\leq\ell\}{ italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : 0 ≤ italic_i ≤ roman_ℓ } according to the edge distance from F𝐹Fitalic_F. We call an edge whose endpoints are in the same subset horizontal edge and any other edge vertical edge. Figure 6 (a) depicts vertex sets Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT according to their distance i𝑖iitalic_i to F𝐹Fitalic_F; (b) shows the location of horizontal edges along the circles and vertical edges connecting neighboring circles.

  3. 3.

    Transform L𝐿Litalic_L into a near spiky ball, denoted by nsb(L)𝑛𝑠𝑏𝐿nsb(L)italic_n italic_s italic_b ( italic_L ), by stopping the continuous motion {Lt:0t1}conditional-setsubscript𝐿𝑡0𝑡1\{L_{t}:0\leq t\leq 1\}{ italic_L start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT : 0 ≤ italic_t ≤ 1 } as defined in the proof of Theorem 2, just before the end.

  4. 4.

    Subdivide each Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT into three groups Vi,1subscript𝑉𝑖1V_{i,1}italic_V start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT, Vi,2subscript𝑉𝑖2V_{i,2}italic_V start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT, and Vi,3subscript𝑉𝑖3V_{i,3}italic_V start_POSTSUBSCRIPT italic_i , 3 end_POSTSUBSCRIPT, evenly in equator order, where V,1=Vsubscript𝑉1subscript𝑉V_{\ell,1}=V_{\ell}italic_V start_POSTSUBSCRIPT roman_ℓ , 1 end_POSTSUBSCRIPT = italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT, and V,2subscript𝑉2V_{\ell,2}italic_V start_POSTSUBSCRIPT roman_ℓ , 2 end_POSTSUBSCRIPT and V,3subscript𝑉3V_{\ell,3}italic_V start_POSTSUBSCRIPT roman_ℓ , 3 end_POSTSUBSCRIPT are empty in the case |V|2subscript𝑉2|V_{\ell}|\leq 2| italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT | ≤ 2. We do so by exploiting 3-connectivity, implying the existence of three disjoint paths by Menger’s Theorem [11, 6]. Note that the in-between “vertical” edges form a planar graph, see also Figure 6 (b). For details, we refer to the proof in Section 5.5 below.

  5. 5.

    Move vertices of nsb(L) by parallel transformation along z𝑧zitalic_z-axis to a thin cylindrical (+1)1({\ell}+1)( roman_ℓ + 1 )-sized stack, such that the vertices of Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are on the plane z=i(1ε)𝑧𝑖1𝜀z=i\,(1-\varepsilon)italic_z = italic_i ( 1 - italic_ε ) with small enough ε>0𝜀0\varepsilon>0italic_ε > 0. This works in multiple steps: First the maximum distance vertices in Vsubscript𝑉V_{\ell}italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT move up by 1ε1𝜀1-\varepsilon1 - italic_ε, then the farthest two layers V1,Vsubscript𝑉1subscript𝑉V_{{\ell}-1},V_{\ell}italic_V start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT together move up by 1ε1𝜀1-\varepsilon1 - italic_ε, and so on. Edges follow their end vertices, where their midpoints are located in the exterior of the cylinder; horizontal edges are located on the planes orthogonal to the z𝑧zitalic_z-axis. We call the resulting figure a cylindrical linkage, denoted by cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ).

  6. 6.

    Transform cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ) to a near triangular prism with extra edges, e.g., Figure 7 (d) for a regular icosahedral linkage. To do so, move vertices so that the vertices in the same subgroup are located very close to each other, and Vi,1subscript𝑉𝑖1V_{i,1}italic_V start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT, Vi,2subscript𝑉𝑖2V_{i,2}italic_V start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT, and Vi,3subscript𝑉𝑖3V_{i,3}italic_V start_POSTSUBSCRIPT italic_i , 3 end_POSTSUBSCRIPT make a figure close to an equilateral triangle. Denote by ntp(L)𝑛𝑡𝑝𝐿ntp(L)italic_n italic_t italic_p ( italic_L ) the resulting figure of L𝐿Litalic_L. Note that the height of ntp(L)𝑛𝑡𝑝𝐿ntp(L)italic_n italic_t italic_p ( italic_L ) is smaller in this step (by some constant factor) so that the vertical edges can reach and still be at most unit length.

  7. 7.

    Transform the top part of ntp(L)𝑛𝑡𝑝𝐿ntp(L)italic_n italic_t italic_p ( italic_L ) to a modified tetrahedral linkage with extra edges. See Figure 9 (b), which is obtained from Figure 9 (a) via a near tetrahedron, where midpoint triangles are rotated so they are inside, thereby including both horizontal and vertical edges. Then, apply Lemma 1 to the top part, with some modifications to handle additional “diagonal” vertical edges to also go down with the other edges.

  8. 8.

    Continue the above process until all stacks are turned inside-out. Then shrink the top inverted tetrahedron: move the top three vertices toward the center of the cylinder, moving midpoints toward the outside and in the horizontal plane. The resulting figure is a very thin cylinder cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ). Move all horizontal edges to the exterior of the cylinder.

  9. 9.

    Transform the resulting figure to the reflection of nsb(L)𝑛𝑠𝑏𝐿nsb(L)italic_n italic_s italic_b ( italic_L ) (opposite of Step 5), and then transform it to a convex polyhedron (opposite of Step 3), which is a mirror image of L𝐿Litalic_L by the uniqueness of realization of a convex polyhedron up to congruence.

5.4 Example: Regular Icosahedron

Before we discuss the precise proof of Theorem 3, we illustrate the algorithm based on the regular icosahedron (see Figures 7. 8. and 9). Let L𝐿Litalic_L be the linkage of a regular icosahedron with vertex set V={vi:i=1,2,,20}𝑉conditional-setsubscript𝑣𝑖𝑖1220V=\{v_{i}:i=1,2,\dots,20\}italic_V = { italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : italic_i = 1 , 2 , … , 20 } as shown in Figure 7 (a) and (b).

Steps 1 and 2. Choose any face F𝐹Fitalic_F, say F=[v1v2v3]𝐹delimited-[]subscript𝑣1subscript𝑣2subscript𝑣3F=[v_{1}v_{2}v_{3}]italic_F = [ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ], and the center of F𝐹Fitalic_F as the center O𝑂Oitalic_O of a spiky ball of L𝐿Litalic_L. We assume the edge length is one and L𝐿Litalic_L is depicted in 3superscript3\mathbb{R}^{3}blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT with the origin O𝑂Oitalic_O and xyz𝑥𝑦𝑧xyzitalic_x italic_y italic_z-axes so that F𝐹Fitalic_F is on the xy𝑥𝑦xyitalic_x italic_y-plane and L𝐿Litalic_L in the halfspace z0𝑧0z\geq 0italic_z ≥ 0.

Step 3. Apply Theorem 2 to L𝐿Litalic_L. Stop the continuous motion of the spiky ball just before the end. Then we get a figure close to the spiky ball (Figure 7 (c)), denoted by nsb(L)𝑛𝑠𝑏𝐿nsb(L)italic_n italic_s italic_b ( italic_L ). We will transform nsb(L)𝑛𝑠𝑏𝐿nsb(L)italic_n italic_s italic_b ( italic_L ) to a kind of triangular prism as shown in Figure 7 (d) in the next step.

Step 4. Divide V𝑉Vitalic_V into groups according to the edge-distance from F𝐹Fitalic_F and denote them by

V0={vi:i=1,2,3},V1={vi:i=4,5,6,7,8,9},andformulae-sequencesubscript𝑉0conditional-setsubscript𝑣𝑖𝑖123subscript𝑉1conditional-setsubscript𝑣𝑖𝑖456789andV_{0}=\{v_{i}:i=1,2,3\},V_{1}=\{v_{i}:i=4,5,6,7,8,9\},\rm{and}italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = { italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : italic_i = 1 , 2 , 3 } , italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = { italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : italic_i = 4 , 5 , 6 , 7 , 8 , 9 } , roman_and
V2={vi:i=10,11,12}.subscript𝑉2conditional-setsubscript𝑣𝑖𝑖101112V_{2}=\{v_{i}:i=10,11,12\}.italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = { italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : italic_i = 10 , 11 , 12 } .

Transform nsb(L)𝑛𝑠𝑏𝐿nsb(L)italic_n italic_s italic_b ( italic_L ) to a thin cylindrical 3-sized stack, denoted by cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ), by moving the vertices in V1subscript𝑉1V_{1}italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and V2subscript𝑉2V_{2}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to the plane {z=1ε}𝑧1𝜀\{z=1-\varepsilon\}{ italic_z = 1 - italic_ε } and the plane {z=22ε}𝑧22𝜀\{z=2-2\varepsilon\}{ italic_z = 2 - 2 italic_ε }, respectively by translation parallel to the z𝑧zitalic_z-axis, where ε𝜀\varepsilonitalic_ε is a enough small positive number (Figure 8 (b).

Each horizontal edge is located in the plane parallel to the xy𝑥𝑦xyitalic_x italic_y-plane and each vertical edge folded at its midpoint is located outside so that its angle-bisector at the midpoint meets the z𝑧zitalic_z-axis.

Next, we will continuously transform cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ) to a thin cylindrical 3-sized stack ntp(L)𝑛𝑡𝑝𝐿ntp(L)italic_n italic_t italic_p ( italic_L ), as shown in Figure 7 (d).

Refer to caption
Figure 7: (a) The linkage of a regular icosahedron in the 3-dimensional space; (b) The edge graph of a regular icosahedron (in general some circular edges can be missing); (c) A near spiky ball nsb(L)𝑛𝑠𝑏𝐿nsb(L)italic_n italic_s italic_b ( italic_L ): (d) A near triangular prism linkage ntpl(L)𝑛𝑡𝑝𝑙𝐿ntpl(L)italic_n italic_t italic_p italic_l ( italic_L ).
Refer to caption
Figure 8: (a) A triangular prism; (b) A 2-sized stack linkage 2stack(L)2𝑠𝑡𝑎𝑐𝑘𝐿2-stack(L)2 - italic_s italic_t italic_a italic_c italic_k ( italic_L ) of L𝐿Litalic_L.

Step 5. Subdivide each vertex set Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for i=1,2𝑖12i=1,2italic_i = 1 , 2, and 3333 into three groups {Vi,j:j=1,2,3}conditional-setsubscript𝑉𝑖𝑗𝑗123\{V_{i,j}:j=1,2,3\}{ italic_V start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT : italic_j = 1 , 2 , 3 } evenly. Then, we continuously transform the cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ) to a near triangular prism linkage, denoted by ntpl(L)𝑛𝑡𝑝𝑙𝐿ntpl(L)italic_n italic_t italic_p italic_l ( italic_L ) in Figure 7 (d). Note that ntpl(L)𝑛𝑡𝑝𝑙𝐿ntpl(L)italic_n italic_t italic_p italic_l ( italic_L ) contains a triangular prism as shown in Figure 8 (a) used for passing and turning the linkage inside-out.

Step 6. Fix the lower part of ntp(L)𝑛𝑡𝑝𝐿ntp(L)italic_n italic_t italic_p ( italic_L ) and transform the upper part to make a modified tetrahedral linkage with folded edges in its exterior (see Figures 9) (a) and (b). Then, transform the modified tetrahedral linkage inside-out by a similar motion as shown in Figure 9 (c).

Steps 7–9. By following similar processes used for the triangular prism linkage, we can continuously turn L𝐿Litalic_L inside-out, as shown in Figure 9, so we omit details.

Refer to caption
Figure 9: (a) The upper part of the linkage; (b) Transform the upper part to a linkage of a modified triangular pyramid (tetrahedron) with folded edges; (c) After the operation of inside-out for the upper part; (d) After the operation of inside-out for the lower part; (e) The mirror image of Figure 7 (a), obtained by moving horizontal edges toward the exterior of the triangular cylinder.

5.5 Proof of Theorem 3

We assume the edge length of a given convex equilateral linkage L𝐿Litalic_L is one from hereafter for the sake of simplicity.

Step 1. Choose any face F𝐹Fitalic_F of L𝐿Litalic_L and any interior point O𝑂Oitalic_O of F𝐹Fitalic_F. Depict L𝐿Litalic_L in the Euclidean space 3superscript3\mathbb{R}^{3}blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT with xyz𝑥𝑦𝑧xyzitalic_x italic_y italic_z-axes and the origin O𝑂Oitalic_O such that F𝐹Fitalic_F is on the xy𝑥𝑦xyitalic_x italic_y-plane and L𝐿Litalic_L are in the half space {z0}𝑧0\{z\geq 0\}{ italic_z ≥ 0 }.

Step 2. Divide the vertex set V𝑉Vitalic_V into nonempty subsets {Vi:0i}conditional-setsubscript𝑉𝑖0𝑖\{V_{i}:0\leq i\leq{\ell}\}{ italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT : 0 ≤ italic_i ≤ roman_ℓ } according to the edge distance from F𝐹Fitalic_F. We call an edge whose both endpoints are in the same subset Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for some i(0i)𝑖0𝑖i\,(0\leq i\leq\ell)italic_i ( 0 ≤ italic_i ≤ roman_ℓ ) horizontal edge and the remaining edges vertical edges, that is, each of them has endpoints one in Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and the other in Vi+1subscript𝑉𝑖1V_{i+1}italic_V start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT for some 0i10𝑖10\leq i\leq{\ell}-10 ≤ italic_i ≤ roman_ℓ - 1.

Step 3. Transform L𝐿Litalic_L into a spiky ball by a continuous motion {Lt:0t1}conditional-setsubscript𝐿𝑡0𝑡1\{L_{t}:0\leq t\leq 1\}{ italic_L start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT : 0 ≤ italic_t ≤ 1 } defined in the proof of Theorem 2. Stop the motion just before the end, e.g., t=1ε𝑡1𝜀t=1-\varepsilonitalic_t = 1 - italic_ε for small enough ε>0𝜀0\varepsilon>0italic_ε > 0. We call the resulting linkage L1εsubscript𝐿1𝜀L_{1-\varepsilon}italic_L start_POSTSUBSCRIPT 1 - italic_ε end_POSTSUBSCRIPT a near-spiky ball, denoted by nsb(L).

Step 4. Subdivide each Vl(0i)subscript𝑉𝑙0𝑖V_{l}\,(0\leq i\leq{\ell})italic_V start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ( 0 ≤ italic_i ≤ roman_ℓ ) into three groups Vi,1subscript𝑉𝑖1V_{i,1}italic_V start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT, Vi,2subscript𝑉𝑖2V_{i,2}italic_V start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT, and Vi,3subscript𝑉𝑖3V_{i,3}italic_V start_POSTSUBSCRIPT italic_i , 3 end_POSTSUBSCRIPT evenly in equator order under the following condition, where V,1=Vsubscript𝑉1subscript𝑉V_{\ell,1}=V_{\ell}italic_V start_POSTSUBSCRIPT roman_ℓ , 1 end_POSTSUBSCRIPT = italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT, and Vl,2subscript𝑉𝑙2V_{l,2}italic_V start_POSTSUBSCRIPT italic_l , 2 end_POSTSUBSCRIPT and V,3subscript𝑉3V_{\ell,3}italic_V start_POSTSUBSCRIPT roman_ℓ , 3 end_POSTSUBSCRIPT are empty in the case |V|2subscript𝑉2|V_{\ell}|\leq 2| italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT | ≤ 2. Consider the graph G𝐺Gitalic_G of the linkage L𝐿Litalic_L and an extended graph Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of G𝐺Gitalic_G, which means G𝐺Gitalic_G is an induced subgraph of Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, such that

  1. 1.

    if |V|3subscript𝑉3|V_{\ell}|\geq 3| italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT | ≥ 3, Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT has two more vertices u𝑢uitalic_u and v𝑣vitalic_v joining to all vertices in V0subscript𝑉0V_{0}italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT and Vsubscript𝑉V_{\ell}italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT, respectively and

  2. 2.

    if |V|2subscript𝑉2|V_{\ell}|\leq 2| italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT | ≤ 2, Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT has one more vertex u𝑢uitalic_u joining to all vertices in V0subscript𝑉0V_{0}italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT.

Then Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is 3-connected by |V0|3subscript𝑉03|V_{0}|\geq 3| italic_V start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT | ≥ 3, and hence there are three internal-vertex-disjoint paths Pj(j=1,2,3)subscript𝑃𝑗𝑗123P_{j}\,(j=1,2,3)italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_j = 1 , 2 , 3 ) joining any pair of vertices in Gsuperscript𝐺G^{\prime}italic_G start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT by Menger’s Theorem [11, 6]. Choose {u,v}𝑢𝑣\{u,v\}{ italic_u , italic_v } as a pair of vertices where v𝑣vitalic_v is any vertex in Vlsubscript𝑉𝑙V_{l}italic_V start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT in the case of |V|2subscript𝑉2|V_{\ell}|\leq 2| italic_V start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT | ≤ 2.

Subdivide Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT into Vi,j(j=1,2,3)subscript𝑉𝑖𝑗𝑗123V_{i,j}(j=1,2,3)italic_V start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT ( italic_j = 1 , 2 , 3 ) such that

ViV(Pj)Vi,j,subscript𝑉𝑖𝑉subscript𝑃𝑗subscript𝑉𝑖𝑗V_{i}\cap V(P_{j})\subseteq V_{i,j},italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∩ italic_V ( italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ⊆ italic_V start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT ,

where V(Pj)𝑉subscript𝑃𝑗V(P_{j})italic_V ( italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) means the vertex set in Pjsubscript𝑃𝑗P_{j}italic_P start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, which is possible because L𝐿Litalic_L is a convex polyhedral linkage.

By a small perturbation, move the vertices onto the surface of the cylinder around z𝑧zitalic_z-axis with radius ε𝜀\varepsilonitalic_ε such that for each 0i0𝑖0\leq i\leq\ell0 ≤ italic_i ≤ roman_ℓ the vertices in Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are in the plane {z=εi/2}𝑧𝜀𝑖2\{z=\varepsilon i/2\}{ italic_z = italic_ε italic_i / 2 }. Simultaneously, the horizontal edges with endpoints in Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are moved together with Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT targeting the positions in the plane {z=εi/2}𝑧𝜀𝑖2\{z=\varepsilon i/2\}{ italic_z = italic_ε italic_i / 2 }, and the midpoint of each vertical edge joining two vertices in Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Vi+1subscript𝑉𝑖1V_{i+1}italic_V start_POSTSUBSCRIPT italic_i + 1 end_POSTSUBSCRIPT is moved to the position in the plane {z=ε(i+1/2)}𝑧𝜀𝑖12\{z=\varepsilon(i+1/2)\}{ italic_z = italic_ε ( italic_i + 1 / 2 ) } outside of the cylinder. The above motions can be continuous because L𝐿Litalic_L is a convex equilateral polyhedral linkage.

Step 5. Move vertices of the perturbed nsb(L) by parallel transformations along z𝑧zitalic_z-axis to a thin cylindrical (+1)1(\ell+1)( roman_ℓ + 1 )-sized stack, such that the vertices of Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are on the plane z=i/3𝑧𝑖3z=i/3italic_z = italic_i / 3 and edges are moved following their endpoints, where their midpoints are located in the exterior of the cylinder and horizontal edges are located on the planes orthogonal to z𝑧zitalic_z-axis. The motion can be continuous without collision because all edges folded in half are adjustable. We call the resulting figure a cylindrical linkage, denoted by cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ).

Step 6. To transform cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ) to a near triangular prism with extra edges, move vertices in Vi,1(0i)subscript𝑉𝑖10𝑖V_{i,1}\,(0\leq i\leq\ell)italic_V start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT ( 0 ≤ italic_i ≤ roman_ℓ ) to points in the circular arc Γi,1subscriptΓ𝑖1\Gamma_{i,1}roman_Γ start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT obtained as the intersection of the circle of center (0,0,i/3)00𝑖3(0,0,i/3)( 0 , 0 , italic_i / 3 ) with radius 1/2+ε12𝜀1/2+\varepsilon1 / 2 + italic_ε in the plane z=i/3𝑧𝑖3z=i/3italic_z = italic_i / 3, and the sphere of center (1/2+ε,0,i/3)12𝜀0𝑖3(1/2+\varepsilon,0,i/3)( 1 / 2 + italic_ε , 0 , italic_i / 3 ) with radius ε𝜀\varepsilonitalic_ε, where vertices keep the equator order. Similarly, Move vertices in Vi,2subscript𝑉𝑖2V_{i,2}italic_V start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT and Vi,3subscript𝑉𝑖3V_{i,3}italic_V start_POSTSUBSCRIPT italic_i , 3 end_POSTSUBSCRIPT to points in the circular arc Γi,2subscriptΓ𝑖2\Gamma_{i,2}roman_Γ start_POSTSUBSCRIPT italic_i , 2 end_POSTSUBSCRIPT and Γi,3subscriptΓ𝑖3\Gamma_{i,3}roman_Γ start_POSTSUBSCRIPT italic_i , 3 end_POSTSUBSCRIPT obtained as rotated Γi,1subscriptΓ𝑖1\Gamma_{i,1}roman_Γ start_POSTSUBSCRIPT italic_i , 1 end_POSTSUBSCRIPT with the angles ±2/3πplus-or-minus23𝜋\pm 2/3\pi± 2 / 3 italic_π at (0,0,i/3)00𝑖3(0,0,i/3)( 0 , 0 , italic_i / 3 ) in the plane z=i/3𝑧𝑖3z=i/3italic_z = italic_i / 3. Then the distance of endpoints of each vertical edge is less than one because of {(3(1/2+ε)}2+(1/3)2<1\{(\sqrt{3}(1/2+\varepsilon)\}^{2}+(1/3)^{2}<1{ ( square-root start_ARG 3 end_ARG ( 1 / 2 + italic_ε ) } start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + ( 1 / 3 ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT < 1 for ε𝜀\varepsilonitalic_ε very small. We call the resulting figure of L𝐿Litalic_L a near-triangular-prism linkage, denoted by ntp(L)𝑛𝑡𝑝𝐿ntp(L)italic_n italic_t italic_p ( italic_L ).

Step 7. Transform the top part of ntp(L)𝑛𝑡𝑝𝐿ntp(L)italic_n italic_t italic_p ( italic_L ) to a modified tetrahedral linkage (see Figure 9 (b)). Apply Lemma 1 such that horizontal edges of the top stack are rotated inside before the operation and then go down together with endpoints.

Step 8. Continue the above process until all parts are turned inside-out. The result is a very thin cy(L)𝑐𝑦𝐿cy(L)italic_c italic_y ( italic_L ). Move all horizontal edges to the exterior of the cylinder.

Step 9. Transform the resulting figure to nsb(L), and then transform it to a convex polyhedron, which is a mirror image of L𝐿Litalic_L.

6 Reversing Nonequilateral Linkages

What happens in the case of nonequilateral convex polyhedral linkages? We initialize research into this question by solving the asymptotic number of required subdivisions for tetrahedra. First we prove a general lower bound:

Theorem 4.

To turn a polyhedron P𝑃Pitalic_P inside-out through a face f𝑓fitalic_f, each edge e𝑒eitalic_e of P𝑃Pitalic_P’s skeleton must be divided at least Ω(loglength(e)dist(e,f)+circumf(f)/2)Ωlength𝑒dist𝑒𝑓circumf𝑓2\Omega\left(\log\frac{\operatorname{length}(e)}{\operatorname{dist}(e,f)+% \operatorname{circumf}(f)/2}\right)roman_Ω ( roman_log divide start_ARG roman_length ( italic_e ) end_ARG start_ARG roman_dist ( italic_e , italic_f ) + roman_circumf ( italic_f ) / 2 end_ARG ).

Proof.

This proof is based on the “knitting needles” argument [5, Section 6.3.1]. Refer to Figure 10. Let p𝑝pitalic_p be the shortest path from a vertex of f𝑓fitalic_f to a vertex u𝑢uitalic_u of e𝑒eitalic_e, which has length dist(e,f)dist𝑒𝑓\operatorname{dist}(e,f)roman_dist ( italic_e , italic_f ). Draw a sphere S0subscript𝑆0S_{0}italic_S start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT centered at any vertex of f𝑓fitalic_f of radius r0=dist(e,f)+circumf(f)/2subscript𝑟0dist𝑒𝑓circumf𝑓2r_{0}=\operatorname{dist}(e,f)+\operatorname{circumf}(f)/2italic_r start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = roman_dist ( italic_e , italic_f ) + roman_circumf ( italic_f ) / 2. Then the path p𝑝pitalic_p must remain inside the sphere S𝑆Sitalic_S, given its short length. If the next subdivided chunk of edge e𝑒eitalic_e has length >2r0absent2subscript𝑟0>2r_{0}> 2 italic_r start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT, then the other endpoint will always be outside S𝑆Sitalic_S, which means this edge can never pierce f𝑓fitalic_f as required. Thus the next subdivided chunk has length 12r0subscript12subscript𝑟0\ell_{1}\leq 2r_{0}roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ≤ 2 italic_r start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Similarly, the next subdivided chunk has length 22(r0+1)subscript22subscript𝑟0subscript1\ell_{2}\leq 2(r_{0}+\ell_{1})roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ≤ 2 ( italic_r start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ); then 32(r0+1+2)subscript32subscript𝑟0subscript1subscript2\ell_{3}\leq 2(r_{0}+\ell_{1}+\ell_{2})roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ≤ 2 ( italic_r start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ); and so on. The isubscript𝑖\ell_{i}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT upper bounds increase exponentially, so we need Ω(loglength(e)r0)Ωlength𝑒subscript𝑟0\Omega\left(\log\frac{\operatorname{length}(e)}{r_{0}}\right)roman_Ω ( roman_log divide start_ARG roman_length ( italic_e ) end_ARG start_ARG italic_r start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG ) subdivisions before we finish the edge. ∎

Refer to caption
Figure 10: Visualization of largest lower bound constraints for an edge e𝑒eitalic_e through a face f𝑓fitalic_f.

Now we prove a matching upper bound for tetrahedra, up to constant factors:

Theorem 5.

A tetrahedron with edge lengths between 1111 and L𝐿Litalic_L can be turned inside-out through a specified face f𝑓fitalic_f using only O(logL)𝑂𝐿O(\log L)italic_O ( roman_log italic_L ) subdivisions.

Proof.

We focus on the worst case where f𝑓fitalic_f is a triangle with edge lengths 1111 and L1much-greater-than𝐿1L\gg 1italic_L ≫ 1.

We start with the easier case where instead of three triangles connected to f𝑓fitalic_f, there is a single segment of length L𝐿Litalic_L we want to push through f𝑓fitalic_f; see Figure 11(a). The first subdivision is after length 1=1subscript11\ell_{1}=1roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 1, ensuring the segment fits through f𝑓fitalic_f. The next subdivision is after length 2=1+1subscript2subscript11\ell_{2}=\ell_{1}+1roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + 1, the next ones are after 3=1+2+1subscript3subscript1subscript21\ell_{3}=\ell_{1}+\ell_{2}+1roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + 1, 4=1+2+3+1subscript4subscript1subscript2subscript31\ell_{4}=\ell_{1}+\ell_{2}+\ell_{3}+1roman_ℓ start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT = roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + roman_ℓ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT + 1, and so on. The length isubscript𝑖\ell_{i}roman_ℓ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT grows exponentially in i𝑖iitalic_i, which is easy to observe from the Fibonacci recurrence. Consequently, the presented approach uses O(logL)𝑂𝐿O(\log L)italic_O ( roman_log italic_L ) subdivisions.

Figure 11(b) shows the same technique with triangles instead of a single segment. The method works equivalently, but we need more space to push the triangles down instead of 1=1subscript11\ell_{1}=1roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 1 and +11+1+ 1 in the above computation. Indeed, we push all three triangles into the center position, resulting in 1=1/(3)\ell_{1}=1/\sqrt{(}3)roman_ℓ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = 1 / square-root start_ARG ( end_ARG 3 ) and +1/(3)+1/\sqrt{(}3)+ 1 / square-root start_ARG ( end_ARG 3 ) (circumradius of size-1111 triangle). This concludes the proof for the tetrahedron. ∎

Refer to caption
Figure 11: (a): Logarithmic nonequilateral algorithm for turning a single segment on top of an equilateral triangle inside-out. (b): Logarithmic nonequilateral algorithm for turning a tetrahedron inside-out by pushing through the equilateral base triangle of size 1111.

7 Open Problems

In addition to the previous section (nonequilateral), one could even further generalize to nonconvex polyhedra or arbitrary linkages. A finite upper bound (but lots of subdivision) is probably possible. For flattening, does midpoint subdivision always suffice, or O(n)𝑂𝑛O(n)italic_O ( italic_n ) subdivision, or is there a counterexample where more subdivision is needed? Is it NP-hard or even \exists\mathbb{R}∃ blackboard_R-hard to decide whether a given linkage can be continuously flattened or turned inside-out?

References

  • [1] Z. Abel, E. D. Demaine, M. L. Demaine, J. Itoh, A. Lubiw, C. Nara, and J. O’Rourke. Continuously flattening polyhedra using straight skeletons. In S. Cheng and O. Devillers, editors, Proceedings of the 30th Annual Symposium on Computational Geometry (SoCG 2014, pages 396–405, Kyoto, Japan, June 2014.
  • [2] Z. Abel, E. D. Demaine, M. L. Demaine, J. S. Ku, J. Lynch, J. Itoh, and C. Nara. Continuous flattening of all polyhedral manifolds using countably infinite creases. Comput. Geom., 98:101773, 2021.
  • [3] R. Connelly, E. D. Demaine, and G. Rote. Infinitesimally locked self-touching linkages with applications to locked trees. In Physical Knots: Knotting, Linking, and Folding Geometric Objects in R3, volume 304 of Contemporary Mathematics, pages 287–311. American Mathematical Society, 2002.
  • [4] E. D. Demaine, M. L. Demaine, J. Itoh, and C. Nara. Continuous flattening of orthogonal polyhedra. In J. Akiyama, H. Ito, T. Sakai, and Y. Uno, editors, Revised Papers from the 18th Japan Conference on Discrete and Computational Geometry and Graphs (JCDCGGG 2015), volume 9943 of Lecture Notes in Computer Science, pages 85–93, Kyoto, Japan, September 2015.
  • [5] E. D. Demaine and J. O’Rourke. Geometric Folding Algorithms: Linkages, Origami, Polyhedra. Cambridge University Press, 2007.
  • [6] F. Göring. Short proof of Menger’s theorem. Discrete Mathematics, 219(1-3):295–296, 2000.
  • [7] T. Horiyama, J. Itoh, N. Katoh, Y. Kobayashi, and C. Nara. Continuous folding of regular dodecahedra. In J. Akiyama, H. Ito, T. Sakai, and Y. Uno, editors, Revised Papers from the 18th Japan Conference on Discrete and Computational Geometry and Graphs (JCDCGGG 2015), volume 9943 of Lecture Notes in Computer Science, pages 120–131, Kyoto, Japan, September 2015.
  • [8] J.-i. Itoh, C. Nara, and C. Vîlcu. Continuous flattening of convex polyhedra. In A. Márquez, P. Ramos, and J. Urrutia, editors, Revised Papers from the 14th Spanish Meeting on Computational Geometry (EGC 2011), pages 85–97, Alcalá de Henares, Spain, June 2011.
  • [9] H. Maehara. Reversing a polyhedral surface by origami-deformation. European Journal of Combinatorics, 31(4):1171–1180, 2010.
  • [10] K. Matsubara and C. Nara. Continuous flattening of multi-layered pyramids with rigid radial edges. Journal of Information Processing, 28:834–840, 2020.
  • [11] K. Menger. Zur allgemeinen Kurventheorie. Fundamenta Mathematicae, 10:96–115, 1927. Available at http://matwbn.icm.edu.pl/ksiazki/fm/fm10/fm1012.pdf.