# Supplement

Supplement

to the monograph

An Introduction to Computational Origami

with Eos3.7.4 and Mathematica 13.3.0.0

An Introduction to Computational Origami

with Eos3.7.4 and Mathematica 13.3.0.0

Tetsuo Ida (University of Tsukuba)

and

Fadoua Ghourab (AwL)

revised on December 13,2023

revised on June 24,2023

revised on March 27,2023

revised on December 12,2022

revised on July 28,2022

revised on July 17,2022

revised on January 19,2022

revised on September 16,2021

revised on March 23, 2021

revised on June 24,2023

revised on March 27,2023

revised on December 12,2022

revised on July 28,2022

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:

This note is a guide to using Eos (E-Origami System) described in the monograph. We explain how to install Eos on your computer and give small examples written in Orikoto language of Eos. They may serve as a test of your installation.

## 2. Installation

2. Installation

### System requirements

System requirements

Eos consists of three Mathematica packages. The current version of Eos is 3.7.4. Eos runs under the operating systems (Windows, macOS, and Linux), where Mathematica 13.3.0.0 is installed.

### Download

Download

To download Eos 3.7.4, you must be an Eos website blog member. To become a member, email admin@i-eos.org with Subject: “membership.” We will send an email from the Eos project informing you of your username and a link to set your password. The email is sent to the email address from which you sent the membership request. Your username name is your email address. You cannot change it. Eos project will usually handle your request within 24 hours (except for weekends).

First, register yourself. The site uses WordPress (free, open-source software under GPLv2). Successful login implies that you have become a member whose status is a “mono-reader.”

We use your username and email address only for communication between you and the Eos project. We use cookies via several publically available plugins for WordPress users. We use a firewall plugin. It reports repeated failure logins and originating IP accesses to the database. We also use the plugin “Simple History,” which records user logins for 20 days.

Logging in to the Eos project website, you see the website’s front page. There, you can find the main menu bar. You reach the supplement pages by clicking the menu tab “Supplement.” You see two articles linked from the supplement tabs: Mathematica 12.1 or earlier and Mathematica 13.3.0.0. This article is reached from the top tab “Mathematica 13.3.”

You will find Eos 3.7.4 by the menu tab “Eos software.” Open Eos 3.7 page.

### Configuration

Configuration

Download the zipped archive. in your desired folder. We use the folder whose path is ~/Dropbox/Eos.

After unzipping the file, the folder 3.7.4 is created inside the folder ~/Dropbox/Eos. In the folder, you will find files Installer. Wl. Open it by Mathematica, and rewrite the path according to your folder structure. For example, change Dropbox to MyApp.

WriteLine[file,"eosDir=FileNameJoin[{\"Dropbox\",\"Eos\",\"3.7.4\"}]"]

to

WriteLine[file,"eosDir=FileNameJoin[{\"MyApp",\"Eos\",\"3.7.4\"}]"]

Execute Installer.wl (Cmd-a + shift enter). Click Yes when Mathematica asks whether you allow the installer to proceed. The installer will create init.m in the user’s Mathematica/Kernel, replacing the existing init.m if it exists. If the current init.m is essential for your other applications; save it before you execute the Installer.wl.

The installer prints, in the case of macOS,

"File init.m has been installed succesfully

Exit the Mathematica, saving the Installer.wl .

You can modify created init.m to allow your other applications together with Eos. Do not forget to exit the Mathematica session after the Installer.wl is executed. File init.m is executed only when a new Mathematica session starts.

Eos3.7.4 is valid until June 30, 2024 (your local time). Each version lives for six months. We plan to release a new version every three months, however. We plan to change the usage of Eos software from a one-time distribution model to a subscription-based model for ease of maintenance and development. We care less about backward compatibility and look more for new products.

## 3. Testing

3

. TestingThe following lines of commands are elementary Orikoto program examples. Try to execute them one by one. We will obtain the same outputs as they were in this notebook. The first output by executing the Eos3.7.4 is valid until June 30, 2024 (your local time). Each version lives for six months. We plan to release a new version every three months, however. We plan to change the usage of Eos software from a one-time distribution model to a subscription-based model for ease of maintenance and development. We care less about backward compatibility and look more for new products.

In[]:=

<<EosLoader.wl

Eos3.7.4 (December 12,2023) running under Mathematica 13.3.0 for Mac OS X ARM (64-bit) (June 3, 2023) on Thu 14 Dec 2023 17:26:30.

This version is effective until June 30,2024.

The following lines of commands are elementary Orikoto program examples. Try to execute them one by one. We will obtain the same outputs as they were in this notebook. The first output running the Eos3.7.4 is valid until June 30, 2024 (your local time). Each version lives for six months. We plan to release a new version every three months, however. We plan to change the usage of Eos software from a one-time distribution model to a subscription-based model for ease of maintenance and development. We care less about backward compatibility and look more for new products.

The following lines of commands are elementary Orikoto program examples. Try to execute them one by one. We will obtain the same outputs as they were in this notebook. The first output running the Eos3.7.4 is valid until June 30, 2024 (your local time). Each version lives for six months. We plan to release a new version every three months, however. We plan to change the usage of Eos software from a one-time distribution model to a subscription-based model for ease of maintenance and development. We care less about backward compatibility and look more for new products.

In[]:=

EosSession["simple-test"];

In[]:=

NewOrigami[]

simple-test/Origami: Step 1

Out[]=

In[]:=

HO["A","B"]

simple-test/Origami: Step 2

Out[]=

In[]:=

HO["A","D"]

simple-test/Origami: Step 3

Out[]=

In[]:=

UnfoldAll[];

In[]:=

EndSession[];

On the website, following the menu tabs

Origami Works -> Test Examples,

you find three test examples. Download the files. Open each file and execute all the commands.

Origami Works -> Test Examples,

you find three test examples. Download the files. Open each file and execute all the commands.

We defined new notations and used them in some other examples. We recommend including EosNotation Section that is included in Orikoto program examples. Copy the EosNotations Section at the end of this file after the first section (i.e., Load Eos Section) of your Orikoto program.

## 4. Eos environment

4

. Eos environment ### Computing mode

Computing mode

#### Symbolic vs. numeric

Symbolic vs. numeric

Exact[] sets the computation to be exact computation during the constraint solving by Eos. Inexact[] switches to approximate numeric computation (floating point computation).

In[]:=

Exact[]

Out[]=

Ok (Exact)

#### Interaction vs . non-interactive construction

Interaction vs . non-interactive construction

In[]:=

InteractiveFold[True]

Out[]=

Ok(interactive)

command sets the interactive mode of Eos. When Eos needs more inputs from the origamist (user) to proceed to fold the origami, Eos asks the origamist's choice or instruction. Command

In[]:=

InteractiveFold[False]

Out[]=

Ok(non-interactive)

This command performs the setting of a non-interactive mode. In this mode, the origamist must provide each command’s required arguments.

#### Marking of intersection

Marking of intersection

By default, Eos marks the intersection of a fold-line and existing line segments. Execute MarkOff[] to let Eos not to mark the intersections.

In[]:=

MarkOff[]

Out[]=

Automatic mark Off

#### Numeric precision

Numeric precision

To set the precision of the numerical computation, we use function SetSystemAccuracy. In the case below, the error tolerance is . Usually, we do not have to change the value.

0.00001

#### Graphics

Graphics

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. A small gap separates each layer. We can change the value of the gap by setting the global variable $gap to a specific value or by providing it by named parameter Gap.

Function ShowOrigami 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. Function GraphicsOrigami is a synonym of ShowOrigami.

### Interactive construction

Interactive construction

We program a method of folding origami by the Orikoto programming language. We develop the program interactively like a human origamist would construct the origami by hand. Starting from an initial square origami sheet, we construct an origami artwork step by step. We have a few options at each step of the construction; method of folding, unfolding, and other manipulations of the origami, such as handling the geometric objects on the origami (e.g., marking the intersection of lines).

A slight change at some step may induce the restart of the construction from the beginning. The mode of computation using Mathematica’s Notebook is particularly suited to the origami construction since restarting from the start will not pose a big problem during the Orikoto programming if we group the input cells properly. We recommend carefully designed use of cell grouping to avoid selecting many individual input cells during the development of the Orikoto program.

### 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 A(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 our computer screen, but the locations of each point are certainly changed. See the output of the following command.

We may define the shape of the initial origami to be a rectangular.

We 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 screen.

#### Unfold operator “!”

Unfold operator “!”

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

## Load Eos

Load Eos