# Supplement

Supplement

to the monograph

An Introduction to Computational Origami

for Mathematica 12.3

An Introduction to Computational Origami

for Mathematica 12.3

Tetsuo Ida (University of Tsukuba)

and

Fadoua Ghourab

revised on July 17,2022

revised on January 19,2022

revised on September 16,2021

revised on March 23, 2021

revised on July 17,2022

revised on January 19,2022

revised on September 16,2021

revised on March 23, 2021

## 1. Introduction

1

. IntroductionThis 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"]

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

2. Installation

### System requirements

System requirements

Eos consists of Mathematica packages. The current version of Eos is 3.50. The version of Mathematica we are using now is 12.3.1.0. Eos 3.4.0 was tested by Mathematica 12.1, 12.2, and 12.3.0. We have tried to run Eos under the most recent Mathematica 12.3. So far, we have no serious problem. 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

Download

To download Eos 3.5.0, you have to be an Eos website blog member. To become a member, visit the Eos Project website:

First, register yourself. The site is constructed using WordPress 5.83 (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 must 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 log in to the Eos Project site. Successful login implies that you become a member whose status is a “mono-reader .”

First, register yourself. The site is constructed using WordPress 5.83 (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 must 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 log in 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 do not use cookies or record your access to our site explicitly. We use a firewall plugin. It reports us repeated failure logins and access to the database. We also use the plugin ”Simple History” that keeps logins and related records for 20 days.

Logging in to the Eos Project website, we will see the website’s front page. There, you can find the main menu bar. We reach the supplement page by clicking the menu tab “Supplement.” We see three articles under the supplement tab: Mathematica 12.1 or earlier, Mathematica 12.2, and Mathematica 12.3. This article is the last one. We will find Eos 3.5.0 by the menu tab “Eos software.” Open Eos3.5.0 page.

### Configuration

Configuration

Download the zipped archive of our choice. If we prefer the latest version of Eos, we unzip the file Eos3-5-0 in our desired folder. We use the folder whose path is ~/Dropbox. This path marks the root directory of the Eos system. In macOS, for example, it is likely to be /Users/xxx/Dropbox/ if our user name is “xxx.”

In Eos3.3 or Eos3.4 folder,

Folder Eos3-5-0 is created in the Dropbox. In the folder, we find files Installer.nb and init.m. We open init.m by Mathematica, and rewrite the path according to our folder structure. Namely, if we select a different root folder, e.g., MyEosSystem, to Drop1box, we rewrite the line

Orikoto`$eosSystemDirectory=

FileNameJoin[{$HomeDirectory,"Dropbox","Eos3-5-0"}]

FileNameJoin[{$HomeDirectory,"Dropbox","Eos3-5-0"}]

to

Orikoto`$eosSystemDirectory=

FileNameJoin[{$HomeDirectory,"MyEosSystem","Eos3-5-0"}]

FileNameJoin[{$HomeDirectory,"MyEosSystem","Eos3-5-0"}]

and save init.m.

Then, we open, by Mathematica, Installer.nb, and rewrite Dropbox to EosSystem, likewise.

fromFile=FileNameJoin[

{$HomeDirectory ,"Dropbox","Eos3-5-0","init.m"}]

{$HomeDirectory ,"Dropbox","Eos3-5-0","init.m"}]

to

fromFile=FileNameJoin[

{$HomeDirectory ,"MyEosSystem","Eos3-5-0","init.m"}]

{$HomeDirectory ,"MyEosSystem","Eos3-5-0","init.m"}]

Execute Installer.nb (Cmd-a + shift enter). Click Yes when Mathematica asks 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 our other applications,we save it before we 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.

We can execute installer.nb, whenever we changed the init.m. In other words, we can modify init.m to allow our other applications together with Eos, we should edit the init.m file and install it again by the installer.

## 3. Testing

3

. TestingIn the web page following the menu tabs

Origami Works -> Test Examples,

we find four test examples. Download the files. Open each file and execute all the commands by Cmd a and Shift Enter.

Origami Works -> Test Examples,

we 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 we execute a command in the file. Therefore, we 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. We have to put Notation Section in the notebook that we are working on. We see the example use in regular-heptagon.nb.

Notations that were placed in “.m” files of the previous Eos packages do not work properly on Mathematica 12.2. and 12.3. We have to put Notation Section in the notebook that we are working on. We 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.5.0, and try to execute it one by one. We 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"

Eos3.5.0 (January 14,2022) running under Mathematica 12.3.1 for Mac OS X x86 (64-bit) (July 7, 2021) on Wed 19 Jan 2022 20:21:00.

g3 Version 2.0

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)

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

In[]:=

InteractiveFold[False]

Out[]=

Ok(non-interactive)

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. We 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 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 carefully designed use of cell grouping to avoid selecting many individual input cells.

### Eos session

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

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

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