Academia.eduAcademia.edu

Folding and Punching Paper

Journal of Information Processing

Journal of Information Processing Vol.25 590–600 (Aug. 2017) [DOI: 10.2197/ipsjjip.25.590] Regular Paper Folding and Punching Paper Yasuhiko Asao1,a) Erik D. Demaine2,b) Martin L. Demaine2,c) Hideaki Hosaka3,d) Akitoshi Kawamura4,e) Tomohiro Tachi4,f) Kazune Takahashi1,g) Received: November 7, 2016, Accepted: February 9, 2017 Abstract: We show how to fold a piece of paper and punch one hole so as to produce any desired pattern of holes. Given n points on a piece of paper (finite polygon or infinite plane), we give algorithms to fold the paper flat so that those n points and no other points of paper map to a common location, so that punching one hole and unfolding produces exactly the desired pattern of holes. Furthermore, we can forbid creases from passing through the points (allowing noncircular hole punches). Our solutions use relatively few creases (in some cases, polynomially many), and can be expressed as a linear sequence of folding steps of complexity O(1)—a generalization of simple folds which we introduce. Keywords: origami, fold-and-punch problem, fold-and-cut problem, folding complexity, flat folding 1. Introduction In the fold-and-cut problem introduced at JCDCG’98 [5], we are given a planar straight-line graph drawn on a piece of paper, and the goal is to fold the paper flat so that exactly the vertices and edges of the graph (and no other points of paper) map to a common line. Thus, one cut along that straight line (and unfolding the paper) produces exactly the given pattern of cuts. This problem always has a solution [3], [6], though so far the complexity of the crease pattern depends on both the number n of vertices and the ratio r of the largest and smallest distances between nonincident vertices and edges. (A rough estimate on the complexity is O(nr).) In the fold-and-punch problem, we are given n points drawn on a piece of paper, and the goal is to fold the paper flat so that exactly those points (and no other points of paper) map to a common point. Thus, punching one hole at that point (and unfolding the paper) produces exactly the given pattern of holes. This problem is a natural analog of the fold-and-cut problem where we replace one-dimensional features and target (segments onto a common line) with zero-dimensional features and target (points onto a common point); thus, we also call the problem zero-dimensional fold and cut. This problem is also a special case of the multi1 2 3 4 a) b) c) d) e) f) g) Graduate School of Mathematical Sciences, The University of Tokyo, Meguro, Tokyo 153–8914, Japan MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, Massachusetts 02139, USA Azabu Junior-High School, Minato, Tokyo 106–0046, Japan Graduate School of Arts and Sciences, The University of Tokyo, Meguro, Tokyo 153–8902, Japan [email protected] [email protected] [email protected] h [email protected] [email protected] [email protected] [email protected] c 2017 Information Processing Society of Japan  dimensional fold-and-cut problem posed in Ref. [6], after Open Problem 26.32. Directly applying a fold-and-cut solution to the graph with n vertices and zero edges does not solve the corresponding foldand-punch problem, because the n points would come to a common line but not a common point. This discrepancy can be fixed by then making n − 1 one-layer simple folds along perpendicular bisectors between consecutive points (all perpendicular to the common line). Our goal in this paper is to find more efficient algorithms for the fold-and-punch problem. Indeed, unlike the fold-and-cut problem, we find solutions that use a number of creases depending only polynomially in n. We also consider four variations on the problem, based on two binary parameters: Paper size: The paper can be either a bounded set or the infinite plane. Solutions to the fold-and-cut problem (with finitely many creases) are known only in the bounded case. The paper remains unbounded after any finite number of folds, making it difficult to prevent accidental alignment. Creasing through points: Creases can be either permitted or forbidden to pass through the points to be aligned. Forbidding creases is useful, for example, if we want to punch a hole with a shape other than a circle. Even with a circular punch, creases through the hole give little tolerance for precise hole punching in practice. The solution above using fold-and-cut leads to creases at every point. To quantify the efficiency of our solutions, we decompose our folding into a sequence of folding steps. In particular, our motivation is to generalize the notion of simple fold [1], [2], which allows folding along a single line or segment, and sequences of simple folds. More generally, we can decompose any folding of a piece of paper into a sequence of one or more folding steps. Each folding step starts from an already folded piece of paper (the result of the previous steps), and makes an arbitrary fold, 590 Journal of Information Processing Vol.25 590–600 (Aug. 2017) Table 1 Results: The number of flat folding steps of complexity O(1), and the number of resulting creases, in our solutions to each of the four problem variants. Allow Creases Through Points Forbid Creases Through Points Paper Steps Creases Steps Creases Bounded O(n) O(n2 ) O(n log r) O(n3 r′ ) = O(n5 r) O(n log r) O(n2 r′′ ) = O(n4 r) Unbounded O(n) 2 O(n ) producing another folded state. Roughly, a folding step has complexity k if the paper can be decomposed into k+1 clusters (possibly disconnected regions) that each get folded as a single unit not sandwiched within any other cluster; refer to Section 2 for formal definitions. We call a folding step flat if the folded state is flat before and after the step, and all-layers if it treats the folded state before the step as a piece of paper (not separating any previously collocated layers). In particular, every some-layers simple fold is a flat folding step of complexity 1, and every all-layers simple fold is an all-layers flat folding step of complexity 1. At the other extreme, any folded state with k + 1 faces in its crease pattern can be viewed as a sequence of just one folding step, of complexity k. We can now measure the number of folding steps, the maximum complexity of the folding steps in the sequence, the total complexity of all the folding steps, etc., in addition to the usual measure of the total number of creases in the final folded state. In particular, a natural class of foldings studied here decompose into a sequence of flat folds of O(1) complexity — a natural generalization of a sequence of simple folds. Table 1 summarizes the number of such folding steps that we use in our solution to each of the four variations of the problem, as well as the total number of creases in the final crease pattern (i.e., when viewing the folding as a single step). In some cases, we depend only on the number n of points; in other cases, we depend (usually, only logarithmically) on the ratio r of the largest and smallest distances between points. For fun, we designed a typeface based on folding and one punch. Figure 1 illustrates one font in the series, showing both crease pattern and resulting hole punches. Presenting the crease pattern and just one circle results in an intriguing puzzle font; see our web implementation*1 . See also Ref. [4] for related work on mathematical and puzzle fonts. 2. Folding Sequence Definition Fig. 1 Creating every letter of the alphabet by folding (along the specified crease pattern) and one punch, resulting in the circular holes. These foldings were designed by hand to be as simple as possible, using the ORIPA software. Amusingly, M and W use the same crease pattern, without rotation or reflection. c 2017 Information Processing Society of Japan  In this section, we introduce the formal concept of a sequence of folds, and the complexity of the fold steps. This definition aims to generalize the idea of a sequence of simple folds in a way that will be useful beyond the work presented here. First, we follow the definition of folded state by Ref. [6]: Definition 2.1 (Folded State). A piece of paper P is an orientable 2-manifold embedded in R3 . A folded state or folding ( f, λ) of P consists of an intrinsically isometric geometry f : P → R3 and an ordering λ : L → {−1, +1}, where L = {(p, q) ∈ P × P | p, q are noncrease points of f , and f (p) = f (q)}, satisfying Antisymmetry, Transitivity, Consistency, and Noncrossing conditions [6]. Here λ(p, q) = +1 means that point p is stacked above q (in the *1 http://erikdemaine.org/fonts/foldpunch/ 591 Journal of Information Processing Vol.25 590–600 (Aug. 2017) Fig. 3 Fig. 2 Weaving with folding steps of complexity 1. direction of the normal n f (q) of the folded surface at q), and λ(p, q) = −1 means that p is stacked below q (in the direction −n f (q)). Definition 2.2 (Folding Step). A folding step consists of a before folded state ( f0 , λ0 ) and an after folded state ( f1 , λ1 ); we call the folding step from ( f0 , λ0 ) to ( f1 , λ1 ). Let L j denote the domain of λ j , i.e., all pairs of noncrease points mapped together by f j . A folding step is flat if both f0 (P) and f1 (P) lie in the xy plane. Definition 2.3 (Folding Step Complexity). A folding step of complexity k from ( f0 , λ0 ) to ( f1 , λ1 ) consists of a clustering C0 , C1 , . . . , Ck satisfying the following properties: (C1) Clusters partition paper: C0 , C1 , . . . , Ck are disjoint open sets partitioning P, i.e., P = C0 ∪ C1 ∪ · · · ∪ Ck where X denotes the closure of X. (C2) Cluster geometry: On each cluster Ci , f0 and f1 differ by only a rigid motion gi , i.e., ( f1 )|Ci = gi ◦ ( f0 )|Ci . Furthermore, g0 is the identity map, i.e., C0 does not move geometrically. As a consequence, L0 ∩(Ci ×Ci ) = L1 ∩(Ci ×Ci ). (C3) Cluster layering: For each cluster Ci , λ0 and λ1 agree on all points in Ci where they are defined, i.e., (λ0 )|L0 ∩(Ci ×Ci ) = (λ1 )|L1 ∩(Ci ×Ci ) . (C4) Clusters don’t sandwich: For each cluster Ci , for both folded states ( f j , λ j ), and for any point pair (p, q) ∈ L j ∩ (Ci × Ci ), there is no point b ∈ P \ Ci in between p and q according to ( f j , λ j ), i.e., no noncrease point b ∈ P \ Ci with f j (b) = f j (p) = f j (q) satisfying λ j (p, b)  λ j (q, b). Note that the number of clusters is 1 larger than the complexity, so that complexity 0 corresponds to no folding whatsoever. This definition of folding step complexity is nicely general, but it still allows the layering to be complex even in a folding step of complexity 1. Figure 2 shows how we may “weave” folded shapes without increasing the complexity. For example, a (some-layers) simple fold is a flat folding step of complexity 1 satisfying three additional conditions: (S1) Rigid motion g1 is not the identity, and thus is a reflection about a line ℓ1 . (S2) For some sign σ ∈ {+1, −1}, there are no collisions during a continuous σ 180◦ rotation of C1 around ℓ1 , or equivalently, C1 is on the same side of C0 before and after c 2017 Information Processing Society of Japan  An example of an all-layers flat folding step of complexity 5. the folding step: λ j (p, q) n f j (q) = σ ez for all (p, q) ∈ L j ∩ (C1 × C0 ) and for both j ∈ {0, 1}. (Here ez represents the vector (0, 0, +1).) (S3) Every point of C0 ∩ C1 is a crease point of f1 or on the boundary of P. This definition exactly matches the definition of simple fold in Ref. [1]. Without Property S3, we call such a folding step a (some-layers) simple fold/unfold. At the other extreme in complexity, any target folded state ( f1 , λ1 ) can be viewed as a folding step from the unfolded piece of paper (given by geometry f0 (p) = p) to ( f1 , λ1 ). By choosing the clusters to be the k + 1 faces of the crease pattern of f1 , the complexity of this step is k (assuming f1 is a rigid motion on each face of the crease pattern). We refer to k as the face complexity of ( f1 , λ1 ). Next we define a common type of folding step that treats the result of a previous folding step as its “piece of paper,” and thus does not separate any previously collocated layers of paper: Definition 2.4 (All-layers Folding Step). Given a folded state ( f0 : P → R3 , λ0 ), whose image f0 (P) is an orientable manifold P′ (with normals nP′ defined by an arbitrarily chosen “top” side), and given a second folded state ( f0→1 : P′ → R3 , λ0→1 ), define the all-layers folding step from ( f0 , λ0 ) to ( f1 , λ1 ) by f1 = f0→1 ◦ f0 , ⎧ ⎪ ⎪ ⎪ ⎨λ0 (p, q) λ1 (p, q) = ⎪ ⎪ ⎪ ⎩λ0→1 ( f0 (p), f0 (q)) · σ f0 (q) ( f0 (p) = f0 (q)), ( f0 (p)  f0 (q)), where σ f0 (q) = nP′ ( f0 (q)) · n f0 (q) indicates whether q’s normal vector on P as mapped by f0 matches or is flipped relative to the normal vector of f0 (q) on the coalesced surface P′ . If ( f0→1 , λ0→1 ) has face complexity k, then there is an all-layers folding step from ( f0 , λ0 ) to ( f1 , λ1 ) of complexity k. For example, an all-layers simple fold is a simple fold that is an all-layers folding step (for some f0→1 ). This definition exactly matches the definition of all-layers simple fold in Ref. [1]. Definition 2.5 (Folding sequence). A folding sequence is a sequence ( f0 , λ0 ), ( f1 , λ1 ), . . . , ( fm , λm ) of folded states and a sequence s0 , s1 , . . . , sm−1 of folding steps, where each si is a folding step from ( fi , λi ) to ( fi+1 , λi+1 ). The result of the folding sequence is ( fm , λm ). The folding sequence is complete if ( f0 , λ0 ) is the unfolded piece of paper, given by geometry f0 (p) = p. Remark 2.6. A folded state ( f, λ) can be the result of multiple different folding sequences. Figure 3 shows an example of folding which can be reached by either (1) a sequence of one simple fold (complexity 1) followed by one all-layers flat folding step of complexity 5; or (2) one flat folding step of complexity 11. 592 Journal of Information Processing Vol.25 590–600 (Aug. 2017) 3. Problem and Results In this section, we formally state the 0-dimensional fold-andcut problem and describe our results. Problem 3.1 (0-dimensional fold and cut). Given n points p1 , p2 , . . . , pn on a flat piece of paper P, find a flat folding ( f, λ) satisfying the following conditions: (F1) f (p1 ) = f (p2 ) = · · · = f (pn ). (F2) f (q)  f (p1 ) for any q ∈ P \ {p1 , p2 , . . . , pn }. We have four variations of this problem based on the following two criteria: • The paper P is bounded or unbounded. (Bounded) The paper P ⊂ R2 is bounded. (Unbounded) The paper P = R2 is the infinite plane*2 . • We can allow or forbid crease lines passing through given points: (Allowing) Allow crease lines passing through {pi }. (Forbidding) Forbid crease lines passing through {pi }. Our main results are summarized by the following theorem: Theorem 3.2. Problem 3.1 is always solvable in all four cases above. The solution can always be given by a sequence of flat folding steps, each of complexity O(1). Furthermore, every folding step is either a some-layers simple fold or an all-layers folding step; and in the bounded-paper cases, every folding step is a some-layers simple fold. Table 1 bounds the number of steps and the number of resulting creases in the crease pattern in each case. Remark 3.3. For Problem 3.1 with bounded paper, any shape of paper P is accepted. If we solve the problem for larger finite paper P′ containing original paper P, then we have a solution for the original paper P. Thus our solution is free to choose the shape of P′ , e.g., to be convex (say, the convex hull of P) or a rectangle (say, the bounding box of P). 3.1 Key Ideas We present our solutions to the four cases in order of increasing solution complexity: bounded & allowing case (Section 4), unbounded & allowing case (Section 5), bounded & forbidding case (Section 6), and unbounded & forbidding case (Section 7). The latter two sections can be read independently from the others, so to see the most general result and techniques, the reader may skip to Section 7. In the bounded & allowing case (Section 4), unbounded & allowing case (Section 5), and unbounded & forbidding case (Section 7), we use the following fundamental technique. We perform some folds in order to place p1 , p2 , . . . , pn on the same horizontal line such that each pi is not covered by any other layers of paper. Then, by just folding bisecting vertical lines, we can easily obtain a flat folding satisfying Properties F1 and F2; refer to Fig. 4. Lemma 3.4 (Bisection Folding). Let P be a piece of paper. If all pi ’s are on the same line ℓ, we can get such a folding satisfying Properties F1 and F2, without adding crease lines through {pi }. This construction results from a folding sequence of Θ(n) somelayers simple folds, and works if P is bounded or unbounded. *2 R2 is the hardest case of any unbounded piece of paper: a solution to P = R2 can be applied to its subset. c 2017 Information Processing Society of Japan  Fig. 4 Bisection folding to align collinear points. Proof. Consider ℓ as the x axis. Let xi be the x coordinate of pi . By relabeling the points, we can arrange for x1 < x2 < · · · < xn . For each i = 1, 2, . . . , n − 1 in turn, we fold a vertical crease at x = (xi + xi+1 )/2, mountain if i is odd and valley if i is even.  In the bounded & forbidding case (Section 6), making the points collinear by simple folds is difficult. Instead we can make the points arbitrarily close to collinear, using radial “shrink folding”. Then we observe that bisection folding of Fig. 4 is really folding along a Voronoi diagram of the points, and for points close enough to collinear, the Voronoi edges do not intersect on a bounded piece of paper. Therefore we can use this generalized form of bisection folding in this case; see Section 6 for details. Unfortunately, we do not know how to deal with Voronoi vertices, making it difficult to apply Voronoi diagrams directly to the entire problem. 3.2 Feature Ratios In the forbidding cases, our algorithms depend on geometric features of the input, not just the number n of points. (For the allowing case, the reader may safely skip this section.) The standard measure for capturing such geometric dependence is the feature ratio r—the ratio of the maximum and minimum feature sizes—which in this problem is given by r= maxi, j dist(pi , p j ) . mini j dist(pi , p j ) Here pi is chosen from the points defined in Problem 3.1, and in the case of bounded paper P, with the additional four corners of the bounding box of P. Our algorithms more naturally refer to two variations of feature ratio, which we will relate back to r: Definition 3.5. In the bounded & forbidding case, we define the radial feature ratio r′ = maxi Ri , mini j |Ri − R j | (1) where, for each 1 ≤ i ≤ n, Ri is the distance of pi from the origin p0 , which we assume is exterior to the paper. Definition 3.6. In the unbounded & forbidding case, we define the projected feature ratio r′′ =  maxi j |yi − y j | min mini j |xi − x j |, mini j |yi − y j | , (2) where, for each 1 ≤ i ≤ n, (xi , yi ) is the coordinate of pi (choosing the coordinate system to make the xi ’s and yi ’s distinct). The radial and projected feature ratios are related to the standard feature ratio by “only” a polynomial function of n: Lemma 3.7. Any n points have a rotation for which r′′ = O(rn2 ). 593 Journal of Information Processing Vol.25 590–600 (Aug. 2017) swapping pi and p j , we have Ri = (x + d/2)2 + y2 = x2 + y2 + d2 /4 + xd, Rj = (x − d/2)2 + y2 = x2 + y2 + d2 /4 − xd. Dividing by D =  x2 + y2 + d2 /4 = Θ(L), Ri = D 1+ xd , x2 + y2 + d2 /4 Rj = D 1− xd . x2 + y2 + d2 /4 We have xd ≤ (11L)L ≤ 11L2 , while x2 + y2 ≥ (9L)2 ≥ 81L2 . √ Thus x2 +y2xd+d2 /4 < 1. By Taylor’s Theorem, 1 + ε = 1 + Θ(ε) √ and 1 − ε = 1 − Θ(ε) for 0 ≤ ε < 1. Therefore xd Ri =1+Θ 2 , D x + y2 + d2 /4 Rj xd , =1−Θ 2 D x + y2 + d2 /4 Fig. 5 Analyzing the radial feature ratio in Lemma 3.8. Proof. Draw the complete graph on the n points, connecting every pair of points with a segment. Thus we obtain Θ(n2 ) segments, each with an (unoriented) direction, which we can view as two antipodal points on the circle of directions. For each such pair of directions, draw also the two perpendicular directions. Among Θ(n2 ) such points, there must be an empty interval on the circle of directions of length Ω( n12 ). Choose the midpoint of this interval as the direction for the x axis, and the y axis perpendicular to x. Now look at the projections of the segments onto the x and y axes. The longest segment in projection must be shorter or equal than the length L of the longest segment, so the numerator of r′′ is at most L. The shortest segment in projection forms angle Ω(1/n2 ) with respect to the projection direction (x or y) by construction, and has unprojected length at least the shortest overall length ℓ, so the projected length must be Ω(ℓ/n2 ). Therefore the projected feature ratio r′′ is O(L)/Ω(ℓ/n2 ) = O((L/ℓ)n2 ) = O(rn2 ).  Lemma 3.8. Any n points have a translation for which r′ = O(rn2 ) and p0 is exterior to the bounded paper P. Proof. Let L = maxi, j dist(pi , p j ) be the maximum distance between two points (including points of the bounding box of P). Consider the circle C of radius 10L centered at one of the points p1 . For every pair (pi , p j ) of points, draw the perpendicular bisector line. These Θ(n2 ) lines intersect circle C at Θ(n2 ) points. These intersection points divide C into Θ(n2 ) intervals, one of which must have angular length Ω(1/n2 ) and thus circumference Ω(L/n2 ). Choose p0 to be the center of this interval. Because p0 is on the circle C, we have 9L ≤ Ri ≤ 11L for all i. In particular, p0 is exterior to the paper. Now consider any two points pi , p j with i  j, whose distance d satisfies ℓ ≤ d ≤ L where ℓ is the minimum distance between any two points. Refer to Fig. 5. Let x be p0 ’s orthogonal distance from the perpendicular bisector of pi and p j . We have x = Ω(L/n2 ). Let y be the distance between pi (and p j ) and p0 when projected onto the perpendicular bisector. The quan tity x2 + y2 measures the distance between p0 and the midpoint  between pi and p j , so 9L ≤ x2 + y2 ≤ 11L. After possibly c 2017 Information Processing Society of Japan  so Ri − R j xd =Θ 2 . D x + y2 + d2 /4 Substituting various approximations, we obtain Ri − R j 1 Ω(L/n2 )Ω(ℓ) ℓ =Ω . =Θ =Ω Θ(L) Θ(L2 ) + O(L2 ) Ln2 rn2 Taking the reciprocal, we have r′ = maxi Ri Θ(L) = = O(rn2 ) mini j |Ri − R j | mini j |Ri − R j | as desired.  Remark 3.9. Solutions to Problem 3.1 with unbounded paper can be applied to Problem 3.1 with bounded paper, and solutions to Problem 3.1 forbidding creases through points can be applied to Problem 3.1 allowing creases through points. Therefore, if we apply the solution of the unbounded & forbidding case to the bounded & forbidding case, we obtain the number of creases as O(n2 r), which is a better bound than O(n3 r), but it does not consist of only simple folds. 4. Solution for Bounded Paper, Allowing Creases Through Points Theorem 4.1. Let P be a bounded piece of paper and let p1 , p2 , . . . , pn be n distinct points on P. Then there exists a flat folding satisfying Properties F1 and F2, allowing creases through {pi }. The number of creases is O(n2 ). The flat folding is the result of a folding sequence of O(n) some-layers simple folds. Proof. We can reduce to the case of Lemma 3.4 as follows. Rotate so that p1 , p2 , . . . , pn have distinct y coordinates y1 , y2 , . . . , yn . Relabel the points so that y1 > y2 > · · · > yn . If we fold the paper by horizontal mountain creases y = yi for 1 ≤ i ≤ n, and horizontal valley creases y = (yi + yi+1 )/2 for 1 ≤ i ≤ n − 1, then we will align the pi ’s onto a horizontal line, but other points 594 Journal of Information Processing Vol.25 590–600 (Aug. 2017) will fold to meet pi ; see Fig. 6 (left). If we reverse-fold the mountain folds, turning horizontal crease y = (yi + yi+1 )/2 into a valley and adding two mountain crease lines at pi with very small angle to the horizontal crease y = (yi + yi+1 )/2, then the creases will not intersect, so we obtain the desired result; see Fig. 6 (right). Now each pi is not covered by any other points, so we can reduce to the case of Lemma 3.4. We can implement essentially the same construction by a folding sequence of some-layers simple folds; refer to Fig. 7. For each i, we fold the horizontal valley crease y = (yi−1 + yi )/2 (one Fig. 6 If we fold the paper by mountain creases y = yi (1 ≤ i ≤ n) and valley creases y = (yi + yi+1 )/2 (1 ≤ i ≤ n − 1), we get the product on the left side. If we reverse-fold each mountain by a sufficiently small angle at pi , we get the product on the right side. In either case, the pi ’s are all on a horizontal line, and in the latter case, no other points cover these points. layer); then the horizontal mountain crease y = yi (one layer); then each of two near-horizontal valley folds at pi (two layers each). The valley folds need to be sufficiently close to horizontal to prevent additional overlap in future folds; in particular, it suffices to make the angle (between the valley folds and the horizontal crease y = (yi + yi+1 )/2) be at most half the angle from the reverse-fold method from Fig. 6 (which just needed to avoid intersecting creases). In Fig. 7, we fold the valley y = (yi−1 +yi )/2 even for i = 1, letting y0 be the top of the paper; and unfold this crease at the end of the sequence. Alternatively, we could skip the first valley fold so that each folding step is some-layers simple fold. This method consists of Θ(n) simple folds, each folding through 1 or 2 layers. Thus the number of creases is Θ(n), and all creases are nearly horizontal (as in Fig. 6 (right), but with a different mountain–valley assignment). When we apply the Θ(n) vertical bisection folds of Lemma 3.4, each of the horizontal folds gets split into Θ(n) pieces, so we end up with a final crease pattern with Θ(n2 ) creases. The folding sequence still consists of Θ(n) some-layers simple folds.  5. Solution for Unbounded Paper, Allowing Creases Through Points Theorem 5.1. Let P = R2 and let p1 , p2 , . . . , pn be n distinct points on P. Then there exists a flat folding satisfying Properties F1 and F2, allowing creases through {pi }. The number of creases is O(n2 ). The flat folding is the result of a folding sequence of O(n) flat folding steps of complexity O(1). Proof. The difference from Theorem 4.1 is that we cannot fold the near-horizontal folds in Figs. 6 or 7 because the paper P is the plane R2 , so any near-horizontal lines would intersect all horizontal folds. Instead, we use the thorn gadget shown in Fig. 8. If the thorn gadget is applied to a point, the paper folds into a plane (with horizontal and vertical pleats) with a little triangle tab sticking out. By first rotating the point set, we can assume that all x and y coordinates are distinct, and thus sufficiently small horizontal and vertical pleats in the thorn gadget will avoid interaction with any other points. Figure 9 illustrates the overall construction. We alternately apply the thorn gadget (as an all-layers flat folding step), and the bisection between horizontal lines (similar to Theorem 4.1), sequentially from the top to down. The result is a plane with n horizontally aligned tabs, with the n points at the tips of the tabs. One horizontal mountain fold beneath the triangular tabs leaves Fig. 8 Fig. 7 How to fold Fig. 6 only by some-layers simple folds. c 2017 Information Processing Society of Japan  The thorn gadget folds an infinite sheet of paper (left) into a plane with a small triangular tab (middle). The gadget is composed of 27 creases and 19 faces, so it is an all-layers flat folding step of complexity 18. 595 Journal of Information Processing Vol.25 590–600 (Aug. 2017) Fig. 10 Fig. 9 The folding sequence for infinite paper, crease passing case. Each flat folding step has complexity O(1). The final folding step is a simple fold/unfold as drawn, but by shifting the fold line up slightly, it is a simple fold. the tips of the tabs (where the points are) uncovered by other layers of paper, and on the horizontal line. Finally, we can apply Lemma 3.4 to align the points. This method consists of Θ(n) flat folding steps, each of complexity O(1): 1 for the simple folds and 18 for the thorn gadget of Fig. 8 (which is all-layers). For each point pi , the thorn gadget makes horizontal and vertical pleats that cross the pleats of all previous gadgets. Thus each gadget makes O(n) creases, for a total of O(n2 ) creases. Similarly, Lemma 3.4 results in Θ(n2 ) additional creases because Θ(n) vertical creases will cross Θ(n) horizontal pleats. We conclude that the number of resulting creases is Θ(n2 ).  6. Solution for Bounded Paper, Forbidding Creases Through Points Theorem 6.1. Let P be a bounded piece of paper and let p1 , p2 , . . . , pn be n distinct points on P. Then there exists a flat folding satisfying Properties F1 and F2, forbidding creases through {pi }. The number of creases is O(n3 r′ ). The flat folding is the result of a folding sequence of O(n log r′ ) some-layers simple folds. Lemma 6.2 (Radial shrink folding). Consider three noncollinear points p0 , q1 , q2 on a convex piece of paper P, defining a wedge (and angle) ∠q1 p0 q2 from ray p0 q1 clockwise to ray p0 q2 . Assume that p0 is not interior to P, so that removing the fan ∠q1 p0 q2 separates P into two components. Then, for any ε > 0, there exists a folding f of R2 satisfying (R1) the angle ∠ f (q1 ) f (p0 ) f (q2 ) ≤ ε; (R2) the set of points q of P nonstrictly counterclockwise of ray p0 q1 (including q1 ) move as a single rotation around p0 and are singly covered in f ; (R3) the set of points q of P nonstrictly clockwise of ray p0 q2 (including q1 ) move as a single rotation around p0 and are singly covered in f ; and (R4) f (q) does not change the distance to p0 of any q ∈ P.  Also, f decomposes into a sequence of O log (∠q1 p0 q2 /ε) = c 2017 Information Processing Society of Japan  Radial shrink folding: reducing a wedge down to a thin fan. O(log(1/ε)) simple folds, all passing through p0 , and the total number of creases is O(∠q1 p0 q2 /ε) = O(1/ε). Proof. Let w = ∠q1 p0 q2 − ε, and assume w > 0. (Otherwise, Property R1 holds without any folding.) Refer to Fig. 10. To get started, keep fixed the set of points q nonstrictly counterclockwise of ray p0 q1 , valley fold along the ray from p0 that is ε/2 clockwise of ray p0 q1 , and mountain fold along the ray bisecting the wedge ∠q1 p0 q2 . We obtain a folded state f1 where f1 (q1 ) = q1 , f1 (p0 ) = p0 , and angle ∠q1 p0 f (q2 ) = ∠q1 p0 q2 − w = ε. This folded state f1 has a two-layer flap of angle w/2. By applying a simple fold to the layers of this flap, bisecting its angle, we may shrink the flap angle by a factor of 2, without moving the rest of the paper. After k such simple folds, we shrink the angle of the tuck to w/2k+1 . Thus, if we apply log (∠q1 p0 q2 /ε) + 1 simple folds (resulting in Θ(∠q1 p0 q2 /ε) creases), we can shrink the flap to width < ε/2, clearing any overlap with points of P outside the wedge ∠q1 p0 q2 . Thus, in the final folded state f , we obtain the single coverage required by Properties R2 and R3, without affecting Property R1 already true of f1 . The rest of Properties R2 and R3, and Property R4, follow because our folds are all rays through p0 and strictly between rays p0 q1 and p0 q2 .  Proof of Theorem 6.1. We assume that r′ is bounded, i.e., Ri  R j for all i  j. For example, this property can be achieved by the translation in Lemma 3.8, which guarantees that r′ = O(rn2 ). By relabeling the points, we arrange to have Ri < R j for all i < j. Also, we compute the permutation of the points p1 , p2 , . . . , pn (according to this radius order) into their clockwise order q1 , q2 , . . . , qn around p0 . In addition, let q0 be the counterclockwise-most point of P relative to p0 , and let qn+1 be the clockwise-most point of P relative to p0 . Thus q0 , q1 , . . . , qn , qn+1 appear in clockwise order around p0 . The fold sequence consists of two parts. In the first part, we bring q0 , q1 , . . . , qn+1 to be almost collinear, as follows. Divide the paper P into wedges with apex at p0 which have pi ’s on their boundaries (and have no pi ’s strictly interior to a wedge). For each 0 ≤ i ≤ n, we apply Lemma 6.2 to shrink the angle of the wedge ∠qi p0 qi+1 down to ≤ θ/n, while only rotating the other wedges. After these folds, all of the paper lies within a wedge with apex at p0 of angle ≤ θ, for desired θ > 0. We use 596 Journal of Information Processing Vol.25 590–600 (Aug. 2017) Fig. 12 Fig. 11 Parallel shrink folding: reducing a horizontal strip down to small height. Each bisector lies between adjacent arcs. Ri+1 − Ri θ = min > 1/r′ . 1≤i≤n−1 Ri+1 Thus this part consists of O(n log(n/θ)) = O(n log(nr′ )) = O(n log r′ ) simple folds (because r′ = Ω(n)) and O(n(n/θ)) = O(n2 r′ ) creases. In the second part of the fold sequence, we bring the pi ’s to a common point by bisection folding steps. Refer to Fig. 11. For 1 ≤ k < n, let bk be the perpendicular bisector of the segment pk pk+1 . It suffices to fold the paper along these bk ’s, assigning bk as mountain for k odd and valley for k even. This part consists of O(n) simple folds, each of which can cross the O(n2 r′ ) creases from the first part. Thus the total number of creases is O(n3 r′ ). Let X and Y be any points on the arcs of circles centered at p0 and with radii Ri and Ri+1 (i.e., passing through pi and pi+1 ), respectively. By the definition of θ, Rk+1 − Rk pi X < Ri θ < Ri min 1≤k<n Rk+1 Ri+1 − Ri < Ri+1 − Ri < pi+1 X. < Ri Ri+1 Similarly, pi+1 Y < pi Y. Therefore, all perpendicular bisectors lie between adjacent arcs, and do not cross each other. This completes the proof.  7. Solution for Unbounded Paper, Forbidding Creases Through Points Theorem 7.1. Let P = R2 and let p1 , p2 , . . . , pn be n distinct points on P. Then there exists a flat folding satisfying Properties F1 and F2, forbidding creases through {pi }. The number of creases is O(n2 r′′ ). The flat folding is the result of a folding sequence of O(n log r′′ ) folding steps of complexity O(1). Lemma 7.2 (Parallel shrink folding). Consider points q1 , q2 ∈ R2 with distinct y coordinates y1 > y2 . Then, for any ε > 0, there exists a folding f of R2 satisfying (P1) |(y coordinate of f (q1 )) − (y coordinate of f (q2 ))| ≤ ε; (P2) the set of points q with y coordinate ≥ y1 (including q1 ) move as a single translation and are singly covered in f ; c 2017 Information Processing Society of Japan  (P3) the set of points q with y coordinate ≤ y2 (including q2 ) move as a single translation and are singly covered in f ; and (P4) f (q) does not change the x coordinate of any q ∈ R2 .  Also, f decomposes into a sequence of O log (|y1 − y2 |/ε) simple folds, all parallel to the x axis. The proof of Lemma 7.2 is essentially the same as that of Lemma 6.2 after a projective transformation to place p0 at infinity, but we repeat it for completeness. Proof. Let w = y1 − y2 − ε, and assume w > 0. (Otherwise, Property P1 holds without any folding.) Refer to Fig. 12. To get started, keep fixed the set of points q with y coordinate ≥ y1 , valley fold along crease y = y1 − ε/2, and mountain fold along crease y = (y1 + y2 )/2. We obtain a folded state f1 where f1 (q1 ) = q1 and the y coordinate of f1 (q2 ) is y2 + w = y1 − ε. Thus (y coordinate of f1 (q1 )) − (y coordinate of f1 (q2 )) = ε. This folded state f1 has a two-layer flap of width w/2. By applying a simple fold to the layers of this flap in the middle y coordinate, we may shrink the flap width by a factor of 2, without moving the rest of the paper. After k such simple folds, we shrink the width of the tuck to w/2k+1 . Thus, if we apply log ((y1 − y2 ) /ε) + 1 simple folds, we can shrink the flap to width < ε/2, clearing any overlap with the points q having y coordinate ≥ y1 or ≤ y1 . Thus, in the final folded state f , we obtain the single coverage required by Properties P2 and P3, without affecting Property P1 already true of f1 . The rest of Properties P2 and P3, and Property P4, follow because our folds are all horizontal with y coordinates strictly between y1 and y2 ,  Proof of Theorem 7.1. Let xi and yi be the x and y coordinates of pi respectively. By suitable rotation, assume that all xi ’s are distinct and that all yi ’s are distinct. By relabeling the points, assume y1 > y2 > · · · > yn . Define yn+1 = −∞. We apply an iterative method. Let pi (k) = (xi (k), yi (k)) denote the position of pi before the kth iteration. For each point pi (k), we can uniquely define (although they may not exist) its left and right adjacent points in the projection of p1 (k), p2 (k), . . . , pn (k) to the x axis; let i− (k) and i+ (k) denote the index of the left and right adjacent points respectively. Assume by induction that 597 Journal of Information Processing Vol.25 590–600 (Aug. 2017) y1 (k + 1) = y2 (k + 1) = · · · = yk+1 (k + 1) > yk+2 (k + 1) = yk+2 > yk+3 (k + 1) = yk+3 > · · · > yn (k + 1) = yn .  1 Because 32 + 2 tan θ ε > ε ≥ d(k), the horizontal ordering of points does not change, and thus i− (k + 1) = i− and i+ (k + 1) = i+ . The horizontal gap shrinks by multiplying by a factor of at least 1+tan θ 1+3 tan θ < 1. By induction, the points p1 , p2 , . . . , pn become collinear after n − 1 iterations. Therefore we can apply the bisection fold of Lemma 3.4 to get the desired folding. Before we count the number of resulting creases, we discuss how small yk − yk+1 should be to apply the shrink fold f s of Lemma 7.2. Let y′i (k) denote the y coordinate of f s (pi (k)). For each step k, we apply Lemma 7.2 so that y′k (k) − y′k+1 (k) < ε. To satisfy the conditions (i)–(ii) above for each k, it suffices to satisfy the following:    C · y′k (k) − y′k+1 (k) Fig. 13 Downshifting gadget can be inserted if conditions (i)–(ii) are satisfied. y1 (k) = y2 (k) = · · · = yk (k) > yk+1 (k) = yk+1 > yk+2 (k) = yk+2 > · · · > yn (k) = yn , − − + + and i (k) = i (0) and i (k) = i (0) for all i. For an angle 0 < θ < π/4, choose ε > 0 sufficiently small to satisfy the following conditions: (i) ε < yk+1 (k) − yk+2 (k) = yk+1 − yk+2 . 2 tan θ (ii) There is a sufficient horizontal gap between pk+1 (k) and its left and right neighbors: 3 1 + ε < x(k+1)+ (k) − xk+1 (k) 2 2 tan θ 1 3 + ε < xk+1 (k) − x(k+1)− (k) 2 2 tan θ By applying parallel shrink folding of Lemma 7.2, we can obtain that d(k) := yk (k) − yk+1 (k) ≤ ε. Then we apply the downshifting gadget, a folding composed of two alternating twist folds of twist angle θ and pleats width 12 d(k); see Fig. 13. The pleats of unfolded width 23 d(k) decompose the paper into six regions which remain single layered in the folding. The top three regions translate down by d(k); the left two regions translate right by d(k); and the right two regions translate left by d(k). Now, the downshifting gadget is constructed to weave between the given points, such that (1) the neighborhoods of p1 , p2 , . . . pn are kept single layered, (2) already aligned points p1 , p2 , . . . , pk are in the top left and top right regions, (3) point pk+1 is in the bottom middle region, and (4) the rest of the points pk+2 , . . . , pn are in the bottom left and bottom right regions. Conditions (i)–(ii) guarantee the necessary clearance between points separated by the pleats. After folding the gadget, y1 , y2 , . . . , yk , yk+1 coincide, and each point of p1 , p2 , . . . , pn has no other points of paper on it. Now we have c 2017 Information Processing Society of Japan  < min min|xk − x j |, min |yk − y j | , jk k< j≤n (3) where C is a constant satisfying the following: 0<C< 1 1 1 < + . 2 tan θ 2 2 tan θ Note that C depends only on θ. Here, we used that the horizontal displacement between horizontally adjacent points xi and xi+ can occur only twice in the whole sequence. This ensures that the right-hand sides of condition (ii) are bounded by the original gap scaled by a constant factor: 1 + tan θ (xi+ − xi ), 1 + 3 tan θ 1 + tan θ (xi − xi− ). xi (m) − xi− (m) < 1 + 3 tan θ xi+ (m) − xi (m) < (4) (5) In Lemma 7.2, we make O(log r′′ ) shrink folds. Then we have y′i − y′i+1 ≤ 1 (yi − yi+1 ). Cr′′ By the definition of r′′ in Eq. (2), Eq. (3) holds. We divide the whole folding process into two parts: folding steps before applying Lemma 3.4 and folding steps in Lemma 3.4. The latter part consists of n − 1 vertical simple folds. The former part is divided into n − 1 inductive steps above. For each inductive step, we first apply Lemma 7.2 to make O(log r′′ ) simple folds, resulting in O(r′′ ) total creases. Next we use the downshifting gadget, which consists of O(1) horizontal, vertical, and diagonal creases. The total number of folding steps is thus O(n log r′′ ) for the former part plus O(n) for the latter part, for a total of O(n log r′′ ). To bound the total number of resulting creases, we consider diagonal creases as both vertical and horizontal creases. Considering crosses between horizontal and vertical creases, we conclude that the total number of resulting  creases is O(n(n + nr′′ )) = O(n2 r′′ ). 8. Open Problems The natural open problems are to improve the bounds on the number of folding steps of complexity O(1), and the resulting number of creases, from Table 1. When allowing creases through 598 Journal of Information Processing Vol.25 590–600 (Aug. 2017) points, are Θ(n2 ) creases necessary, or do O(n) creases suffice, e.g., by trying to fold along the Voronoi diagram? When forbidding creases through points, is a dependence on r necessary or is a polynomial dependence on n possible? Can unbounded paper be solved by simple folds, or are folding steps of complexity > 1 necessary? Another peculiar open problem is the worst-case ratio between r and either r′ or r′′ . We proved that the ratio is O(n2 ), and simple examples (e.g., a regular n-gon) show that the ratio can be Ω(n). Is the tight bound one of these extremes, or something in between? Finally, Fig. 2 illustrates that our definition of folding step complexity does not intuitively capture the complexity in the layering between clusters. Can we define a notion of layer complexity to measure this? Acknowledgments We thank Masaki Watanabe for the idea for solving the case of bounded paper, allowing creases through points (Section 4). We thank Jason Ku for helpful discussions about folding step complexity. We thank the referees for helpful comments. References [1] [2] [3] [4] [5] [6] Akitaya, H., Demaine, E.D. and Ku, J.S.: Simple Folding is Really Hard, Abstracts from the 19th Japan Conference on Discrete and Computational Geometry, Graphs and Games (JCDCGGG 2016), Tokyo, Japan (2016). Arkin, E.M., Bender, M.A., Demaine, E.D., Demaine, M.L., Mitchell, J.S.B., Sethia, S. and Skiena, S.S.: When Can You Fold a Map?, Computational Geometry: Theory and Applications, Vol.29, No.1, pp.23–46 (2004). Bern, M., Demaine, E., Eppstein, D. and Hayes, B.: A Disk-Packing Algorithm for an Origami Magic Trick, Origami3 : Proc. 3rd International Meeting of Origami Science, Math, and Education, pp.17–28, Monterey, California (2001). Demaine, E.D. and Demaine, M.L.: Fun with Fonts: Algorithmic Typography, Theoretical Computer Science, Vol.586, pp.111–119 (2015). Demaine, E.D., Demaine, M.L. and Lubiw, A.: Folding and Cutting Paper, Revised Papers from the Japan Conference on Discrete and Computational Geometry, Akiyama, J., Kano, M. and Urabe, M. (Eds.), Lecture Notes in Computer Science, Vol.1763, pp.104–117, Tokyo, Japan (1998). Demaine, E.D. and O’Rourke, J.: Geometric Folding Algorithms: Linkages, Origami, Polyhedra, Cambridge University Press (2007). Yasuhiko Asao is a Ph.D. student at Graduate School of Mathematical Sciences, the University of Tokyo. He is interested broadly in geometry and topology. c 2017 Information Processing Society of Japan  Erik D. Demaine received a B.Sc. degree from Dalhousie University in 1995, and M.Math. and Ph.D. degrees from University of Waterloo in 1996 and 2001, respectively. Since 2001, he has been a professor in Computer Science at the Massachusetts Institute of Technology. His research interests range throughout algorithms, from data structures for improving web searches to the geometry of understanding how proteins fold to the computational difficulty of playing games. In 2003, he received a MacArthur Fellowship as a “computational geometer tackling and solving difficult problems related to folding and bending— moving readily between the theoretical and the playful, with a keen eye to revealing the former in the latter”. He cowrote a book about the theory of folding, together with Joseph O’Rourke (Geometric Folding Algorithms, 2007), and a book about the computational complexity of games, together with Robert Hearn (Games, Puzzles, and Computation, 2009). With his father Martin, his interests span the connections between mathematics and art. Martin L. Demaine is an artist and computer scientist. He started the first private hot glass studio in Canada and has been called the father of Canadian glass. Since 2005, he has been the Angelika and Barton Weller Artist-in-Residence at the Massachusetts Institute of Technology. Martin works together with his son Erik in paper, glass, and other material. Their artistic work includes curved origami sculptures in the permanent collections of the Museum of Modern Art in New York, and the Renwick Gallery in the Smithsonian. Their scientific work includes over 60 published joint papers, including several about combining mathematics and art. Hideaki Hosaka is a highschool teacher in mathematics at the Azabu Junior-High School. He received a Bachelor degree of Science and Master degree of Mathmatical Sciences from the University of Tokyo in 2009 and 2011, respectively. His intrest is algebraic representation theory and combinatorics. 599 Journal of Information Processing Vol.25 590–600 (Aug. 2017) Akitoshi Kawamura received his Ph.D. in Computer Science from the University of Toronto in 2011. He then worked as research associate at the Department of Computer Science, the University of Tokyo, and since 2015 he is an assistant professor at the Department of General Systems Studies, the University of Tokyo. His research interests are in theory of computation, algorithm design, and discrete geometry. Tomohiro Tachi is an assistant professor in Graphic and Computer Sciences at the University of Tokyo. He studied architecture and received his Ph.D. degree in Engineering from the University of Tokyo. He has been designing origami from 2002 and keeps exploring three-dimensional and kinematic origami through computation. He developed software tools including “rigid origami simulator”, “origamizer”, and “freeform origami”, which are available from his website. His research interests include origami, structural morphology, computational design, and fabrication. Kazune Takahashi is a Ph.D. course student at Graduate School of Mathematical Sciences, the University of Tokyo. He studied pure mathematics and received his M.Sc. degree in Mathematical Sciences from the University of Tokyo in 2015. His research interests include elliptic partial differential equations, critical exponents and variational methods. He is strong at programming contests. He has won in a domestic AI competition “Code Runner 2015” and got a prize in an international AI competition “SamurAI Coding 2014-15”. c 2017 Information Processing Society of Japan  600