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