ISSAC09 Software Presentation Reasoning Tool for ...

1 downloads 0 Views 553KB Size Report
ISSAC09 Software Presentation. Reasoning Tool for Mathematical Origami Construction. Fadoua Ghourabi. Department of Computer. Science. University of ...
ISSAC09 Software Presentation Reasoning Tool for Mathematical Origami Construction Fadoua Ghourabi

Tetsuo Ida

Hidekazu Takahashi

Department of Computer Science University of Tsukuba Tsukuba 305-8573, Japan

Department of Computer Science University of Tsukuba Tsukuba 305-8573, Japan

Department of Computer Science University of Tsukuba Tsukuba 305-8573, Japan

[email protected]

[email protected]

[email protected]

Asem Kasem Department of Computer Science University of Tsukuba Tsukuba 305-8573, Japan

[email protected] Categories and Subject Descriptors I.1 [Symbolic and Algebraic Manipulation]: Applications; F.4.1 [Mathematical Logic]: [Mechanical theorem proving]; I.3.5 [Computing Methodologies]: Computer Graphics—Computational Geometry and Object Modeling; D.0 [Software]: General

1.

INTRODUCTION

Origami is Japanese art of paper folding. Computational origami is the computer assisted study of origami as a branch of science of shapes. We have been developing a computational origami system called Eos (e-origami system). Eos performs what a human origamist would do with a piece of origami by hands and visualizes the construction stepwise. Moreover, it assists in reasoning about geometrical properties of origami. Using Eos, we not only perform the origami construction with necessary accuracy, but also prove the correctness of the construction. In this paper we present Eos as a reasoning tool for mathematical origami construction. It is based on (a) graph-theoretic modeling of origami, (b) logical and algebraic interpretation of fold, The implementation requires support of symbolic and algebraic computations, i.e. manipulation of polynomials, and term and graph rewritings. We implemented Eos as a collection of packages of Mathematica. The user can call Eos methods as Mathematica functions to perform origami construction.

2.

ORIGAMI MODELING

An origami object, as modeled by Eos, is a stack of faces created by repeated folds. To analyze mathematically the complex structure of origami objects, we define two binary Copyright is held by the author/owner(s). ISSAC’09, July 28–31, 2009, Seoul, Republic of Korea. ACM 978-1-60558-609-0/09/07.

relations over the set of faces, adjacency and overlapping relation. The adjacency relation relates a face to its neighboring while the overlapping relation determines the order of face layers [3]. Briefly, the operating principle of Eos is as follows. For origami construction, we first give the logical specification of the fold methods that we want to apply. The logical specification is then translated into algebraic equalities. By solving these equalities, we obtain solutions that satisfy the logical specification of the origami construction problem. The solutions include the possible fold lines. Then the origami is folded along the fold lines and visualized. Moreover, the algebraic representation can be given to an automated theorem prover to verify the correctness of the origami construction. Besides mathematical folds, Eos provides methods to perform artistic origami models. An origami artistic model has complex structure that are analyzed and visualized using algebraic graph theories [3].

3.

ORIGAMI CONSTRUCTION

Eos provides the function HFold to perform a fold operation. HFold is implemented with the generality that allows the user to specify the fold logically. To perform a fold, the user can make the following call: HFold [ P, Constraint → F ]

(1)

P is a list of points on the origami. The faces of origami that contain the points in P are to be moved. F is a formula in the first-order predicate logic. The formula specifies the constraints that the concerned geometrical objects have to satisfy.

Example: Angle trisection It is well known that angle trisection can be performed by applying Huzita’s axioms [1]. An alternative to trisect an angle is to perform two simultaneous folds. Given an angle ]EAB, we need to find lines m and n that are trisectors passing through A. The reflection of B

in line m is on n, and the reflection of E in line n is on m (Fig.1(a)). Therefore, m and n are the fold lines that bring B onto n and E onto m simultaneously. To trisect the internal angle ]EAB on the origami in Fig.1(a), we make the following call of HFold HFold[{B, E},Constraint →∃m,m∈Line ∃n,n∈Line (OnLine[reflection[B, m], n] ∧ OnLine[A, m])∧ (OnLine[reflection[E, n], m] ∧ OnLine[A, n])]

HFold[X, AlongPerpendicular → {P, m}] Given a point P and a line m, we can fold along the fold line that is perpendicular to m and passes through P . HFold[P, m, Through → Q] Given two points P and Q and a line m, we can fold along a fold line that passes through Q and superposes P and m. HFold[P, m, Q, n] Given two points P and Q and two lines m and n, we can fold along a fold line to superpose P and m, and Q and n, simultaneously.

The atomic formula OnLine[A, m] states that the point A is on the line m. The term reflection[B, m] represents the HFold[P, m, AlongPerpendicular → n] Given a point P and reflection of B in line m. two lines m and n, we can fold along the fold line that Thus, the formula OnLine[reflection[B, m], n]∧OnLine[A, m] is perpendicular to n and superposes P and n. states that the reflection of B in line m is on n and m passes The algebraic manipulations of the geometric objects; points, through A. After folding, we obtain two fold lines, AF and lines and faces may be performed by users whenever necesAG, that are the trisectors of the internal angle ]EAB as sary due to the implementation of Eos with Mathematica. shown in Fig.1(b)–(d).

4.

PROOF OF THE CORRECTNESS

The geometrical properties of origami, accumulated during construction steps, have an algebraic interpretation which is useful for further treatments, such as theorem proving. Using a suitable coordinate system, the geometrical properties are transformed into polynomial equations (equalities and/or inequalities) which form the premise of the theorem to be proved. Next, the conclusion of the theorem is described in logical form and represented algebraically. Finally, the premise and the conclusion polynomials are given to a theorem prover. We distinguish the cases where the polynomials contain only equalities or also inequalities, as we will need to choose an appropriate theorem prover for each case. Mathematica provides Gr¨ obner bases implementation to prove over equalities. To deal with inequalities, we employ a different proving method, such as quantifier elimination by cylindrical algebraic decomposition.

5.

ACKNOWLEDGMENTS

This research is supported by the JSPS Grants-in-Aid for Exploratory Research No. 19650001, Scientific Research (B) No. 20300001. Figure 1: Trisection of ∠EAB Furthermore, Eos incorporates a complete implementation of Huzita’s axioms [2]. Those axioms are declarative statements about the existence of fold lines along which we can make a fold. Huzita’s axioms can be specified using the generic HFold definition given in (1). For the ease of use of Huzita’s axioms as defined by generic HFold, we use a single HFold function. The types of the arguments and keywords when necessary discriminate the seven cases unambiguously. HFold[X, Along → PQ] Given two points P and Q, we can fold along the fold line that passes through them. X is a point that determines the faces to be moved by the fold operation. HFold[P, Q] Given two points P and Q, we can fold to bring one of the points onto the other. HFold[m, n] Given two lines m and n, we can fold to superpose the two lines.

6.

REFERENCES

[1] F. Ghourabi, T. Ida, H. Takahashi, M. Marin, and A. Kasem. Logical and Algebraic View of Huzita’s Origami Axioms with Applications to Computational Origami. In Proceedings of the 22nd ACM Symposium on Applied Computing, pages 767–772. ACM Press, 2007. [2] H. Huzita. Axiomatic Development of Origami Geometry. In Proceedings of the First International Meeting of Origami Science and Technology, pages 143–158, 1989. [3] T. Ida and H. Takahashi. Origami fold as algebraic graph rewriting. In Proceedings of the 24th ACM Symposium on Applied Computing. ACM Press, 2009.