Origami programming
in E-origami system Eos
(delivered at SYNASC 2021 on 2021/12/09)
Origami programming
in E-origami system Eos
(delivered at SYNASC 2021 on 2021/12/09)
in E-origami system Eos
(delivered at SYNASC 2021 on 2021/12/09)
Tetsuo Ida
University of Tsukuba, Japan Homepage:https://www.i-eos.org/ida/
OutLine
OutLine
We cover six topics :
1
.Origami geometry
2
.Introduction to Orikoto language of Eos
3
.Geometric construction by Orikoto
4
.Automated geometric theorem proving
5
.Traditional origami practice
6
.More examples..
We will make all the material for the tutorial on the home page of the Eos project www . i - eos . org after the tutorial session, in addition to Eos system.
We will make all the material for the tutorial on the home page of the Eos project www . i - eos . org after the tutorial session, in addition to Eos system.
Terminology
Terminology
Origami ⟺ Ori + Kami ⟺ fold + paper ⟺ Paper folding
action of paper folding
a sheet of paper (used as a countable noun)
art of paper folding
Euclidean Geometry and Origami Geometry
Euclidean Geometry and Origami Geometry
Objects
Objects
We consider 2D (dimensional) in Euclid, and 3D and semi-3D in Origami.
In Euclid, we have geometric objects: planes, lines and points.
In Origami, we have geometric objects: stack of sheets of paper, creases, marked point (abstracted as (bounded) plane, ray, line segment and point.
Construction tools
Construction tools
In Origami, we only have paper folding according to small number of fold rules called Huzita-Justin rules.
In Euclid, we have a straightedge and a compass.
Comparison: Euclid and Origami
Comparison: Euclid and Origami
With the Euclid tool, we can draw circles and lines, and can construct points of their intersections (circle and circle, circle and line, and line and line).
In Origami, we can construct a crease made by fold and unfold along the same fold-line. The fold-line becomes a crease. Conversely, a crease can be extended to be a line when we imagine an infinite sheet of paper. We can construct the intersections of creases.
In both cases, we have a set E (E for Euclid) and O (O for Origami) of points (intersections).
E and O form a field when we appropriately define field operations.
When we continue constructions in E, we form a tower of fields;
, , ..., . is a field extension of with operation of taking the square root, starting from the field of rational numbers.
E
0
E
1
E
i+1
E
i
When we continue constructions in O, we from a tower of fields,
, , ..., . is a series of field extensions each by operation of taking a square root or cube root, starting from the field of rational numbers.
O
0
O
1
O
i+1
In the above sense, origami geometry is more powerful than Euclidean geometry.
Examples
Examples
Construct a trisector of an arbitrary angle.
Construct a regular heptagon.
Double a cube.
Given a segment of an arbitrary length l, construct a segment whose length is .
3
l
Rule of the game
Rule of the game
We use only lines and points on an origami, and superpose them by folding an origami along a line.
We call this line the fold-line for the superposition.
We require that the rule set specifies a finite number of the fold-lines. By applying one of the rules, we obtain one of the fold-lines that it specifies for folding.
Superposition
Superposition
One superposition :
(a) points and
P
1
P
2
P
1
P
2
P
1
P
2
(b) lines and
l
1
l
2
l
1
l
2
l
1
l
2
l
1
l
2
l
1
l
2
l
1
l
2
(c) a point and a line
P
l
P
l
¬ (∈ )
P
l
The pink s give us an infinite number of the fold-lines.
Combination of superpositions
Combination of superpositions
To eliminate the cases of infinite umber of fold lines, we impose further conditions on the objects: non-degeneracy condition and non-incidence condition. However, more interesting method is to combine the superpositions.
Example 1
Example 1
We take the pink cases of(a) and (b). We combine (a) and (b). The combination of the superpositions reads:
Given line l and a point P on the origami O, fold O along a fold-line that passes through P and superposes l with itself.
Example 2
Example 2
We can use the pink case of (c). We combine two different superpositions (c).
Given line and and points and on the origami O, fold O along a fold-line that superposes and , and and .
l
1
l
2
P
1
P
2
l
1
P
1
l
2
P
2
Huzita-Justin rule (set)
Huzita-Justin rule (set)
Huzita-Justin rule set is based the two superposition methods with appropriate degeneracy and non-incident conditions. It is a complete enumeration of operations of superposition. It consists of seven rules.
Axiom
Axiom
Huzita - Justin' s rules specify fold-lines that we can perform a fold by hand.
Huzita - Justin rules
Huzita - Justin rules
O1
O1
Out[]=
O2
O2
O3
O3
Problem 1: Show another fold-line.
Problem 2: Show a configuration in which we have only one fold-line.
O4
O4
O5
O5
Problem: Show that we have one more fold-line in this configuration.
O6
O6
Problem: Show that we have two more fold-lines in this configuration.
Problem: Show configurations in which we have 0, 1, or 2 fold lines.
O7
O7
Problem: Show a configuration in which we have no fold line.
Language Orikoto
Language Orikoto
Orikoto is a language for origami programming for Eos.
Orikoto has the same syntax of Wolfram Language of Mathematica.
Orikoto runs on Mathematica 12.3 (most functionality of Orikoto is available on earlier versions of Mathematica 12 and 11).
From Orikoto all the functionality of Mathematica is accessible.
For beginners, palette Eos Assistant is available.
Example - Angle trisection
Example - Angle trisection
We describe the construction and verification of trisection of an arbitrary angle.
To invoke Eos, we load the Eos package as follows :
Usually, the first command that we enter is EosSession, which initializes Eos run-time environment. The argument of EosSession is a string that names the session we begin. This name will appear in the subsequent steps of the command executions.
Construction
Construction
We then create a new origami of 10 by 10 square.
We construct a new point E at an arbitrary position on the origami. For the construction, we have to give a concrete location, e.g., (6,8) in this example. Any point on the origami will do.
The next command expresses O1. It asks Eos to fold the origami along the line that extends the segment AE. At the fundamental level of origami geometry, the fold line is determined uniquely by two superpositions, i.e., point A and point A, and point E and point E. However, we can forget about the logical meaning as long as we use Orikoto and think the fold in terms of manipulations of origami. The default fold is so-called “valley fold” and right faces of the fold-line are moved. Here, you have to think of the half-line starting at A since we need the notion of the direction to determine left/right hand side.
The command line below ends by an exclamation mark ‘!’. The exclamation mark is a postfix operator of Unfold. This line consists of two commands of folding by rule O1 and unfolding the resulting origami to restore to the previous shape. The net effect is to obtain the crease EA.
We will trisect the angle ∠EAB. We need three lines AB, HI, and FG by Abe’s method. The three lines are parallel, and Line HI is equidistant from AB and FG. Since we already have AB, we now construct line FG. We apply rule O2. We obtain line FG. Line FG is the perpendicular bisector of the segment AD. Note that in the command arguments we specify Mark-> {“AD”,”BC”}. This added argument asks Eos to mark the intersections of the fold-line with segments AD and BC. The names of the intersections are not specified in the command. Hence, the system automatically assigns names F and G to the intersections with AD and BC, respectively.
Similarly, we obtain line HI .
The next step is the most important in the construction. In this step, we enter a command of rule O6 We fold the origami in such a way as to bring point F to line AE and point A to line HI. The command calls for two superpositions. We see that three fold-lines satisfy this requirement. Therefore, this command with four arguments cannot determine a single requested folding. It only shows three possible cases.
We select the third one in the above cases and obtain the origami shown below.
We almost finish the construction of the two trisectors. The line that passes through the left-bottom corner (formerly point A position) of the original origami and point A is one trisector, and the other is the line that passes through the left-bottom corner and point H.
The rest of the commands help us to view the obtained trisectors.
The graphics output below more clearly shows the trisectors. They are the lines that extend the segments AK and AJ.
Verification
Verification
Without loss of generality, we set the locations of the four corners of the initial origami. We set the location of E to be arbitrary. This can be specified by “E” {u1,u2}, where u1 and u2 are free variables.
Traditional Origami
Traditional Origami
To many people, origami is fun for more reasons.
More complicated method of folding are used.
Towards 3D origami and variations
Towards 3D origami and variations
Origami piano
Origami piano
Concluding Remarks
Concluding Remarks
Overview of Eos system
Formalization of Computational Origami
is discussed in detail in the monograph:
An Introduction to Computational Origami, Springer, 2020
is discussed in detail in the monograph:
An Introduction to Computational Origami, Springer, 2020
A paper on “A new modeling of (some) traditional folds” will be available at forthcoming ENTCS (ADG 2021, T.Ida and H. Takahashi.