Rigid Foldability is NP-Hard
Hugo Akitaya, Erik D. Demaine, Takashi Horiyama, Thomas C. Hull, Jason S. Ku, Tomohiro Tachi
RRigid Foldability is NP-Hard
Hugo Akitaya Erik D. Demaine Takashi Horiyama Thomas C. HullJason S. Ku Tomohiro Tachi
Intuitively, a rigid origami is a developable surface composed of planar rigid facets and rotationalhinges. Determining the flexibility of such system is called rigid foldability , i.e., the problem ofjudging if a given planar crease pattern can flex finitely to an intermediate state without deform-ing its facets. In practical sense, rigid-foldable origami is a mechanism whose flexibility does notrely on irreversible deformation of materials; it only relies on rotations around predefined hinges.It therefore has enormous applications in different fields and at different scales, e.g., self-foldingmechanisms of microscopic material [19], foldable packaging [10], transformable adaptive architec-ture with thick panels [20], deployable space structures [18], and so on. Despite its usefulness, wedo not have many general results about rigid foldability. We can determine easily when a singlevertex is rigid-foldable [1], but most other results are on determining if specific examples are rigidlyfoldable, e.g., [21]. This is in contrast to to the flat-foldability, which has been well investigated;single-vertex necessary conditions are known [15], as are linear time algorithms for single vertex[11] and the NP-hardness for general crease pattern [6], and even for box pleating [3].Figure 1: Four linesmeeting perpendic-ularly can rigidlyfold from the flatstate with optionalcreases, but not us-ing all creases.Our objective is to characterize rigid foldability in general. In this paper,we focus on rigid foldability from a planar sheet of paper, and we introducethe following types of rigid foldability:
Rigid foldability (with optional creases) A continuous rigid foldingmotion is a continuous transformation of a sheet of paper from one stateto the other such that each face, i.e., a region separated by creases, isrigid. We say a crease pattern rigidly foldable (with optional creases) ifthere is a continuous rigid folding motion from the initial state that isnot a rigid body motion. Rigid foldability using all creases
We say a crease pattern is rigidly fold-able using all creases if there is a continuous rigid folding motion wherethe dihedral angle at every crease strictly increases or decreases.For example, a single vertex with four perpendicular lines Figure 1 can rigidly fold eithervertically or horizontally, but cannot fold using all four lines. So, it is rigidly foldable with optionalcreases, but not using all creases. Single-vertex rigid foldability for a given assignment is studiedin [1]; this provides a simple necessary and sufficient condition that there must be a tripod or Xpattern incident to the vertex. However, a mere intersection of such single vertex condition does notlead to useful condition of multi-vertex rigid-foldability, since the combination of multiple vertexforms a globally constrained system of folding speeds.In this paper, we show that deciding rigid foldability of a given crease pattern using all creasesis weakly NP-hard by a reduction from Partition, and that deciding rigid foldability with optional1 a r X i v : . [ c s . C G ] D ec reases is strongly NP-hard by a reduction from 1-in-3 SAT. Unlike flat foldability of origamior flexibility of other kinematic linkages, whose complexity originates in the complexity of thelayer ordering and possible self-intersection of the material, rigid foldability from a planar state ishard even though there is no potential self-intersection. In fact, the complexity comes from thecombinatorial behavior of the different possible rigid folding configurations at each vertex. Theresults underpin the fact that it is harder to fold from an unfolded sheet of paper than to unfold afolded state back to a plane, frequently encountered problem when realizing folding-based systemssuch as self-folding matter and reconfigurable robots. We model rigid folding with the concept of isometric foldings as introduced by Robertson [17].
Definition 1 (Folding) . Given two manifolds, M and N , with or without boundary, we call afunction f : M → N an isometric folding if f maps finitely-piecewise geodesic curves in M tofinitely-piecewise geodesic curves in N , where both curves are parameterized with respect to arc-length. It is not difficult to show that all isometric foldings under this definition must also becontinuous. One special case is where dim M = dim N , which we call a flat folding . For anyisometric folding f , the set Σ( f ) ⊂ M of points where f is non-differentiable partitions M into afinite cell complex (see [17]), which we call the crease pattern of f . Definition 2 (Rigid Origami Folded State) . Let M ⊂ R be a closed polygon which will model ourmaterial to be folded. Then the crease pattern Σ( f ) will be a planar straight-line graph embeddedon M . If we also have that N = R and the domain material M does not cross itself in the image f ( M ), then we call f a rigid origami folded state ; this word choice is justified because f ( M ) will bea continuous mapping of M into R where the flatness of each 2-cell in Σ( f ) is preserved in f ( M ).Each 1-cell of Σ( f ) is called a crease line , and at each crease line c i we will refer to the folding angle of c i , denoted ρ i , to be the signed angle by which the two faces (2-cells) adjacent to c i deviates froma flat plane in the image f ( M ). We say that c i is a valley (resp. mountain ) crease if ρ i > ρ i < { M, V , } and is called the mountain-valley (MV)assignment of the rigid origami folding. The label “0” is reserved for the case of optional creases which have a folding angle of ρ i = 0. Such creases are not technically part of Σ( f ), but later onwe will want to include optional creases as part of the combinatorial structure in our complexityproofs.Let us denote by R c i ( ρ i ) the rotation matrix in R about a crease line c i ∈ Σ( f ) by angle ρ i if weimagine M to be embedded in the xy -plane of R . Now let γ be any simple, closed, vertex-avoidingcurve drawn on M that crosses, in order, the crease lines c , . . . c n in Σ( f ). A necessary (but notsufficient, since the paper may cross itself) condition for f to be a rigid origami folding is R c ( ρ ) R c ( ρ ) · · · R c n ( ρ n ) = I (1)for all such curves γ (see [5]). Note, however, that when folding by a small amount from the flat,unfolded state (i.e., when ρ i = 0 for all i ), there will be no chance of self-intersection. Under theseconditions, which are the ones we will be using in this paper, Equation (1) will be a necessary andsufficient condition for rigid foldability. Definition 3 (Rigid Folding Motion) . Equation (1) can be used to compute relationships among thefolding angles ρ i , while rigid-bar and spherical kinematics [9] can be applied to compute the degrees2f freedom of the system of equations made by the creases in Σ( f ). The result is a continuouslyparameterized family of rigid origami folded states that describe the rigid folding process from onefolded state to another folded state (an immersion in R ). We also call this continuous parameterizedfamily a rigid folding motion . Definition 4 (Rigid Foldability) . We then say that a crease pattern Σ( f ) is rigidly foldable betweentwo isometric foldings f : M ⊂ R → R and g : M ⊂ R → R if there exists a rigid folding motion f v : M → R between between f and g , where v is the parameter vector, v = is the unfoldedstate, and v = (cid:104) ρ , . . . ρ n (cid:105) is the set of parameters that achieve f . In other words, there exists ahomotopy H t : M × [0 , → f ( M ) such that H t is a rigid origami folded state with Σ( H t ) = Σ( f )for all t ∈ [0 , H t (0) = f and H t (1) = g . To formally state the computational problems we consider, we need to deal with the limitationof digital computers which cannot exactly represent real numbers. Thus, we need to specify afinite digital representation of crease patterns, and we may need to tolerate some error in decidingwhether a rigid motion is actually valid. For now, we define exact versions of the problems (withno error), and leave approximate versions for Definition 12.
Definition 5 (Rigid Foldability from Flat State) . We define two decision problems. In both cases,we are given a straight-line planar graph drawing G on a polygon M ⊂ R , where all vertexcoordinates are specified by rational numbers.1. Rigid foldability using all creases : Is there a rigid folding motion from the trivial (unfolded)folding f = identity to an isometric folding g : M → R ( f (cid:54) = g ) whose homotopy H t satisfiesΣ( H t ) = G for all t ∈ (0 ,
1] and every fold angle of the crease is strictly increasing or strictlydecreasing?2.
Rigid foldability with optional creases : Is there a nonempty subset G (cid:48) ⊂ G with a positive(“yes”) answer to the rigid foldability problem using all creases in G (cid:48) ?The rigid foldability using all creases question for single-vertex crease patterns is characterizedin [1]. This paper considers the both former and latter questions, and we prove that it is weaklyNP-hard for the former case and NP-hard for the latter case for a general crease pattern withmultiple vertices.Note that there are mechanical aspects and challenges to these questions that we are not con-sidering here. It is known that in the flat-unfolded state of a rigidly-foldable crease pattern with atleast one vertex will often lie at a singular point in the configuration space parameterized by thedegrees of freedom of the model (e.g., see [19]). The above foldability questions only consider if itis possible to travel in the configuration space of rigid folds from the unfolded state to some foldedstate, not whether it is mechanically feasible to, say, program a rigid, self-folding material to do so.Thus, we are considering only the possibility of the so-called finite rigid foldability from a planarstate . We use quadrivalent flat-foldable vertex as the building block of our gadgets. A quadrivalent flat-foldable vertex is an origami vertex with four creases c i ( i = 0 , , , = − ρ ρ =ρ ρ ρ αβ π − βπ − α
012 3 αβ π − βπ − α
012 3 012 3 −p b p b − p b −p b − ρ = − ρ ρ ρ =ρ ρ speed coefficientsin mode aspeed coefficientsin mode b
012 3 −p a − −p a p a − p a Figure 2: Kinematics of degree-4 vertex with flat-foldability. Note that a single vertex has twomodes of one-DOF motions (A) and (B).order with supplementary opposite sector angles, i.e.,( θ , , θ , , θ , , θ , ) = ( α, β, π − α, π − β )(0 < α, β < π ) where θ i,i +1 is the sector angle between creases c i and c i +1 . Let ρ i denote the foldangle of crease c i , where fold angles are signed angles between the normals of the facets.This type of origami vertex is known to satisfy the interesting and useful property that tangentof half fold angles tan ρ i = t i are proportional to each other [7, 14, 15, 12, 21]. Since this result isfundamental to our main result, we present an explicit proof not given in the references. Theorem 6.
Any degree-4 flat-foldable vertex is rigidly foldable. The configuration space of sucha vertex, represented by the tangent of half the fold angles, i.e, t i = tan( ρ i ) , is the union ofconfigurations satisfying: ( t , t , t , t ) = (cid:40) ( t, − p a ( α, β ) t, t, p a ( α, β ) t ) Case (a) ( − p b ( α, β ) t, t, p b ( α, β ) t, t ) Case (b) (2) where p a and p b are constants defined by p a ( α, β ) = 1 − tan α tan β α tan β (3) p b ( α, β ) = tan β − tan α tan β + tan α . (4)Figure 2 shows Cases (a) and (b). Note that 0 ≤ | p a | < ≤ | p b | <
1. Also, if α is strictlysmaller than other sector angles, 0 < p a < < p b < Lemma 7.
The fold angles of a quadrivalent flat-foldable vertex must satisfy ρ = ρ and ρ = − ρ or ρ = ρ and ρ = − ρ . ρ and ρ . See [14, 16] for details.) Proof of Theorem 6.
It is a straight-forward matter to verify that folding angles given in Equa-tion (2) verify the rigid foldability condition in Equation (1), thus proving sufficiency of the Theo-rem 6 conditions to rigidly fold a degree-4, flat-foldable vertex.To prove necessity, suppose we have a rigidly-folded state of the vertex. Let L i denote the creasewhose folding angle is ρ i , and let us assume our vertex is at the origin, the unfolded vertex liesin the xy -plane in R , and L lies on the x -axis with L , L , and L proceeding counterclockwisefrom there. If we folded the vertex into our given rigid state while leaving the sector between L and L fixed in the xy -plane, then we may consecutively rotate each sector angle through, and eachfolding angle around, the positive x -axis to obtain a matrix equation as follows: Let R x ( θ ) and R z ( θ ) denote the rotation matrices about the x - and z -axes by θ , respectively. Then we have R z ( π − β ) R x ( ρ ) R z ( α ) R x ( ρ ) R z ( β ) R x ( ρ ) R z ( π − α ) R x ( ρ ) = I. We employ Lemma 7 and bring some matrices to the other side to obtain R z ( π − β ) R x ( ρ ) R z ( α ) R x ( − ρ ) = R x ( − ρ ) R z ( − ( π − α )) R x ( − ρ ) R z ( − β ) . The 1st row, 2nd column entry of this matrix equation simplifies to(cos ρ − cos ρ ) sin α cos β + (cos ρ cos ρ −
1) cos α sin β + sin ρ sin ρ sin β = 0 . We now let t = tan( ρ /
2) and t = tan( ρ / ρ i = 2 t i t i and cos ρ i = 1 − t i t i . Substituting these into our condition and simplifying a bit we obtain t − t (1 + t )(1 + t ) sin α cos β + t + t (1 + t )(1 + t ) cos α sin β − t t (1 + t )(1 + t ) sin β = 0 . Multiplying both sides by (1 + t )(1 + t ) and re-arranging further we get2 sin β t t = (cid:32) − (cid:18) t t (cid:19) (cid:33) sin α cos β + (cid:32) (cid:18) t t (cid:19) (cid:33) cos α sin β, from which we solve for t /t to obtain two solutions: t t = cos (cid:16) α + β (cid:17) cos (cid:16) α − β (cid:17) = 1 − tan α tan β α tan β and t t = − sin (cid:16) α + β (cid:17) sin (cid:16) α − β (cid:17) = tan β − tan α tan β + tan α . Thus the folding angles of our rigidly folded state satisfy the Equation (2) formulas, where Lemma 7verifies that the mountain and valley creases must match one of the two modes shown in Figure 2.5heorem 6 implies that the fold angles of a degree-4, flat-foldable vertex are proportional toeach other when parameterized by the tangent of the half angle. Also, the configuration spacecurves determined by Equation (2) share exactly one configuration point t = (the flat state). Atthis point the configuration space branches to two rigid folding modes, each of which is one-DOF.We can determine the folding motion of the vertex by specifying the mode and the fold angle ofone of the creases. Definition 8 (Speed coefficient) . For a pair of adjacent creases e i and e j , we call p ( e i , e j ) :=tan ρ ei / tan ρ ej the speed coefficient from e j to e i .The speed coefficients are also known as the fold-angle multipliers [12]. By the choice of modes(a) and (b) in Equation (2), the speed coefficient between creases is determined. p (0 ,
1) = − p − a or − p b p (1 ,
2) = − p a or p − b p (2 ,
3) = p − a or p b p (3 ,
0) = p a or − p − b Especially, for a special case of β = 90 ◦ , the fold speed coefficient can be written using singlevariable p = p ( α ) = p a ( α, ◦ ) = p b ( α, ◦ ) = 1 − tan α α .p (0 ,
1) = − p − or − pp (1 ,
2) = − p or p − p (2 ,
3) = p − or pp (3 ,
0) = p or − p − Here, if we chose α = arctan , then we obtain the folding speed coefficient p = .Theorem 6 gives us a continuously parameterized family of rigid origami foldings for degree-4,flat-foldable vertices. Thus we have the following. Lemma 9.
There are exactly valid MV assignments (including zero assignment for the crease notfolded) for each vertex from the flat state, and each assignment uniquely restricts the configurationspace to a parameter curve, i.e., -DOF mechanism.Proof. The two binary options, (1) choice of modes (a) and (b) and (2) the sign of t , give fourfolding paths, along which the signs of fold angles (assignment) are unchanged by Equation (2).The opposite paths in the same mode have a reversed MV assignment of the other, and the pathsin different modes have different assignment because edges 0 and 3 have the same (non-zero)assignment in mode (a) and the opposite assignment in mode (b). So, each MV assignment givesa unique 1-parameter folding path in the configuration space. We call a pattern composed solely of flat-foldable degree-4 vertices a flat-foldable quadrivalent mesh .For our hardness proof of rigid origami, we will use flat-foldable quadrivalent mesh (with optionalcreases). Determining the rigid foldability of flat-foldable quadrivalent meshes is a problem of6ssigning modes (a) or (b) for each vertex in such a way that the folding speeds of the creases willnot be in conflict. Note that because we are only interested in rigidly folding our crease patterna finite amount from the flat, unfolded state, we do not need to worry about the possibility ofdifferent parts of the paper colliding or self-intersecting.The following directly follows from Lemma 9 and the definition of speed coefficients. (See also[12].)
Corollary 10 (Assignment Problem) . For a MV assignment of flat-foldable quadrivalent mesh,there is at most one folding path that forms a -manifold in the configuration space. Corollary 11 (Closure Condition) . A MV assignment of flat-foldable quadrivalent mesh yields arigid folding motion if and only if for each k -gonal face f surrounded by creases c i ( i = 0 , . . . , k − ),the speed coefficients p i = p ( c i +1 , c i ) satisfy the following: (cid:89) i =0 ,...,k − p i = 1 . (5)Equation 5 provides a natural metric for measuring error in a candidate rigid folding motion. Definition 12 (Finite-Precision Degree-4 Flat-Foldable Rigid Foldability) . As in Definition 5, wedefine two decision problems whose primary input is a straight-line planar graph drawing G ona polygon M ⊂ R , where all vertex coordinates are specified by rational numbers. Now G isconstrained to be flat foldable and have all vertices of degree 4, and we have an additional input ε > Rigid foldability using all creases : Is there a mountain–valley assignment whose induced fold-angle multipliers satisfy, at each vertex, (cid:89) i =0 ,...,k − p i ∈ [1 − ε, ε ]? (6)2. Rigid foldability with optional creases : Is there a nonempty subset G (cid:48) ⊂ G with a positive(“yes”) answer to the finite-precision rigid foldability problem using all creases in G (cid:48) ? Theorem 13 (Finite-Precision Rigid Foldability is in NP) . Both finite-precision degree-4 flat-foldable rigid foldability problems are in NP, even with ε = 0 (exact precision).Proof. First observe that we can confirm that the given crease pattern is flat foldable in P. At eachvertex u with neighbors v , v , v , v , we reflect v − u through v i − u for i ∈ { , , } , and thenverify that the resulting vector is identical to v − u . Here we use that the reflection p (cid:48) of vector p through another vector q can be done with O (1) additions, multiplications, and divisions: p (cid:48) = p − p · q ⊥ ) q ⊥ q · q , where ( x, y ) ⊥ = ( − y, x ) . (7)Next we nondeterministically guess the mountain–valley assignment and, for the optional-creaseproblem, the subset G (cid:48) of creases.It remains to verify Inequality (6) at each vertex. Equations (3) and (4) represent each p i term in the product as a rational function of tangents of half-angles. Recall the tangent half-angleformula: tan θ θ − cot θ. p p pp ++ − − ++ −− p p −p −1 −p −1 pp −p −1 −p −1 (a)(b) Figure 3: Two different modes (a) and (b) of a square twist. Left two columns show the assignmentof modes + and − to obtain the consistent loop, which gives the MV assignments in third column,which is folded to 3D state in the fourth column. The number 1, p , 1 /p represents the absolutefolding speeds measured in tangent of half of fold angles of edges along the chain of opposite edges.The latter trigonometric functions can be represented by radical expressions on the vertex co-ordinates, specifically, their absolute difference in x coordinates, their absolute difference in y coordinates, and their Euclidean distance (which involves a square root). Therefore the productof the p i ’s at a vertex can be represented as a constant-complexity expression involving addition,subtraction, multiplication, division, and square roots on the input rationals. Comparing such anexpression to 1 ± ε (even with ε = 0) can be done exactly in polynomial time; see, e.g., [8].Note that rigid foldability of general origami with non-degree-4 or non-flat-fordable verticesmay not be in NP. By combining four degree-4 vertex, we may obtain a rigid folding version of the “square twist fold.”Unlike the original square twist fold [13, 16], we choose the mountain valley assignment to allowrigid foldability. Such a system can fold in two ways if we take the symmetry into account ([12, 22]).
Lemma 14.
There are only MV assignments and thus modes (up to symmetry) that allow thesquare twist to fold rigidly. They are the ones shown in Figure 3 along with the relative foldingspeed coefficients of the creases on the boundary.Proof. Consider the central square composed of creases c , c , c , c . The problem of assigning MVis equivalent to assigning the coefficient p c i ,c i +1 = (cid:40) p ( α ) mode + − p ( α ) mode − , where α is the twist angle of the center square, i.e., the smallest sector angle at each vertex.Equation (5) is satisfied if and only if the number of mode +’s is 2. The possible pattern is either+ + −− or + − + − up to symmetry, which is as described in Figure 3.8 Rigid Foldability using All Creases is Weakly NP-hard
We show how to reduce the Partition problem to finite-precision rigid foldability using all creases,thereby establishing weak NP-hardness.
Theorem 15 (Rigid Foldability is weakly NP-hard) . Finite-precision degree-4 flat-foldable rigidfoldability using all the creases is weakly NP-hard. s = (1,1,3,5) S \ s = (2,8) +++ − −− assignment for partition s = (2,3,5) S \ s = (1,1,8) α α α α α α pattern corresponding to S = (1,1,2,3,5,8)folding of s = (1,1,3,5) S \ s = (2,8)folding of s = (2,3,5) S \ s = (1,1,8) +++ −− + Figure 4: Rigid origami realizing a given partitioning problem of n > n + 2-gonal closed chainof vertices. The sector angles α i of consecutive n vertices are designed from the set of integers (twoleft figures), and two vertices form a mirror symmetric degree-4 vertices. Partitioning correspondsto MV assignments for each vertex (right two figures). The pattern is rigidly foldable when theMV pattern partitions the set into equal sums (bottom). Proof.
To demonstrate the main idea, we first pretend that we can compute the needed real valuesexactly, and second we take care of finite precision.Consider a partition problem of finding a subset S of A = { a , a , . . . , a n } ( a i ∈ N , n >
4) thatpartition the total values into halves, i.e., Σ( S ) = (cid:80) ( A \ S ) = Σ( A ), where Σ( S ) = (cid:80) x ∈ S x . Weconstruct a crease pattern of an ( n + 2)-gonal closed chain of flat-foldable, quadrivalent vertices v , v , . . . , v n +1 ; refer to Figure 4. We start with n consecutive flat-foldable vertices v , v , . . . , v n where v i has α = α i ∈ (0 ◦ , ◦ ) and β = 90 ◦ , so that (cid:80) i α i < ◦ . We split the remaining angle360 ◦ − (cid:80) i α i into halves, and make the last two vertices v and v n +1 be mirror symmetric andflat-foldable with α = β = α r = (360 ◦ − (cid:80) i α i ) / ≤ i ≤ n , vertex v i has a speedcoefficient of p i = p ( α i ) = − tan αi αi (mode +) or p − i (mode − ). Vertex v n +1 has speed coefficientof p r = p ( α r , α r ) = − tan αr αr (mode +) and ∞ (mode − ), and vertex v has speed coefficient of 0(mode +) and p − r (mode − ). In order that all creases of vertices v n +1 and v fold simultaneously, v n +1 must chose mode + and v must chose mode − , because p r is nonzero and finite.Now we tweak α i properly so that choosing the vertices that folds in mode − is equivalent tochoosing the element of S from A , and the closure constraint (Equation (5)) is equivalent to thepartition problem. Specifically, we set the variables α i such that a i Σ( A ) = log p − i , (8)for all i = 1 , . . . , n , and thustan α i − e − ai Σ( A ) = tanh (cid:18) a i A ) (cid:19) . (9)Then, by Equation (5), the formed pattern is rigidly foldable if and only if there exists a subset S ⊂ A such that (cid:32)(cid:89) i ∈ S p − i (cid:33) (cid:89) i ∈ A \ S p i p r p − r = 1 , (10)which, by taking the logarithm on both sides and multiplying by Σ( A ), is equivalent to the givenpartition problem: Σ( S ) − Σ( A \ S ) = 0 . (11)Because we scaled by 1 / Σ( A ), we have (cid:88) i α i = (cid:88) i (cid:18) tanh (cid:18) a i A ) (cid:19)(cid:19) < (cid:88) i a i A ) = 1 < π < π. (12)Thus, (cid:80) i ∈{ , ,...,n } α i ∈ (0 ◦ , ◦ ), so α r (Σ( A )) = (360 ◦ − (cid:80) i ∈{ , ,...,n } α i ) / ∈ (90 ◦ , ◦ ).Notice that this ensures the range p i ∈ (0 . , , ◦ ) ⊂ (0 , ◦ )and thus the convexity of the central polygon. Thus we can always construct the ( n + 2)-gon fromthe slope of each segment derived from these turn angles. Also, the range α r ∈ (120 ◦ , ◦ ) ensuresthat p r ∈ ( − , − . t i , an approxi-mation to t i = tan α i given by Equation (9), but with precision ε t . We can compute x = a i A ) exactly, represented as a rational. To then compute tanh( x ), we can use that it is the solution tothe autonomous differential equation y (cid:48) = 1 − y where y (0) = 0 [4], which we can approximateusing the Runge–Kutte method or even Euler’s method.Next the algorithm computes an approximation of the crease pattern, one vertex at a time,with computed vertex ˜ v i approximating ideal vertex v i . Refer to Figure 5. Vertices ˜ v , ˜ v , . . . , ˜ v n will lie on a grid with resolution ε g = 1 /G where G is an integer to be chosen later. First wecompute difference vectors ˜ d i for 0 ≤ i ≤ n , whose coordinates are also multiples of ε g . For i < n ,10 ̃ d̃ d̃ d ̃ n · s ̃ ( v ̃ − v ̃ n ) · s ̃ s̃b̃ b̃ c̃ c̃ b̃ c̃ d̃ d̃ n −1 d̃ n ṽ ṽ ṽ n ṽ n+ (0,0) b̃ n b̃ n+ c̃ n c̃ n+ Figure 5: The actual construction step of rigid origami realizing partition problem.˜ d i corresponds to ˜ v i +1 − ˜ v i (but i = n will behave slightly differently), so we can compute ˜ v i for1 ≤ i ≤ n via ˜ v i +1 = ˜ v i + ˜ d i , using ˜ v = (0 ,
0) as a base case. We define ˜ d = (1 , d i − , we compute ˜ d i by rotating the vector ˜ d i − by the rotation matrix − ˜ t i t i − t i t i t i t i − ˜ t i t i , (13)and rounding the resulting coordinates to the nearest integer multiples of ε g . Finally, we compute˜ v n +1 . We want ˜ v n +1 and ˜ v to be exactly mirror symmetric through the bisecting vector ˜ s of ˜ d n and − ˜ d . This bisecting vector is given by ˜ s = (˜ d n − ˜ d ). We check that ˜ v n + ˜ d n has a smallerdot product than − ˜ v does with the bisecting vector, so that we can make ˜ v n +1 − ˜ v n longer than1 unit. If this condition does not hold, we restart the entire algorithm with the order a , a , . . . , a n reversed. Then we set ˜ v n +1 to ˜ v n + (˜ v − ˜ v n ) · ˜ s ˜ d n · ˜ s ˜ d n ( not rounded to the ε g -resolution grid).Now we compute the boundary vertices ˜ b i , ˜ c i of the piece of paper, connected via creases to ˜ v i ,for each i = 0 , , . . . , n + 1. For i = 1 , , . . . , n , we use equations ˜ b i − ˜ v i = − ˜ d ⊥ i − and ˜ c i − ˜ v i = − ˜ d ⊥ i (i.e., 90 ◦ right rotation of vectors ˜ d i − and ˜ d i ), which even remains on the ε g -resolution grid. For i = 0 and i = n + 1, we use an extension of the segment ˜ v ˜ v n +1 to define one boundary vertex,and use reflections to compute the other boundary vertex. Precisely, we define ˜ c and ˜ b n +1 via˜ c − ˜ v = ˜ v − ˜ v n +1 (cid:100)(cid:107) ˜ v − ˜ v n +1 (cid:107)(cid:101) , ˜ b n +1 − ˜ v n +1 = ˜ v n +1 − ˜ v (cid:100)(cid:107) ˜ v n +1 − ˜ v (cid:107)(cid:101) ;11nd define ˜ b and ˜ c n +1 via ˜ b − ˜ v equalling the reflection of ˜ d through ˜ v ˜ v n +1 , and ˜ v n +1 − ˜ c n +1 equalling the reflection of ˜ d n through ˜ v ˜ v n +1 . These coordinates are rational, with numeratorsand denominators bounded by a polynomial in 1 /ε g .Now we prove a sequence of claims about the constructed crease pattern in order to show it isrigidly foldable up to precision ε .First we claim that the crease pattern is exactly locally flat foldable, i.e., satisfies Kawasaki’sTheorem. This claim follows by construction: for each vertex ˜ v i , we constructed ˜ b i and ˜ c i exactlyto guarantee local flat foldability of ˜ v i . For i = 1 , , . . . , n , we used 90 ◦ rotations to guarantee tworight angles; and for i = 0 and i = n + 1, we used exact reflections.Next we claim that vertices ˜ v and ˜ v n +1 are mirror symmetric with each other, and each havetwo collinear creases ( α = β ), as needed by the partition reduction. This claim follows from theconstruction: the exact computation of the bisecting vector ˜ s and vertices ˜ c and ˜ b n +1 .Next we claim that each vertex ˜ v i , for 1 ≤ i ≤ n , has β = 90 ◦ (exactly) and α = ˜ α i satisfyingtan ˜ α i = ˜ t i ± O ( ε g ) = t i ± O ( ε g + ε t ). That β = 90 ◦ follows from the construction of ˜ b i and ˜ c i .To measure ˜ α i , we first analyze the lengths of ˜ d i : (cid:107) ˜ d (cid:107) = 1, and ˜ d i is an ε g -grid rounding of arotation of ˜ d i +1 , so | (cid:107) ˜ d i (cid:107) − (cid:107) ˜ d i +1 (cid:107) | ≤ √ ε g , and therefore (cid:107) ˜ d i (cid:107) is within ± n √ ε g of 1. Assuming ε g < / (2 n √ (cid:107) ˜ d i (cid:107) ≥ . By construction, the angle ˜ α i at ˜ v i is equal to the angle between vectors˜ d i and ˜ d i − . Because these vectors have length ≥ , the angle change caused by rounding therotated ˜ d i − is at most 2 √ ε g . By Taylor Series, (cid:12)(cid:12)(cid:12)(cid:12) tan ˜ α i − ˜ t i (cid:12)(cid:12)(cid:12)(cid:12) ≤ (cid:16) √ ε g (cid:17) sec arctan ˜ t i + (cid:16) √ ε g (cid:17) ˜ t i sec arctan ˜ t i + · · · . Because α i ∈ (0 , ◦ ), we have t i ∈ (0 ,
1) and thus ˜ t i ∈ [0 , arctan ˜ t i ∈ [1 , (cid:12)(cid:12) tan ˜ α i − ˜ t i (cid:12)(cid:12) = O ( ε g ), and (cid:12)(cid:12) tan ˜ α i − t i (cid:12)(cid:12) = O ( ε g + ε t ),Finally we claim that (cid:81) ˜ p i = (cid:81) p i ± O ( nε g + nε t ), where ˜ p i = − tan αi αi . We have ˜ p i = p i ± O ( ε g + ε t ) by a similar argument to the above. Because p i ∈ (0 . , p i /p i = 1 ± O ( ε g + ε t ). Therefore (cid:89) ˜ p i = (cid:89) p i ± O ( n ( ε g + ε t )) . (14)This error bound gives us a lower bound on the precision ε in our output instance of finite-precision degree-4 flat-foldable rigid foldability. Namely, if ε > ε LB := cn ( ε g + ε t ), where c is theconstant in the O notation in Equation (14), then the finite-precision rigid foldability instance hasa “yes” answer whenever (cid:81) ˜ p i = 1, i.e., when the Partition instance has a “yes” answer.It remains to prove that, if the Partition instance has a “no” answer, then the constructed creasepattern is a “no” instance to finite-precision rigid foldability. For this property to hold, we need anupper bound on ε . Consider a candidate partition ( S, A \ S ), and suppose that Σ( S ) (cid:54) = Σ( A \ S ).Because A ⊂ N , | Σ( S ) − Σ( A \ S ) | ≥
1. Thus, for Inequality 6 to (incorrectly) hold on the12onstructed crease pattern, we would need ε to be at least ε (cid:48) UB = (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:89) i ˜ p i − (cid:12)(cid:12)(cid:12)(cid:12)(cid:12) = (cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:89) i p i − ± O ( n ( ε g + ε t )) (cid:12)(cid:12)(cid:12)(cid:12)(cid:12) = (cid:12)(cid:12)(cid:12)(cid:12) exp(Σ( S ) / Σ( A ))exp(Σ( A \ S ) / Σ( A )) − ± O ( n ( ε g + ε t )) (cid:12)(cid:12)(cid:12)(cid:12) = (cid:12)(cid:12)(cid:12)(cid:12) exp (cid:18) Σ( S ) − Σ( A \ S )Σ( A ) (cid:19) − ± O ( n ( ε g + ε t )) (cid:12)(cid:12)(cid:12)(cid:12) ≥ (cid:12)(cid:12)(cid:12)(cid:12) exp (cid:18) A ) (cid:19) − ± O ( n ( ε g + ε t )) (cid:12)(cid:12)(cid:12)(cid:12) ≥ (cid:12)(cid:12)(cid:12)(cid:12) A ) ± O ( n ( ε g + ε t )) (cid:12)(cid:12)(cid:12)(cid:12) , by Taylor expansion. Assuming cn ( ε g + ε t ) < A ) where c is the (same) constant in the O notation,the absolute value operation is unnecessary, and we obtain ε (cid:48) UB ≥ A ) − cn ( ε g + ε t ) =: ε UB . By setting ε < ε UB (and thus < ε (cid:48) UB ), we guarantee that “no” answers are preserved.To guarantee that ε LB < ε UB , we need that cn ( ε g + ε t ) < A ) − cn ( ε g + ε t ), i.e., 2 cn ( ε g + ε t ) < A ) . Thus it suffices to set ε g = ε t = 15 cn Σ( A ) , i.e., G = 5 cn Σ( A ) , which we can compute and represent exactly as a rational number by taking an integer upper boundon c .Therefore, by setting ε = ε LB + ε UB (also computable exactly as a rational number), we obtain ε LB < ε < ε UB as needed for correctness of the reduction. All (rational) coordinates in the reductionhave numerator and denominator bounded by a constant-degree polynomial in 1 /ε g = 5 cn Σ( A ),and thus so does the output number ε . Theorem 16.
Rigid foldability of a given crease pattern (with optional creases) is strongly NP-hard.
To prove this, we reduce from 1-in-3 SAT. Figure 6 shows the crease pattern for such a 1-in-3 SAT reduction, i.e., the crease pattern is rigidly foldable if and only if there is a set of binaryvariables that satisfy a given 1-in-3 SAT problem. The basic idea is that we describe binary variablesby whether creases are folded (true) or not (false). This binary information will be carried via setsof four parallel creases, which we call wires . As we detail later, we carefully design gadgets , i.e.,crease patterns connected to wires that are designed to be rigidly foldable for a given binary patternof wires. 13 x → x → x p p p p p p pppppp pp pp pp → x clause 1variablesclause l ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙∙∙∙∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙∙∙∙∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ Figure 6: A crease pattern rigidly foldable if and only if it satisfies a 1-in-3 SAT.14 H H H H H n V V l −1 V l V l +1 V V H n+ ~ H n+ { H n+ l− ~ H n+ l { x x x x x n - i n - ( x , x , x ) - i n - ( x , x , x n ) x x x x x x x n x n x x x x splitterstaircase wiregutter wireNAND(suppressor)1-in-3 clause ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙∙∙∙∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙∙∙∙∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ Figure 7: Schematic diagram of gadget layout.To overview the functional connection between gadgets, Figure 7 shows the schematic for de-signing such a crease pattern. The gadgets are designed to have two inputs of horizontal (fromthe left) and vertical (from below) wires, or multiple inputs from different horizontal wires fromthe right (in the case of the 1-in-3 clause gadgets), so that the wires carry their signals throughthe gadgets. Specifically, we design a splitter gadget (Figure 9) that copies a horizontal value toa vertical value and vice versa, a suppressor gadget (Figure 10) that enables a NAND operationbetween horizontal and vertical values, and a (Figure 11) that rigidly folds ifand only if exactly one of three horizontal inputs are true. In addition, there are many intersectionsof horizontal and vertical wires. We carefully design our crease pattern so that these intersectionsmerely cross over and do not logically interfere with one another. The gadgets are arranged in thecrease pattern as follows (more detail is given in Section 4.2):1. The bottom n horizontal wires represent the input variables x , . . . x n . They are copied to15
11 11 1p p Figure 8: Two types of wire gadgets in true setting. Left: gutter wire. Right: staircase wire. Notethat the numbers show relative folding angle speed.vertical lines by using splitters and carried to each clause that uses this variable.2. Each set of four horizontal wires above the input variables section correspond to a clause.The copied variables in vertical lines are reflected horizontally using a 3 × We extract a set of four parallel lines from the tessellation structure, and call them true if any ofthe four creases are folded, and false if none of the four creases are folding.For true values we will use 2 rigid folding modes of wires, which we call gutter and staircase ,respectively (Figure 8). Note that the folding speeds measured in tangents of half the fold anglesare different between two pairs of creases for a staircase wire. In our construction we will use afolding speed of p = , and the relative speed of the pairs of creases in a staircase will be p = . A splitter is the 2 × , where the left and righthorizontal wires are the input and the top and bottom vertical wires are the output (or the otherway around) (Figure 9 left two). Note that we may think of both the left and right wires to beinputs (and both top and bottom to be outputs) because signals will always be unchanged as theytravel through the splitter, either horizontally or vertically. A standard splitter will have all of its16 plitter Staircase Splitter p p p p TT TTFF FF Widening Splitter p p ppp p p p p p pp Figure 9: Splitter gadget allowing for (true, true) or (false, false) only.wires be gutters. A staircase splitter is a 90 ◦ rotation of splitter, but its wires will have differentmodes so that the horizontal wire is a staircase and the vertical wire is a gutter. A widening splitter uses a pattern with two pairs of twists with angles arctan (at the bottom) and 2 arctan (at thetop) to change the widths of vertical wires. The folding mode of a widening splitter is designed tomatch with staircase horizontal wires and gutter vertical wires.In what follows we denote the binary values of our gadgets with the notation ( X, Y ) where X is the boolean value of the horizontal wires and Y is the value of the vertical wires. Lemma 17.
A splitter, staircase splitter and widening splitter can fold only if they copy the valuesin the input to the output, and thus the possible patterns are (true, true) or (false, false).Proof.
All horizontal creases are connected to vertical creases via degree-4 vertices with finite valueof speed coefficients. If any of these creases fold, then every fold line in the gadget must fold, forcingthe input and the output wires to have the same value.
Lemma 18.
A splitter, staircase splitter and widening splitter can rigidly fold in the mode specifiedin Figure 9, where the numbers , p, p , p ( p = ) assigned to the fold lines are the absolute relativefolding speeds measured in tangent of half the fold angles.Proof. All splitters are composed of 4 rigid origami twists as seen in Lemma 14. By consecutivelymirroring the square twist in mode (a) of Figure 3 across horizontal and vertical axes, we obtain asplitter with the folding mode described in Figure 9. Because p (arctan ) = , the folding followsthe specified speed.The staircase splitter is obtained by rotating the normal splitter, but then changing some ofthe modes of the vertices (refer to Figure 2) so as to cascade the relative folding speed p as shownin Figure 9. A widening splitter connects mode (a) of the square twist from Figure 3 with anothersquare twist with a different twist angle. The consistent folding mode is ensured by having thebottom and top twists connected through folds with the same absolute speed and then having themmirrored with respect to the vertical line. Now, because we chose p (2 arctan ) = for the toptwists, the top two creases folds p times the speed of the bottom two creases.17 emark 19. Note that vertical wires are all gutters. Also, for the normal splitter, the speed ofvertical wire is p times the speed of horizontal wire. Moreover, the speed of the vertical wire in thestaircase splitter is p times that of widening splitter (when we synchronize the horizontal staircasewires of staircase and widening splitters). Just overlaying two orthogonal wires (Figure 10 left) would make vertical and horizontal wiressuppress each other so that they cannot be folded at the same time. We call this a suppressor ,which only allows the patterns (false, false), (true, false), and (false, true).
Lemma 20.
A suppressor leaves all four horizontal creases unfolded or all four vertical creasesunfolded.Proof.
Any horizontal crease crosses perpendicularly to all vertical creases, forming degree-4 vertexwith 90 ◦ sector angles. Because the speed coefficients are 0 at such a point, vertical creases cannotfold if horizontal crease have fold angle (0 , ◦ ).This implies that we need to devise a crossover system to avoid logical interactions betweenhorizontal and vertical wires.A crossover gadget (Figure 10, right) is realized by overlaying the crease pattern of a splitter ontop of a suppressor, where we line up the horizontal and vertical inputs. The overlaying of patternsallows us to chose either pattern to be active, so we get the union of the folding modes of splittersand suppressor, which complete four possible binary patterns. Lemma 21.
Crossover gadgets can fold into four patterns (false, false), (true, false), (false, true)and (true, true). The folding modes of (true, false) and (false, true) patterns follow those of thecorresponding wires, and the folding mode of (true, true) pattern follows that of a splitter. A clause gadget is designed by overlaying three widening splitters in vertical direction, connectedby one upside-down widening splitter on top (see Figure 11). We consider three bottom horizontalwires to be the literals, and the vertical wire gives the satisfiability. The fourth (top) horizontalwire, which is connected to the upside-down widening splitter, exists only for readjustment ofwidths to connect to the next clause on top. Lemma 22.
A clause gadget folds only if exactly one of three inputs is true.Proof.
Assume that the second input wire (from the bottom) is true. Because every horizontalcrease in a clause gadget stops when it encounters a twist fold, all the twists must be folded in thesecond wire section. The vertical wires above the twists are wide, and the vertical wires bellowthe twists are narrow. Therefore the twists connected to the first and third input wires will besuppressed, and the clause must form a (false, true, false) pattern. This is the same for the firstand third horizontal wires, so we obtain (true, false, false) or (false, false, true) patterns. Becausethe bottommost vertical wire is narrow and the topmost vertical wire is wide, the vertical wire isfoldable only if it uses at least one of the twists, but doing so will force us to chose one of threemodes we have described.
Lemma 23.
Clause gadget can fold in modes specified in Figure 11, which follows the foldingmode of widening splitter and its upside down mirror image. T TTFF FF TT FF FF TTFF FF TT FF FF TT suppressor crossover
Figure 10: Suppressor (left) can not achieve (true, true) pattern. Crossover gadget (right) canrealize any combination (false, false) (false, true), (true, false), (true, true)
Proof.
The rigid folding motion follows that of widening splitter, and because the connected upsidedown splitter is compatible, they fold rigidly with the specified relative speed (in tangent half foldangle parameterization) in Figure 11.
Proof of Theorem 16.
For a given 1-in-3 SAT conjunctive normal form R ∧· · ·∧ R m with m clauses R , . . . , R m of n variables x , . . . , x n , we construct a grid of n + 4 m horizontal wires H , . . . , H n +4 m and vertical wires V , . . . , V m +1 , where we place a gadget at each intersection node of wires or atgroups of nodes as specified bellow. By default, crossover gadgets are placed at unspecified nodesbetween horizontal and vertical wires.We set the horizontal wires from H , . . . , H n to be the variables x , . . . , x n , and each set offour horizontal wires ( H n +4( l − , . . . , H n +4( l − ) to be the l th clause R l ( l = 1 , . . . , m ). Specif-ically, for R l = 1-in-3( x i , x j , x k ), we place a clause gadget at the intersection between V and( H n +4( l − , . . . , H n +4( l − ). The input variables H n +4( l − , H n +4( l − , H n +4( l − of theclause are copied from V l − , V l , V l +1 , respectively; and the values of V l − , V l , V l +1 are copiedfrom H i , H j , H k , respectively, by placing splitters at appropriate the intersections. We claim thatthe value of each of the vertical wires V l − , V l , V l +1 is constrained only by the 1-in-3 clause gad-gets that they are attached to via splitters. This is because each of these vertical wires, if foldingin a true signal, will (1) suppress the other vertical wires being fed into this clause and (2) crossother horizontal wires at a crossover gadget which will not change its value. By Lemmas 17, 20, 21and 22, each clause can rigidly fold only if the clause returns true.Now, because we concatenate all cause gadgets along V , all clauses must be true if any clauseis true. We claim that at least one clause must be true if any fold line is folded, therefore the wholelaid out pattern can fold only if the given 1-in-3 SAT R ∧ · · · ∧ R m is satisfied. The claim followsbecause if all the clauses are false, then all variables are false and thus all horizontal wires are false.19 p p p ppppp p ppp p pp True → TrueFalseFalse False → TrueFalse FalseFalse → TrueTrue True TrueTrue True
Figure 11: Clause gadget. If vertical signal is true, this can fold into 3 ways. Each of the foldingmode corresponds to horizontal signals (true, false, false), (false, true, false), or (false, false, true).The gadgets forces us to select exactly one of the horizontal signals.Because all vertical wires V . . . V m +1 are the copies of variables, all vertical wires are also false,and thus the paper remains unfolded.If 1-in-3 SAT is satisfied, we may assign true and false to each wire as appropriate. For wireswith false, we can assume that they are removed from the crease pattern, which will result in a flat-foldable quadrivalent mesh composed of splitters, staircase splitters, widening splitters. For thesecreases, we assign the specified folding modes in Lemmas 18 and 23, so that they are compatiblethrough the gutter and staircase wires at correct speeds. In particular, the synchronization betweenwidening splitters and the staircase splitters is realized by the different speed between V (with speed1) and V , . . . V m +1 (with speed p ) as in Remark 19. To allow for a correct synchronization, weplace 90 ◦ rotated crossovers at the intersections between V and H , . . . , H n so that the speed ofthe horizontal wire is p times the speed of the vertical wire (Figure 12). More precisely, considerthat the l th clause’s d th variable ( d = 0 , , x i is true, then each cycle formed by (1) the splitterat ( V l − d , H i ), (2) the staircase splitter at ( V l − x , H n +4 l − d ), (3) the widening splitter at( V , H n +4 l − x ) as a part of clause gadget, and (4) the 90 ◦ rotated splitter at ( V , H i ) as a part ofcrossover gadget rigidly folds with synchronized speeds at the creases.20 p p p
11 1 1 p p p p
11 1 1 p p ppppppp p pppppp wideningsplitter staircasesplitterrotatedsplitter splitter V V l− x H i H n+ l− x ∙∙∙ ∙∙∙ ∙∙∙∙∙∙ ×p ×p×p −3 ×p −1 ×p×p −1 Figure 12: Synchronization of gadgets: splitter (right bottom), staircase splitter (right top), widen-ing splitter (left top), and 90 ◦ rotated splitter (left bottom). An example set of four gadgets arecircle marked in Figure 6. We have shown that judging rigid foldability of a crease pattern using all creases is weakly NP-hard (Theorem 15) and rigid foldability with optional creases is NP-hard (Theorem 16). The lowerbound is not proven to be tight, as we do not know if this problem belongs to NP in general. Asrigid origami is a special case of linkages, the rigid foldability problem belongs to Class ∃ R [2].We would like to know a tight lower bound in the future studies. For example, for flat-foldabledegree-4-vertex origami, rigid foldability with given assignment is solvable in linear time, and thusrigid foldability belongs to NP (Theorem 13). Note that our work only proves weakly NP hardnessof the model using all creases since the all-crease model does not allow for the overlay scheme forcreating useful gadgets. It is still open if the hardness of two models differ. Acknowledgements
This work was begun at the 2015 Bellairs Workshop on Computational Geometry, co-organizedby Erik Demaine and Godfried Toussaint. We thank the other participants of the workshop forstimulating discussions.
References [1] Z. Abel, J. Cantarella, E. Demaine, D. Eppstein, T. Hull, J. Ku, R. Lang, and T. Tachi. Rigidorigami vertices: conditions and forcing sets.
Journal of Computational Geometry , 7(1):171–184, 2016.[2] Zachary Abel, Erik D. Demaine, Martin L. Demaine, Sarah Eisenstat, Jayson Lynch, andTao B. Schardl. Who needs crossings? hardness of plane graph rigidity. In ymposium on Computational Geometry, SoCG 2016, June 14-18, 2016, Boston, MA, USA ,pages 3:1–3:15, 2016.[3] Hugo A. Akitaya, Kenneth C. Cheung, Erik D. Demaine, Takashi Horiyama, Thomas C.Hull, Jason S. Ku, Tomohiro Tachi, and Ryuhei Uehara. Box pleating is hard. In Discreteand Computational Geometry and Graphs: 18th Japan Conference, JCDCGG 2015, Kyoto,Japan, September 14-16, 2015, Revised Selected Papers , pages 167–179, Cham, 2016. SpringerInternational Publishing.[4] alex.jordan. Rapid approximation of tanh( x ). Mathematics Stack Exchange, February 2012.https://math.stackexchange.com/q/107309.[5] s.-m. belcastro and T. Hull. Modelling the folding of paper into three dimensions using affinetransformations. Linear Algebra and its Applications , 348:273–282, 2002.[6] Marshall Bern and Barry Hayes. The complexity of flat origami. In
Proc. 7th ACM-SIAMSymposium on Discrete Algorithms (SODA ’96) , pages 175–183, 1996.[7] R. Bricard. M´emoire sur la th´eorie de l’octa`edre articul´e.
J. Math. Pures Appl. , 3:113–150,1897.[8] Christoph Burnikel, Stefan Funke, Kurt Mehlhorn, Stefan Schirra, and Susanne Schmitt. Aseparation bound for real algebraic expressions.
Algorithmica , 55(1):14–28, September 2009.[9] C. H. Chiang.
Kinematics of Spherical Mechanisms, 2nd ed.
Krieger Publishing Co., Malabar,FL, 2000.[10] Jian S. Dai. Configuration transformation and mathematical description of manipulation oforigami cartons. In K. Miura, T. Kawasaki, T. Tachi, R. Uehara, R. J. Lang, and P. Wang-Iverson, editors,
Origami , pages 163–173. The American Mathematical Society, 2015.[11] E. D. Demaine and J. O’Rourke. Geometric Folding Algorithms: Linkages, Origami, Polyhedra .Cambridge University Press, Cambridge, 2007.[12] T. A. Evans, R. J. Lang, S. P. Magleby, and L. L. Howell. Rigidly foldable origami twists.In K. Miura, T. Kawasaki, T. Tachi, R. Uehara, R. J. Lang, and P. Wang-Iverson, editors,
Origami , pages 119–130. The American Mathematical Society, 2015.[13] S. Fujimoto and M. Nishikawa. Seizo suru origami asobi no shotai (Creative Invitation toPlaying with Origami, in Japanese) . Asahi Culture Center, Tokyo, 1982.[14] D. A. Huffman. Curvature and creases: A primer on paper.
IEEE Transactions on Computers ,25(10):1010–1019, 1976.[15] T. Hull. Counting mountain-valley assignments for flat folds.
Ars Combinatoria , 67:175–187,2003.[16] T. Hull.
Project Origami: Activities for Exploring Mathematics, 2nd ed.
A K Peters/CRCPress, Wellesley, MA, 2012.[17] S. A. Robertson. Isometric folding of Riemannian manifolds.
Proc. of the Royal Society ofEdinburgh , 79(3-4):275–284, 1977. 2218] M. Schenk, S. G. Kerr, A. M. Smyth, and S. D. Guest. Inflatable cylinders for deployable spacestructures. In F. Escrig and J. S´anchez, editors,
Proc. of the First Conference Transformables2013, In the Honor of Emilio P´erez Pi˜nero, Seville, Spain , Madrid, Spain, 2013. StarbookEditorial.[19] J. L. Silverberg, A. A. Evans, L. McLeod, R. Hayward, T. Hull, C. D. Santangelo, and I. Cohen.Using origami design principles to fold reprogrammable mechanical metamaterials.
Science ,345(6197):647–650, 2014.[20] T. Tachi. Rigid-foldable thick origami. In P. Wang-Iverson, R. J. Lang, and M. Yim, editors,
Origami : Fifth Int. Meeting of Origami Science, Mathematics, and Education , pages 253–263,Boca Raton, FL, 2011. CRC Press.[21] Tomohiro Tachi. Freeform rigid-foldable structure using bidirectionally flat-foldable planarquadrilateral mesh. In Cristiano Ceccato, Lars Hesselgren, Mark Pauly, Helmut Pottmann, andJohannes Wallner, editors, Advances in Architectural Geometry 2010 , pages 87–102. SpringerVienna, 2010.[22] Tomohiro Tachi and Thomas C. Hull. Self-foldability of rigid origami.