Supplement

to the monograph
An Introduction to Computational Origami
for Mathematica 12.2
​
Tetsuo Ida (University of Tsukuba)
and
Fadoua Ghourabi (Ochanomizu University, at the time of preparation)​
​
March 23, 2021
revised and uploaded September 16, 2021

1
. Introduction

This note is a supplement to Monograph “An Introduction to Computational Origami”, Springer, September, 2020:
Hyperlink["https://www.i-eos.org/wp-content/uploads/2021/02/BookSellerFlyer_9783319591889.pdf"]
Out[]=
https://www.i-eos.org/wp-content/uploads/2021/02/BookSellerFlyer_9783319591889.pdf
This note serves as a guide to use Eos (E-Origami System) described in the monograph. We explain how to install Eos on your computer and give examples of small Orikoto programs. They may serve as a test of your installation.

2. Installation

System requirements

Eos consists of Mathematica packages. The current version of Eos is 3.40. The version of Mathematica we are using now is 12.2.0. Eos 3.40 was tested by Mathematica 12.1 and 12.2. We do not guarantee that Eos 3.40 works perfectly well with Mathematica 12.3 as of September 16,2021. Eos runs under the operating systems (Windows, macOS, and Unix), where Mathematica 12.2.0 is installed. We do not guarantee that Eos works correctly for versions earlier than Mathematica 11, although most of Eos’ functionality remains valid on Mathematica 11. We recommend a computer equipped with at least 4 MB main memory for a reasonably speedy interaction with Eos.
​

Download

To download Eos 3.40, you have to be an Eos website blog member. To become a member, visit the Eos Project website:
Eos Project web site
​
First, register yourself. The site is constructed using WordPress 5.81 (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 Eos Project email telling you how to retrieve your password. Using the password, try to login to the 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. We no not use cookies, nor record your accesses in our site. We use a firewall plug-in. It reports us repeated failure logins and the accesses to the database.
Logging in to Eos Project website, you will see the front page of the website. There, you can find the main menu bar. You reach the supplement page by clicking the menu tab “Supplement.” Under the supplement tab, you see two articles; one for Mathematica 12.1 or earlier and the other for Mathematica 12.2. This article is the latter one. You will find Eos 3.4 by the menu tab “Eos software.” Open Eos3.4 page.

Configuration

Download the zipped archive of your choice. The latest version is Eos3.4.0. The zipped file name is Eos-3-4-0.zip. 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/, if your user name is xxx. 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 form 3.3 or 3-3-1, 3-3-2 .3-4-0, etc., depending on the zipped file you downloaded the archive. Make sure to rename Eosvvv to Eos3.3 if the folder is not Eos3.4.
In Eos3.3 or Eos3.4 folder, find files Installer.nb and init.m.
Open init.m by a Mathematica system 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 user’s Mathematica/Kernel, replacing the existing init.m if it exists. If the existing init.m is important for your other applications, save it before you execute Installer.nb.
The installer prints, in the case of macOS,
Succesfullyinstalled
/Users/xxx/Library/Mathematica/Kernel/init.m
where xxx is the user name.
ExittheMathematica,savingtheInstaller.nb,ifyoulike.
You can execute installer . nb, whenever you changed the init.m. In other words, you can modify init.m to allow your other applications together with Eos, you should edit the init.m file and install it again by the installer.

3
. Testing

In the web page following the menu tabs
Origami Works -> Test Examples,
you will find four test examples. Download the files. Open each file and execute all the commands by Cmd a and Shift Enter.
Except for yacht.nb, each file has more than one sections; Header part, Construction and Verification. The header part sections have initialization cells inside that load Eos system automatically, when you execute a command in the file. Therefore, you may start from Section Construction.
​
​Notations that were placed in “.m” files of the previous Eos packages do not work properly on Mathematica 12.2. and 12.3. You have to put Notation Section in the notebook that you are working on. You see the example use in regular-heptagon.nb.
The following lines of commands are even simpler examples. Start Mathematica system. Copy the command lines in a file created in the directory Eos3.4 (Eos3.3), and try to execute it one by one. You will obtain the same outputs. The first output by the execution of the
<<"EosHeader.m"
indicates the version of Eos, the version of Mathematica and the operating system that you are running.
In[]:=
<<"EosHeader.m"
g3 Version 2.0
Eos3.40 (May 6,2021) running under Mathematica 12.2.0 for Mac OS X x86 (64-bit) (February 2, 2021)
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

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[]
Ok(Exact)
Interactionvs.non-interaction.Command
In[]:=
InteractiveFold[True]
Out[]=
Ok(interactive)
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. Command
InteractiveFold[False]
performs setting of a non-interactive mode. In this mode, the origamist uses only command lines to interact with the system.
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.
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 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

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 intersection of lines).
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. We recommend clever use of cell grouping o avoid selecting many individual input cells.

Eos session

We can name the origami construction and verification sessions. The name will appear in the output of the subsequent steps of command execution.
Use command EndSession[ ] to finish the session.

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 “!”

In geometric construction, the action of folding is often immediately followed by unfolding. We realize this unfolding by postfix unfold command “!”.
​
​