Вы находитесь на странице: 1из 6

Origami Fold as Algebraic Graph Rewriting

Tetsuo Ida Hidekazu Takahashi


ida@score.cs.tsukuba.ac.jp hidekazu@score.cs.tsukuba.ac.jp

Department of Computer Science


University of Tsukuba
Tsukuba 305-8573, Japan

ABSTRACT In this paper we give graph-theoretic formalization of ori-


We formalize paper fold (origami) by graph rewriting. Ori- gami. Our motivation of this study is to give more abstract
gami construction is abstractly described by a rewriting sys- view of fold used in origami. Although origami fold appears
tem (O, #), where O is the set of abstract origami’s and # to be an easy operation to humans, even a naı̈ve anatomy
is a binary relation on O, called fold. An abstract origami of origami reveals that it is not the case from computational
is a triplet (Π, ∽, ≻), where Π is a set of faces constituting point of view. There are two distinct operations in paper
an origami, and ∽ and ≻ are binary relations on Π, each fold, i.e. division and reflection of origami faces. These op-
representing adjacency and superposition relations between erations lend themselves to distinct modes of computations:
the faces. algebraic and numeric computation on geometric objects,
We then address representation and transformation of ab- e.g., finding intersection of lines and checking the overlap of
stract origami’s and further reasoning about the construc- two faces, on one hand, and purely combinatoric computa-
tion for computational purposes. We present a hypergraph tion on discrete objects, e.g., computing transitive closure
of origami and define origami fold as algebraic graph trans- of the adjacency relation on faces, on the other.
formation. The algebraic graph-theoretic formalism enables These computations tend to be mixed when origami is
us to reason about origami in two separate domains of dis- analyzed mathematically [6]. Indeed the implementation of
course, i.e. pure combinatoric domain and geometric do- computational origami system Eos [7] relies very much on al-
main R × R, and thus helps us to further tackle challenging gorithms which resort to mixtures of algebraic, numeric and
problems in computational origami research. symbolic computing. Sometimes algorithms are hard to de-
scribe mathematically because of this complication. There
should be clearer separation of computations of discrete and
Categories and Subject Descriptors continuous objects in origami. When this has been done, we
G.2.2 [Mathematics of Computing]: Discrete Mathe- not only clarify the algorithms developed for the implemen-
matics—Graph Theory; I.3.5 [Computing Methodologies]: tation of Eos, but also are in a position to extend the capabil-
Computer Graphics—Computational Geometry and Object ity of Eos to allow for more complex origami constructions
Modeling such as of 3D and modular origami, and to reason about
their geometrical and algebraic properties.
Keywords The rest of the paper is organized as follows. In Section
2 we will formalize basic origami operations. In Section 3
origami, geometric modeling, hypergraph, graph rewriting we will explain the bases for graph-theoretic modeling of
origami. In Section 4, we will show how origami fold is
1. INTRODUCTION formalized in the algebraic graph-theoretic framework. In
The art of paper folding, known as origami, provides the Section 5, we will give one result of the application of our
methodology of constructing a geometrical object out of a formalism. In Section 6, we will summarize the results and
piece of paper solely by means of folding by hands. Com- point out the direction of the research.
putational origami studies the mathematical and computa-
tional aspects of origami, including visualization by a com- 2. FORMALIZING ORIGAMI
puter [2]. By the assistance of a computer we will be able to
formalize origami with rigor and capability that are beyond 2.1 Origami at a glance
the methods performed by hands.
We start an origami construction with a single piece of
paper, and repeat folding of the paper until it becomes a
desired shape. We can observe that an origami can be mod-
Permission to make digital or hard copies of all or part of this work for eled as a set of faces. During the construction, some of the
personal or classroom use is granted without fee provided that copies are faces are divided by a fold line, reflected along the fold line
not made or distributed for profit or commercial advantage and that copies and become above or below the others. The faces form a
bear this notice and the full citation on the first page. To copy otherwise, to stack of layers. The stack of layers of faces exhibit a re-
republish, to post on servers or to redistribute to lists, requires prior specific markable shape, which may be regarded as a piece of art
permission and/or a fee.
SAC’09 March 8-12, 2009, Honolulu, Hawaii, U.S.A. such as illustrated in Fig. 1.
Copyright 2009 ACM 978-1-60558-166-8/09/03 ...$5.00. The left origami in Fig. 1 is the top view of the constructed
object. We see the faces in two different colors in the figure. are at the beginning of step i of the construction, having
This is because the initial origami has two sides, each colored an origami Oi−1 = (Πi−1 , ∽i−1 , ≻i−1 ). We make the next
differently. During the construction, some faces become up fold and obtain the next origami Oi = (Πi , ∽i , ≻i ). Thus
and the others become down, resulting in the two colored we have the following:
object. We can imagine that this origami models a cicada. Definition 2.3 (Abstract origami construction).
The right is a 3D view of the same origami after stretching An abstract origami construction is a finite sequence of ab-
it vertically and making superposing faces slightly far apart. stract origami’s satisfying
From the shapes in Fig. 1, we will be able to observe that
an origami can be formalized as a set of faces together with O0 # O1 # · · · # On , where O0 , O1 , . . . , On ∈ O
the relations that express relative positions, horizontally and
vertically, among the faces. 2.3 Geometric structure
Although some properties of origami can be studied with
necessary rigor at this level, more geometric information is
needed to understand many of the properties of origami. We
are thus lead to the definition of face given in Definition 2.4.
Before we proceed, we note the following definition of n-
gon. An n-gon (n > 3) is a polygon consisting of n edges
none of which intersect each other. We further use the no-
tion of overlapping. Let the expression p◦ denote the interior
of n-gon p. We identify the interior of an n-gon with the set
of all the points in the interior. N -gons p and q are called
Figure 1: Origami cicada: art piece (left) and face overlapping if p◦ ∩ q ◦ 6= ∅.
layers (right)
Definition 2.4 (Face). A face is a convex n-gon.
Then we can define the adjacency relation as follows:
2.2 Abstract origami Definition 2.5 (Face adjacency). Two faces are ad-
An origami can be modeled at several abstraction levels. jacent if they share an edge.
A most abstract view is to take an origami as an algebra We can determine whether a face is adjacent to the other
(A, R), where A is a set and R is a binary relation on A, face if an adequate representation is used for edges and faces.
where we identify a set of faces that constitute an origami We now represent an n-gon as a sequence of points hP1 , . . . ,
with A, and a geometrical relation on the faces with R. The Pn i, where points P1 , . . . , Pn are vertices of the n-gon. A
origami construction is then a transformation of the algebras face is thus represented as a sequence of points. When points
viewed as an abstract rewrite system. We begin with this P1 , . . . , Pn are arranged counterclockwise, we say that the
abstract view of origami and gradually make our modeling face is up, and when clockwise, it is down.
concrete. Concerning the superposition relation, we assume the ex-
Our first attempt is as follows. We consider a finite set istence of a decision procedure to determine above or below
Π of faces to be the object of our study, and introduce two relation among the faces. Namely, for any two faces f and
binary relations on Π, expressing horizontal and vertical ar- g, we can determine one of three situations: f is above g,
rangements of faces rather than a single binary relation R g is above f , and f and g are not related by the relation
mentioned above. Then, we have the following definition of ’above’.
an origami. Let ’below’ be the inverse relation of ’above’. Then we
have the following definition of the superposition relation.
Definition 2.1 (Abstract origami). An abstract
origami is a structure (Π, ∽, ≻) where Definition 2.6 (Face superposition). Face f super-
poses face g iff f and g are overlapping, f is above g and no
• Π is the finite set of faces, and faces that are above g is below f .
• ∽ and ≻ are binary relations on Π, called adjacency 2.4 From abstract fold to concrete fold
and superposition relations, respectively.
When we fold an origami paper that does not have face
Now we use the notion of abstract rewrite system (ARS) overlapping, the operational meaning of fold is quite simple.
to define the abstract origami system. Namely the fold is essentially a reflection along the fold line.
Unfold is similarly understood. In a mathematical origami
Definition 2.2 (Abstract origami system). An ab- where we are interested in generating points of intersection
stract origami system is an abstract rewrite system (O, #) of face edges, in-depth studies have been made [1, 5].
where However, when the (abstract) origami consists of faces
• O is the set of abstract origami’s. with non-empty superposition relations, it does not admit a
simple algebraic interpretation. Origami fold is a complex
• # is the binary relation on O called abstract fold. operation consisting of the following sub-operations.
When O, O′ ∈ O are related by the abstract fold relation we • Specify a basic fold operation together with the set C of
write O # O′ . the faces of concern, i.e. the faces that the origamist
Origami construction proceeds stepwise. We start with wants to apply fold. We use one of Huzita’s basic
an initial origami O0 and perform folds along fold lines, re- folds [4] or classical fold methods such as mountain
peatedly until we obtain a desired shape. Suppose that we and valley folds.
P2 v2 • E is the set of hyperedges, and
P1 r
v1 • s, t : E → V ∗ are source and target functions.
f1 f
Pi−1 f2 Pn Definition 3.2 (Labeled hypergraph). Given a pair
L = (LV , LE ) of label alphabets together with functions τs , τt :
vi vn
LE → L∗V , an L-labeled hypergraph is a 6-tuple (V, E, s, t, lV ,
Pi Pn−1
lE ), where
• (V, E, s, t) is a hypergraph and
Figure 2: Face division
• lV : V → LV and lE : E → LE are functions satisfying
τs ◦ lE = lV∗ ◦ s and τt ◦ lE = lV∗ ◦ t (3.1)
• Compute a fold line l and define the associated directed
line called a ray r. Through the ray, the notion of left Hereafter, we only consider hypergraphs, and hence the pre-
and right of the fold line is made sense of. fix “hyper” may be omitted.
Often graphs are drawn using diagrams. The diagram-
• For each face f in C, do the following until C = ∅. matic representation of graphs helps perceive many of prop-
– Divide f by the ray r. erties of graphs, and is indeed effective as long as they are fit
into a manageably small space. Graphs for origami become
– Update C by removing f from C and adding to C complicated as the construction of an origami proceeds and
the faces that are affected by this division using they do not admit easy-to-understand drawing in general.
the superposition and adjacency relations. Furthermore, we are interested in graph transformation, as
well as graphs themselves. Therefore, we need a yet another
• Obtain the new set F of all the faces that constitutes
representation of graphs with which we can reason about
the new origami.
the graph transformation easily.
• Update adjacency relation on F caused by the division. We define symbolic representation of a hyperedge as fol-
lows. Let e be a hyperedge with s(e) = hv1 , . . . , vm i, t(e) =
• Compute new superposition relation on F caused by hw1 , . . . , wn i, and lE (e) = c. Since we work with labeled
the division. graphs, we will use labels in describing their hyperedges
and nodes. We use labels as constructor symbols for terms.
• Rotate the relevant faces to the right of r along r. Then, we can represent the hyperedge e as c[v1 , . . . , vm , w1 ,
. . . , wn ]. We call the symbolic representation c[v1 , . . . , vm , w1 ,
• Compute new superposition relation on F caused by
. . . , wn ] graph term (g-term for short) of e. Let b
e denote the
the rotation.
g-term of e. Likewise we define vb for v ∈ V .
Let us add a comment on our treatment of the division of Definition 3.3 (Graph term representation). Giv-
a face. Suppose we divide f by the ray r. When r intersects en an L-labeled graph G = (V, E, s, t, lV , lE ), graph term
with the edges of f at two distinct points, the face f is b of a graph G is defined as
divided into the pair of faces hf1 , f2 i, where f2 is to the representation G
right of r. Otherwise, the face f is not split into two faces. {b
e | e ∈ E} ∪ {b
v |v ∈V} (3.2)
Even in this latter case, we say that f is divided into hf1 , f2 i,
where either f1 or f2 (but not both) is f and the other is the In (3.2), {b
e | e ∈ E} is a multi-set and hence ∪ is the multi-
empty face. The division of an up face is illustrated in Fig. 2. set union. For different e and e′ with s(e) = s(e′ ) and
In the figure, the face f is divided by the ray r into hf1 , f2 i. t(e) = t(e′ ), the denotations eb and eb′ are the same when
The face f2 is to be rotated. This case is further investigated their labels are the same.
for the graph transformation in the next section.
Example 1. Let LV and LE be {F} and {A, R, L}, re-
3. GRAPH FORMALISM FOR ORIGAMI spectively, and let G be an L-labeled graph (V, E, s, t, lV , lE ),
where
3.1 Hypergraph and graph term • V = {f, f1 , f2 , v1 , . . . , vn }
To make origami amenable to computation, we further
concretize the abstract origami by graph-theoretic formal- • E = {e1 , e2 , e3 , e4 }
ism. We use a labeled hypergraph for this purpose. Since • s = { e1 →
7 f, e2 7→ f, e3 7→ hf1 , v1 , . . . , vi , f2 i,
we do not need algebraic graph theories in full generality e4 →7 hf2 , vi , . . . , vn , v1 , f1 i}
such as discussed in [3], we work with hypergraphs defined
as follows. • t = {e1 7→ f1 , e2 7→ f2 , e3 7→ f1 , e4 7→ f2 }

Definition 3.1 (Hypergraph). A hypergraph is a • lE = {e1 7→ L, e2 7→ R, e3 7→ A, e4 7→ A}


quadruple (V, E, s, t), where
• lV = {f1 7→ F, f2 7→ F, f 7→ F, v1 7→ F, . . . , vn 7→ F}.
• V is the set of nodes1 , The labels may appear ad-hoc at this point, but they are
1
We use of the word node here to avoid the clashes with given meaning later.
vertices of a polygon. b is:
The g-term representation G
graph part of a graph rewrite rule. It is used for condi-
ONML
HIJK
f:F Q tional pattern matching. During pattern matching with a
QQQ
nw nn ( subgraph by a substitution θ, if t θ is evaluated by the eval-
e1 : L e2 : RF uator of the host language to true, (s/; t)θ reduces to s θ,
z FF
z
zz gggggggggggggo3 7 e3 : A hPkXPXXXXX FF
F and otherwise it reduces to ⊥. We use u to denote either a
z
|zsggggggggg ooo PPP XXXXXX F" g-term or a g-pattern.
HIJK
ONML
f1 : F WWW v1 ,
o , vi−1 , vi ff ONML
HIJK
f :F Finally, a graph in G is a multi-set of g-terms subjected
WWWWW ff f ffffff3 2
WWW+ ff
sffffffffff f to the conditions for defining a graph.
4 e4 : A jVVVV
iiii
vi , , vn , v1 Definition 3.4 (Graph rewrite rule). A graph re-
write rule (rewrite rule for short) is a triplet (C, L, R) of
Figure 3: Graph of an origami created by face divi- multi-sets of g-terms, written as
sion L /: C → R

b = { L[f, f1 ], R[f, f2 ], where


G
A[f1 , v1 , . . . , vi , f2 , f1 ], A[f2 , vi , . . . , vn , v1 , f1 , f2 ], • C := {u1 , . . . , um } is a graph called a context graph,
F[f ], F[f1 ], F[f2 ], F[v1 ], . . ., F[vi ], . . ., F[vn ] }
• L is a subset of {f m }, where u
u1 , . . . , uf ei = si , if ui =
To be precise, the two A labels have to be distinguished si /; ti , otherwise uei = ui . L is called the left-hand side
if the numbers of the arguments of A’s are different, in or- of the rewrite rule,
der for (3.1) to hold true. This could be done by properly
indexing the labels, but for clarity we omitted the indexing. • R := {t1 , . . . , tn } is a subgraph called the right-hand
The graph G is shown in Fig. 3. In the graph the node side of the rewrite rule.
v with label Label is represented by a circled v:Label, and
hyperedge e with label Label by a boxed e:Label. This graph In order to identify the same g-terms in L and C, we
represents the face division given in Fig. 2, where V is the can give a name to a g-term. For example, a name n is
set of the faces. given to the g-term t in L by writing n : t in L and re-
fer to it as n in C. Then, we can write, for example,
{n : f [x]} / : {g[x], n, h[x]} → {f [x], f [x]}. The occurrence
3.2 Graph rewriting of n in the context graph refers to f [x] of the left-hand side
In this subsection we present a language, to be denoted as of the rewrite rule.
G, for graph rewriting. The language G is embedded in a gen-
Definition 3.5 (Graph rewriting). A graph G b is
eral purpose programming language, i.e. the host language
of G, upon which we rely for controlling the application of b ′
rewritten to G by a rewrite rule r := L / : C → R, denoted
graph rewrite rules as well as for evaluating functional ex- by
pressions in a graph rewrite rule. To be more specific, we use b ⇒r G
b′
G
Mathematica for the host language. The syntax of a func-
tional expression is of the form f [t1 , . . . , tn ], and we use this if there exist g-terms s1 , . . . , sm , and a substitution θ such
syntax throughout in G 2 . A basic expression t in G is called b C θ = {s1 , . . . , sm } after the evalua-
that {s1 , . . . , sm } ⊆ G,
term, which is defined by the following grammar together tion of the conditions, if any, and G b ′ = (G b \ Lθ) ∪ Rθ. The
with the auxiliary definition of an atomic term a: set notation and the subset and set difference operators are
t ::= a | hg-termi | f [t, . . . , t] taken to be those for multi-sets.
a ::= v|x|x The graph rewriting can be formalized as the double push
Here, x denotes a variable, x a sequence variable and v a out using graph production
graph node. A sequence variable is used for a g-pattern (see hC ← (C \ L) → (C \ L) ∪ Ri ,
below for the definition) such as c[x]. A g-term is extended
to allow a variable and a sequence variable to occur at the where C \ L is an interface, as in [3]. However, we prefer our
argument positions, i.e. definition of the rewrite rule from the programming language
point of view. Thanks to g-terms, it makes clear the parts
hg-termi ::= c[a, . . . , a] of the graph involved for rewriting and the graph rewriting
A g-pattern c[x] matches with a g-term c[s1 , . . . , sn ] of ar- becomes a simple multi-set rewriting.
bitrary n(> 0) arguments. The sequence variable is indis-
pensable in our language since a constructor symbol c in 4. FOLD AS GRAPH REWRITING
g-term c[s1 , . . . , sn ], representing a hyperedge whose label is We are now ready to describe the fold explained in Sub-
c visiting n nodes, has a flexible arity. section 2.4 in graph rewriting framework.
A g-pattern is a g-term possibly with a condition t:
hg-patterni ::= hg-termi | hg-termi /; t 4.1 Face division
We consider the division of a face f into f1 and f2 by a
The expression of the form s/; t is called a conditional g- ray r as shown in Figs. 2 and 3. Figure 3 is the subgraph of
pattern. The conditional g-pattern is used in the context the entire graph of the origami that we are working on.
2
We use infix notation for commonly used functions, how- The graph was transformed in the following steps from
ever. the graph of the previous step:
1. Construct nodes f1 and f2 . The rule (4.1) performs the rewriting of the former, and the
rule (4.2) performs the rewriting of the latter. The instan-
2. Construct the hyperedge e1 that connects f with f1 tiated rules, i.e. the rules after applying the substitution
and e2 that connects f with f2 . The hyperedge e1 is formed during the pattern matching of the rewrite rule and
labeled L (L for Left) since face f1 is to the left of the the graph:
ray r, and e2 is labeled R (R for Right).
{n:A[b1 , a3 , a1 , b2 , b1 ]}/:{L[b, b1 ], n, L[a1 , a11 ]}
3. Construct the hyperedges e3 and e4 issuing from f1 → {A[b1 , a3 , a11 , b2 , b1 ]}
and from f2 , respectively. We have s(e3 ) = hf1 , v1 , . . . ,
vi , f2 i, t(e3 ) = f1 , s(e4 ) = hf2 , vi , . . . , vn , v1 , f1 i and and
t(e4 ) = f2 . We label those hyperedges by A (A for {n:A[b1 , a3 , a1 , b2 , b1 ]}/:{L[b, b1 ], n, L[a3 , a31 ]}
Adjacency) since the constructed hyperedges represent
the adjacency relation. → {A[b1 , a31 , a1 , b2 , b1 ]}
from rule (4.1) are used to update the g-term A[b1 , a3 , a1 , b2 ,
In the case that either f1 or f2 is empty, the node corre-
b1 ].
sponding to the empty node is not created. Suppose that f1
is empty. Then we have f2 = f and we have the hyperedge 4.3 Update of superposition relation induced
e2 only with s(e2 ) = t(e2 ) = f . by division
4.2 Update of adjacency relation Suppose that faces f and g satisfying f ≻ g are divided
into hf1 , f2 i and hg1 , g2 i, respectively. We should note that
The graph constructed in the face division step has to be
the relation ≻ is not preserved by the face division on the
updated; some of other faces are also divided later in the face
faces created by the division. Namely, we do not necessarily
division process, but the hyperedges still connect to those
have fi ≻ gi for i = 1 and 2 even if f ≻ g. The reason is
nodes of the previous faces. At this step we perform this
that fi◦ ∩ gi◦ 6= ∅ may not always hold true. See the example
face update by the following rewrite rules:
in Fig. 5. In the case of the fold along r1 , the relation ≻ is
{n:A[f1 , x]}/:{L[f, f1 ], n, L[g, g1 ]/; (g 6= g1 ∧ g ∈ {x})} preserved for fi and gi for i = 1, 2, but in the case of the
→ A[f1 , x{g → g1 }] (4.1) fold along r2 , neither f1 ≻ g1 or g1 ≻ f1 holds. Therefore,
in general the check of overlap among the faces created by
the division are necessary.
{n:A[f1 , x]}/:{R[f, f1 ], n, R[g, g1 ]/; (g 6= g1 ∧ g ∈ {x})}
r2 r1
→ A[f1 , x{g → g1 }] (4.2)
Note that we omit the g-terms for the nodes in all the
f1
subgraphs involved. This is allowed in our language since
the nodes are unchanged by the rewriting.
f2
g1 g2
r r
a3 a31
b1
a11 a32
a1
b Figure 5: Superposition relation on the divided faces
b2
a12
a2 a2
When f1 ≻ g1 and f2 ≻ g2 , the graph transformation is
straightforward. In the graph of Fig. 6, the hyperedge e5 is
labeled S (S for Superposition) since f ≻ g. The hyperedges
Figure 4: Change of faces by division e6 and e7 with label S are added. The A-labeled hyperedges
are omitted in the figure.
This transformation is realized by the following rewrite
Example 2. Suppose we have a face b surrounded by the rule:
faces a1 , a2 , a3 as shown in Fig. 4 (left). The face b is di-
{ }/:{S[f, g],L[f, f1 ],
vided by the ray r into hb1 , b2 i as shown in Fig. 4 (right).
At the time of the division, we have A[b1 , a3 , a1 , b2 , b1 ] and R[f, f2 ],L[g, g1 ]/; f1◦ ∩ g1◦ 6= ∅,R[g, g2 ]/;f2◦ ∩ g2◦ 6= ∅}
A[b2 , a1 , a2 , a3 , b1 , b2 ] that represent the hyperedges e1 and → {S[f1 , g1 ],S[f2 , g2 ]}
e2 satisfying
s(e1 ) = hb1 , a3 , a1 , b2 i , t(e1 ) = b1 4.4 Rotation of faces and update of superpo-
s(e2 ) = hb2 , a1 , a2 , a3 , b1 i , t(e2 ) = b2 .
sition relation
The final step of fold is the rotation of faces. The rotation
Faces a1 and a3 are divided into ha11 , a12 i and ha31 , a32 i, re- induces changes in the coordinates of the vertices of the
spectively. This transformation is achieved by the rewriting faces that are rotated. This will further invoke numerical
of the g-terms from computation of the coordinates, on one hand, and symbolic
A[b1 , a3 , a1 , b2 , b1 ] to A[b1 , a31 , a11 , b2 , b1 ] and computation of the reflection relation between the vertices
before the rotation and the vertices after the rotation. These
A[b2 , a1 , a2 , a3 , b1 , b2 ] to A[b2 , a12 , a2 , a32 , b1 , b2 ]. computations do not change the structure of the graph.
89:;
?>=< 0123
7654 / ?>=<
89:; 6. CONCLUSION
f1 :F o e1 : L o f:F / e2 : R f2 :F
We have presented an abstract model of origami. The
   abstraction leads to graph-theoretic modeling and transfor-
e6 : S e5 : S e7 : S mation of an origami. We have formalized an origami as a
   hypergraph and define origami fold as algebraic graph trans-
g?>=<
89:;
1 :F
o e3 : L o ?>=<
89:;
g:F / e4 : R / g89:;
?>=<
2 :F formations. The graph-theoretic formalism enables us to
reason about origami in two separate domains of discourse,
The hyperedges e6 and e7 are added. i.e. pure combinatoric domain, and geometric domain R×R,
and thus will help us further tackle challenging problems
Figure 6: Addition of superposition relation by di- such as of discovering a new construction given an origami
vision shape, and of discovering a new origami method that has
certain geometric properties.
Our formalism follows closely that of algebraic and cat-
egorical graph theories, and we anticipate the rich theories
However, after these computations, the rotation process in this area will be applicable to our computational origami
does require the check of the superposition relation for any research.
pair of moved and non-moved faces, and the modification of
the superposition relation accordingly.
The graph rewriting is performed as follows, by distin-
7. ACKNOWLEDGMENTS
guishing the following three cases. Suppose we have a pair This research is supported by the JSPS Grants-in-Aid for
of faces f and g and a fold ray r. Exploratory Research No. 19650001, Scientific Research (B)
No. 20300001 and by Japan-Austria Research Cooperative
1. Faces f and g are to the right of and to the left of r, Program of JSPS and FWF.
respectively: If f ◦ ∩ g ◦ 6= ∅ and no other faces above
g is below f , then f ≻ g is formed.
8. REFERENCES
2. Faces f and g are to the right of r and moved: If f ≻ g, [1] R. C. Alperin. A Mathematical Theory of Origami
the relation f ≻ g is deleted and g ≻ f is formed. Constructions and Numbers. New York Journal of
3. Other cases: No new superposition is formed. Mathematics, 6:119–133, 2000.
[2] Erik D. Demaine and Martin L. Demaine. Recent
5. APPLICATION Results in Computational Origami. In Proceedings of
the Third International Meeting of Origami Science,
The abstraction discussed in this paper is being applied Mathematics and Education, pages 3–16. A K Peters,
to revise the engine of Eos. It enabled us to reconstruct the Ltd., 2002.
system code in a lucid and modularized way. The system
[3] H. Ehrig, K. Ehrig, U. Prange, and G. Taentzer.
is now configured to be consisting of the following modules:
Fundamentals of Algebraic Graph Transformation.
the constraint solver for obtaining fold lines, the reasoner
Springer-Verlag, 2006.
for theorem proving, the graph transformer, visualizer and
others for basic geometric computations. [4] H. Huzita. Axiomatic Development of Origami
The construction of the origami cicada shown in Fig. 1 is Geometry. In Proceedings of the First International
produced by the new engine of Eos. The graphs of the final Meeting of Origami Science and Technology, pages
origami are shown in Fig. 7. We show two separate sub- 143–158, 1989.
graphs in order to perceive the structure of the graph: left [5] T. Ida, M. Marin, H. Takahashi, and F. Ghourabi.
one for (Π, ∽) and the right one for (Π, ≻), although inter- Computational Origami Construction as Constraint
nally we have only one hypergraph. Note further that the Solving and Rewriting. In Proceedings of the 16th
two graphs are shown as ordinary graph (not hypergraph). International Workshop on Functional and
By this abstraction, we are able to see the mathematical (Constraint) Logic Programming, volume 216 of
structure of the origami cicada more clearly. Electronic Notes in Theoretical Computer Science,
pages 31–44. Elsevier B.V., 2008.
[6] T. Ida, H. Takahashi, M. Marin, and F. Ghourabi.
201 200 101 196 Modeling Origami for Computational Construction and
204
205 204 103
200 Beyond. In Proceedings of the 2007 International
197
196
99
54

38
30

22
Conference on Computational Science and Its
193 97 36 20 Applications, volume 4151 of Lecture Notes in
192

55
53 29
31
52 28
Computer Science, pages 653 – 665. Springer-Verlag,
54
52 28
30
192
2007.
38 36 20
22
66
64

34
[7] T. Ida, H. Takahashi, M. Marin, F. Ghourabi, and
39 23
37 64 21
39
37
53
201
193
67 65 35
97 29
101
21
23
A. Kasem. Computational Construction of a Maximal
66 34

67
65
35
55 205
197
103 31
99
Equilateral Triangle Inscribed in an Origami. In
Proceedings of the Second International Congress on
Mathematical Software, volume 4151 of Lecture Notes
in Computer Science, pages 361–372. Springer-Verlag,
Figure 7: Subgraphs of cicada in Fig. 1 2006.

Вам также может понравиться