Supplement
Supplement
to the monograph
An Introduction to Computational Origami
with Eos3.7.5 and Mathematica 14.0.0
An Introduction to Computational Origami
with Eos3.7.5 and Mathematica 14.0.0
Tetsuo Ida (University of Tsukuba)
and
Fadoua Ghourab (AwL)
revised on une 29,2024
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 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
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.5. Eos runs under the operating systems (Windows, macOS, and Linux), where Mathematica 14.0.0 is installed. Wolfram Cloud online version is not capable of realizing all the capabilities of Eos at the time of writing.
Download
Download
To download Eos 3.7.5, 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 14.0.0. This article is reached from the top tab “Mathematica 14.0.”
You will find Eos 3.7.5 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.5 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.5\"}]"]
to
WriteLine[file,"eosDir=FileNameJoin[{\"MyApp",\"Eos\",\"3.7.5\"}]"]
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.5 is valid until December 31, 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 systems.
3. Testing
3
. TestingCheckyou$CharacterEncodingbytyping
In[]:=
If the output is other than UTF - 8, execute
It is the default encoding, and we use it .
The following lines of commands are elementary Orikoto program examples. Try to execute them one by one. You will obtain the same outputs as they were in this notebook.
In[]:=
<<EosLoader.wl
Eos3.7.5 (June 1,2024) running under Mathematica 14.0.0 for Mac OS X ARM (64-bit) (December 13, 2023) on Wed 26 Jun 2024 21:07:42.
This version is effective until December 31,2024.
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[]
Numeric precision
Numeric precision
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