Supplement
Supplement
to the monograph
An Introduction to Computational Origami
An Introduction to Computational Origami
Tetsuo Ida (University of Tsukuba)
and
Fadoua Ghourabi (Ochanomizu University, at the time of preparation)
1. Introduction
1
. IntroductionThis note is a supplement to Monograph “An Introduction to Computational Origami”, Springer, September, 2020. It serves as a guidance to use Eos (E-Origami System) described in the monograph. It explains how to install Eos on your computer, and gives examples of small Orikoto programs. They may serve as a test of your installation.
2. Installation
2. Installation
System requirements
System requirements
Eos consists of Mathematica packages. The current version of Eos is 3.3. The version of Mathematica is 12.1. Eos runs under the operating systems (Windows, macOS, and Unix), where Mathematica 12.1 is installed. We do not guarantee that Eos works correctly for earlier versions of Mathematica, although most of the functionalities of Eos remain valid on Mathematica 11. For a reasonable speedy interaction with Eos in construction of computational origami, we recommend a computer equipped with at least 4 MB main memory.
Download
Download
To download Eos 3.3, you have to be an Eos website blog member. To become the member, visit the Eos Project website:
First, register yourself. The site is constructed using WordPress 5.5 (free open source software under GPLv2). You need to provide your account name and your email address. The account name is typically your name (space in the middle is allowed). If the same name has been used already, you have to create a unique new name. When the registration is successful, you will receive an email from Eos Project, telling you how to retrieve your own password. Using the password, try to login to Eos Project site. Successful login implies that you become a member whose status is a "mono-reader. "
We use your account name and email address only for the communication between you and Eos website.
Logging in to Eos Project website, you will see the front page of the website. There, you can find the main menu. You reach the supplement page by clicking the menu tab “Supplement.” You will find Eos 3.3 by the menu tab “Eos software.” Open Eos3.3 page.
Configuration
Configuration
Download the zipped archive. Unzip the file to your desired folder. In the archive, we use the folder whose path is ~/Dropbox. This path marks the root directory of the Eos system. In macOS, for example, it is /Users/xxx/Dropbox/, where xxx is your user name. Note that the user name xxx is your macOS user name, and has nothing to do with the name of your account of Eos website membership.
Folder Eosvvv is created in the Dropbox folder, where vvv is a version number of the form 3.3 or 3-3-0-6, 3-3-1 etc, depending on the version that you downloaded the archive. Make sure to rename Eosvvv to Eos3.3 if the folder is not Eos3.3.
In Eos3.3 folder, find files Installer.nb and init.m.
Open init.m by Mathematica or by a text editor, and rewrite the path according to your folder structure. Namely, if you prefer a different root folder, e.g. EosSystem, to Drop1box, rewrite the line
FileNameJoin[{$HomeDirectory, "Dropbox", "Eos3.3"}]
to
FileNameJoin[{$HomeDirectory, "EosSystem", "Eos3.3"}]
and save init.m.
Then open, by Mathematica, Installer.nb, and rewrite Dropbox to EosSystem, likewise.
{$HomeDirectory , "Dropbox", "Eos3.3", "init.m"}];
to
{$HomeDirectory , "EosSystem", "Eos3.3", "init.m"};
Execute Installer.nb (Cmd-a + shift enter). Click Yes when you are asked whether you allow the installer to proceed. The installer will put init.m in Mathematica/Kernel, replacing the existing init.m if it exists. If the old init.m is important for your other applications, save it before you execute Installer.nb.
The installer returns
/Users/xxx/.Mathematica/Kernel/init.m
where xxx is the user name, in the case of macOS.
3. Testing
3
. TestingIn the web page following the menu tabs
Origami Works -> Test Examples,
you will find four test examples. Download the files. They are zipped files. Unzip them first. Open each file and execute all the commands by Cmd a and Shift Enter.
Origami Works -> Test Examples,
you will find four test examples. Download the files. They are zipped files. Unzip them first. Open each file and execute all the commands by Cmd a and Shift Enter.
Except for yacht.nb, each file has three sections; Header, Construction and Verification. Section Header has an initialization cell that loads Eos system automatically, when you execute a command in the file. Therefore, you may start from Section Construction.
The following lines of commands are even simpler examples. Copy the command lines in a file created in the directory Eos3.3, and try to execute it one by one. You will obtain the same outputs.
In[]:=
<<"EosHeader.m"
g3 Version 1.2.9
Eos3.307 (October 11,2020) running under Mathematica 12.1.1 for Mac OS X x86 (64-bit) (June 22, 2020)
In[]:=
EosSession["simple-test"];
In[]:=
NewOrigami[]
simple-test: Step 1
Out[]=
In[]:=
HO["A","B"]
simple-test: Step 2
Out[]=
In[]:=
HO["A","D"]
simple-test: Step 3
Out[]=
In[]:=
UnfoldAll[]
simple-test: Step 5
Out[]=
,
In[]:=
EndSession[];
4. Eos Environment
4
. Eos Environment Computing mode
Computing mode
Symbolic vs. numeric. Exact[] sets the computation to be exact, i.e., symbolic computation during the constraint solving by Eos. Inexact[] switches to numeric computation.
In[]:=
Exact[]
Out[]=
Ok (Exact)
Interaction vs. non-interaction. InteractiveFold[True] sets the interactive mode of Eos. When Eos needs more inputs from the origamist (user) to proceed, Eos displays an input-prompt box to receive the origamist’s choice or instruction. InteractiveFold[False] means setting a non-interactive mode. In this mode, the origamist uses only command lines to interact with the system.
In[]:=
InteractiveFold[False]
Out[]=
Ok(non-interactive)
Marking of intersection points. By default, Eos does not mark the intersection of a fold-line and existing line segments. Execute MarkOn[] to let Eos mark the intersections.
In[]:=
MarkOn[]
Out[]=
{True}
System precision. To set the precision of the numerical computation, we use function SetSystemAccuracy. In the case below, the error tolerance is . Usually, you do not have to change the value.
0.00001
In[]:=
SetSystemAccuracy[5]
Out[]=
0.00001
Graphics layer. For visualization of origami by Mathematica, Eos has a data structure for origami suited for the graphics processing by Mathematica. Roughly speaking, the data structure of origami has layers of faces. Each layer is separated vertically by a small gap. You can change the value of the gap by setting the global variable $gap to a specific value.
Function GraphicsOrigami has the functionality to make the visualized origami more refined. For example, we can specify the gap by the use of named parameter Gap -> desired-gap. For details, read Chapter 7 of the monograph. By default, the global variable $gap is initially set to 0.001.
Interactive construction
Interactive construction
In Eos, we write an Orikoto program interactively in a way that a human origamist would construct the origami. Starting from an initial origami, we design the origami and perform the construction, step by step. We have a few options at each step : method of folding, unfolding, and other manipulations of the origami, such as handling the geometric objects on the origami (e.g., marking points).
Any small change at some step may induce that we restart the construction from the beginning.The mode of computation using Notebook is particularly suited to the origami construction, since restarting from the start will not pose a little problem during the origami construction if you group the input cells properly.
Eos session
Eos session
We can name the origami construction and verification sessions. The name will appear in the subsequent steps of command execution.
Use command EndSession[ ] to finish the session.
Initial origami
Initial origami
By default, the initial origami is a 1×1 square and the left bottom vertex is point (0, 0). The size can be changed as shown in the call of NewOrigami.
We define an initial origami by a square of size 5/2 by 5/2 .
Note that the size of the graphics output of Step 1 does not change on your computer screen, but the locations of each point are certainly changed. See the output of the following command.
You may define the shape of the initial origami to be rectangular.
You may also change the shape of the initial origami even to any convex polygon
We can also change the colors of the faces. The default colors are blue & green. These colors are different from the colors of faces in the monograph. On the paper, the color of “green” does not appear so nice as on the computer display.
Unfold operators “!”
Unfold operators “!”
The action of folding is often immediately followed by unfolding. We realize this unfolding by postfix unfold command “!”.