Upload
yoshihiro-mizoguchi
View
295
Download
1
Embed Size (px)
Citation preview
Symbolic Computations in Conformal Geometric Algebra for Three Dimensional Origami Folds
Yoshihiro Mizoguchi and Hiroyuki Ochiai (Kyushu University, JAPAN)
July 20, 2016 COA2016 @ Vienna University of Technology
hJps://github.com/KyushuUniversityMathemaQcs/MathemaQcaCGA
InsQtute of MathemaQcs for Industry, Kyushu University, JAPAN.
Math-‐for-‐Industry (MI) is a new research area that serves to create advanced technologies in response to industrial needs by innovaQng flexible & versaQle methods in mathemaQcs, staQsQcs & compuQng.
Mission: To establish a leading-‐edge research hub for mathemaQcs as applied to the real world & sciences, while nurturing research leaders & innovators to serve societal needs.
InsQtute of MathemaQcs for Industry, Kyushu University, JAPAN.
MoQvaQon
O0=FirstO; O1=Ori[O0, Ori2[P3, P1], {1}, π]; O2=Ori[O1, Ori2[P4, P3], {3}, π]; O3=Ori[O2, Ori2[P1, P4], {5}, −π]; O4=Ori[O3, Ori2[P5, P1], {4, 10}, π]; O5 = Ori[O4, Ori2[P6, P5], {13}, 0]; O6 = Ori[O5, Ori2[P7, P5], {29}, 0]; O7=Ori[O6 , Ori3[p2line[P8, P5], p2line[P9, P8], 2], {27}, π]; O8=Ori[O7, Ori3[p2line[P8, P5], p2line[P10, P8], 2], {59}, π]; O9=Ori[O8, Ori2[P11, P1], {15}, π]; O10=Ori[O9, Ori1[P7, P6], {31}, π]; O11=Ori[O10, Ori2[P7, P6], {11}, −π];
Formal Origami Design Sheet
Origami Instruc5on Sheet To provide a formal specificaQon for origami to invesQgate its geometrical properQes using formal symbolic computaQons.
Each funcQon ‘Ori#’ corresponding to a fold operaQon, is represented by an element of CGA.
Table of Contents
• Algebra for Geometry • CGA (Conformal Geometric Algebra)
– DefiniQons – Examples – VisualizaQon – Equality Check (Algebra)
• Origami Folds – FormalizaQon – VisualizaQon – 3D Folds
• Concolusion
Algebra for Geometry
• Complex Numbers (2-‐dim) • Quaternion (3-‐dim) • Conformal Geometric Algebra (n-‐dim)
Algebra of geometric operators (1)
7
Algebra of geometric operators (2)
8
CGA (Conformal Geometric Algebra)
9
R[E] (Product)
A MathemaQca module for Conformal Geometric Algebra and Origami Folding
10
€
eφ ∗ eS = eS ∗ eφ = eS
e{0} ∗ eS =e{0}∪S 0∉ S( )0 0∈ S( )
' ( )
e{a} ∗ eS =(−1) s∈S |s<a{ } e{a}∪S a ∈{1,2,3} ∧ a ∉ S( )(−1) s∈S |s<a{ } eS −{a} a ∈{1,2,3} ∧ a ∈ S( )
' ( ,
) ,
e{∞} ∗ eS =
(−1) S e{∞}∪S 0∉ S ∧∞∉ S( )0 0∉ S ∧∞∈ S( )
−e{0} ∗ e{∞} ∗ eS −{0}( ) − 2eS −{0} 0∈ S( )
'
( ,
) ,
eT∪{a} ∗ eS = eT ∗(e{a} ∗ eS ) (∀t ∈T , t < a)
R[W] (Outer Product and Inner Product)
11
Example (1)
12
Example (2)
13
VisualizaQon (CGA)
Objects in R3
15
Operators in R3
16
-100 -50 0 50 100-100
-50
0
50
100
-100 -50 0 50 100-100
-50
0
50
100
-100 -50 0 50 100-100
-50
0
50
100
translator rotor dilator
17 €
X ∧P x, y, z( )= αS wSS ⊂ 0,1, 2, 3,∞{ }∑ = 0⇔∀S ⊂ 0,1,2,3,∞{ },αS = 0.
€
Fig(X ) := x, y,z( ) ∈ R3 X ∧P x, y, z( ) = 0$ % &
' ( ) .
We compute a Gröbner basis of those equaQons to draw the figure.
αS ∈ R[x, y, z]
The figure Fig(X) of an object X in R3
€
X ∈ R[E] X ∈ R[W ]or
18
VisualizaQon (1)
19
VisualizaQon (2)
Algebra Symbolic ComputaQons in CGA
Fig(X1) = Fig(X2) ?
21
€
X1 = w01 + w02 + w03 + w0∞ − w12 − 2 w13 − 6 w1∞ − w23 −5 w2∞
−4 w3∞ + w012 + w013 + w01∞ + w023 + w02∞ + w03∞ + 2 w123+6 w12∞ + 5 w13∞ + 6 w23∞ + w0123 + w012∞ + w013∞ + w023∞
−5 w123∞ + w0123∞,X2 = w0 + w1 + 2 w2 + 3 w3 + 7 w∞
The appearance of X1 and X2 are different, but the figure of X1 and X2 are same and it is a point {(1,2,3)}. Our implemented funcQon CGAEquaQonCheck can check the equaliQes of figures.
We can check the equality of figures Fig(X1) and Fig(X2) using symbolic computaQons.
FormalizaQon of Origami
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12 P13
O0=FirstO; O1=Ori[O0, Ori2[P3, P1], {1}, π]; O2=Ori[O1, Ori2[P4, P3], {3}, π]; O3=Ori[O2, Ori2[P1, P4], {5}, −π]; O4=Ori[O3, Ori2[P5, P1], {4, 10}, π]; O5 = Ori[O4, Ori2[P6, P5], {13}, 0]; O6 = Ori[O5, Ori2[P7, P5], {29}, 0]; O7=Ori[O6 , Ori3[p2line[P8, P5], p2line[P9, P8], 2], {27}, π]; O8=Ori[O7, Ori3[p2line[P8, P5], p2line[P10, P8], 2], {59}, π]; O9=Ori[O8, Ori2[P11, P1], {15}, π]; O10=Ori[O9, Ori1[P7, P6], {31}, π]; O11=Ori[O10, Ori2[P7, P6], {11}, −π];
Origami Graph O = (Π, 〜, ≻)
Superposi5on rela5on ≻
A pair of face’s ID for two faces superposed directly. ≻ ={ (f10,f14) ,(f14,f48) ,(f16,f17) ,(f18,f26) ,(f22,f10) ,(f23,f31) ,(f26,f48) ,(f30,f22) ,(f31,f30) ,(f38,f18) ,(f39,f55) ,(f48,f16) ,(f49,f51) ,(f50,f23) ,(f50,f39) ,(f51,f50) ,(f54,f38) ,(f55,f54) }
f10f14
f18f26
f22f30
f23f31
f38f54
f39f55
f48
f50
f49f51
f16f17
Face set Π
Π = { f10 , f14 , f18 , f26 , f22 , f30 , f23 , f31 , f38 , f54 , f39 , f55 , f48 , f50 , f49 , f51 , f16 , f17 } f49 ={ p2 , p13 , p12 , p4 } f50 ={ p6 , p11 , p7 } f23 ={ p5 , p10 , p1 } f17 ={ p15 , p2 , p7 } etc.
The vertex coordinates sets of each polygon.
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12 P13
Adjacency rela5on 〜
The adjacent face’s ID numbers sets to every side.
〜 = {〜10 , 〜14 , 〜18 , 〜26 , 〜22 , 〜30 , 〜23 , 〜31 , 〜38 , 〜54 , 〜39 , 〜55 , 〜48 , 〜50 , 〜49 , 〜51 , 〜16 , 〜17 } 〜10 ={ f14 , f22 , f16 } 〜14 ={ f48 , f30 , f10 } 〜22 ={ f10 , f13 , Φ } 〜16 ={ f10 , f17 , f18 } etc. Where, Φ is empty set.
f10f14
f18f26
f22f30
f23f31
f38f54
f39f55
f48
f50
f49f51
f16f17
23
We follow the E-Origami-System developed by Ida et al.
Origami data structure
Huzita-Hattori Axioms (1)
24
Huzita-Hattori Axioms (2)
25
A sequence of origami func5ons for making Kabuto.
26
P1
P2 P3
P4P1
P2 P3
P4
P1
P2 P3
P4
P5P6
P1
P2 P3
P4
P5P6
P7
P1
P5P6
P7
P8
P1
P5P6
P7
P8
P9
P1
P5P6
P7
P8
P9
P10
P1
P5P6
P7
P8
P9
P10
P1
P5P6
P7
P8
P9
P10
P1
P5P6
P7
P8
P9
P10
P11
P1
P5P6
P7
P8
P9
P10
P11
P1
P5P6
P7
P8
P9
P10
P11
A design sheet of origami is wriJen by successive applicaQons of origami funcQons.
O0=FirstO; O1=Ori[O0, Ori2[P3, P1], {1}, π]; O2=Ori[O1, Ori2[P4, P3], {3}, π]; O3=Ori[O2, Ori2[P1, P4], {5}, −π]; O4=Ori[O3, Ori2[P5, P1], {4, 10}, π]; O5 = Ori[O4, Ori2[P6, P5], {13}, 0]; O6 = Ori[O5, Ori2[P7, P5], {29}, 0]; O7=Ori[O6 , Ori3[p2line[P8, P5], p2line[P9, P8], 2], {27}, π]; O8=Ori[O7, Ori3[p2line[P8, P5], p2line[P10, P8], 2], {59}, π]; O9=Ori[O8, Ori2[P11, P1], {15}, π]; O10=Ori[O9, Ori1[P7, P6], {31}, π]; O11=Ori[O10, Ori2[P7, P6], {11}, −π];
Design Sheet
Formula
Drawing
A sequence of origami func5ons for making Kabuto.
27
P1
P2 P3
P4P1
P2 P3
P4
P1
P2 P3
P4
P5P6
P1
P2 P3
P4
P5P6
P7
P1
P5P6
P7
P8
P1
P5P6
P7
P8
P9
P1
P5P6
P7
P8
P9
P10
P1
P5P6
P7
P8
P9
P10
P1
P5P6
P7
P8
P9
P10
P1
P5P6
P7
P8
P9
P10
P11
P1
P5P6
P7
P8
P9
P10
P11
P1
P5P6
P7
P8
P9
P10
P11
A design sheet of origami is wriJen by successive applicaQons of origami funcQons.
O0=FirstO; O1=Ori[O0, Ori2[P3, P1], {1}, π]; O2=Ori[O1, Ori2[P4, P3], {3}, π]; O3=Ori[O2, Ori2[P1, P4], {5}, −π]; O4=Ori[O3, Ori2[P5, P1], {4, 10}, π]; O5 = Ori[O4, Ori2[P6, P5], {13}, 0]; O6 = Ori[O5, Ori2[P7, P5], {29}, 0]; O7=Ori[O6 , Ori3[p2line[P8, P5], p2line[P9, P8], 2], {27}, π]; O8=Ori[O7, Ori3[p2line[P8, P5], p2line[P10, P8], 2], {59}, π]; O9=Ori[O8, Ori2[P11, P1], {15}, π]; O10=Ori[O9, Ori1[P7, P6], {31}, π]; O11=Ori[O10, Ori2[P7, P6], {11}, −π];
Design Sheet
Formula
Drawing
VisualizaQon (Origami)
Visualization functions
29
3D Folds
Three-dimensional origami folds
31
3D folding using CGA
32
Simple proof using CGA
33
€
R1 =12
+w132−
a4 2
w3∞
€
R2 =12
+w132−
a2 2
w3∞
€
R3 =12
+w132−3a4 2
w3∞
R = R3 ∗R2 ∗R1
A Mathematica module for Conformal Geometric Algebra and Origami Folding
34
Conclusion
• We implemented funcQons that realize CGA operaQons using symbolic computaQons in MathemaQca. hJps://github.com/KyushuUniversityMathemaQcs/MathemaQcaCGA
• Our module includes funcQons for the geometric product, the inner and outer product of a CGA which s an extension of R3 with e0 and e∞.
• We draw the figure of an element in R3 by solving an equaQon system using Gröbner basis.
• We implemented funcQons of 2D origami folding following the 2D origami system introduced by Ida et al.
• We implemented funcQons which compute a CGA element corresponding to a 3D origami folding.
• We presented a simple proof of the 3D origami property using a symbolic computaQon of CGA equaQons.
Future Work
• To implement 3D origami funcQons completely. We need to extend the data structure for 3D origami.
• To create a database of design sheets of origami folds using a formula in CGA.
• To find an aJracQve folding moQon defined by a formula in CGA.
• To implement a funcQon for judging the collision of faces in 3D origami folds.
• To invesQgate mathemaQcal properQes in CGA, especially checking equaliQes of CGA objects.
A Mathematica module for Conformal Geometric Algebra and Origami Folding
36
Reference 1) T. Ida, Huzita's basic origami fold in geometric algebra, 16th
InternaQonal Symposium on Symbolic and Numeric Algorithms for ScienQfic CompuQng (SYNASC 2014), 11-‐13. IEEE computer society, 2014.
2) T.Ida, H.Takahashi, M.Marin, A.Kasem and F.Ghourabi, ComputaQonal origami system EOS. Proc. 4th InternaQonal Conference of Origami Science, MathemaQcs and EducaQon (4OSME), pages 285-‐-‐293, 2009.
3) M.Kondo, T.Matsuo, Y.Mizoguchi, and H.Ochiai. A mathemaQca module for conformal geometric algebra and origami folding. 7th InternaQonal Symposium on Symbolic ComputaQon in Souware Science (SCSS2016), volume 39 of EPiC Series in CompuQng, 68-‐80. EasyChair, 2016.
4) C.Perwass. Geometric Algebra with ApplicaQons in Engineering, volume 4 of Geometry and CompuQng. Springer, 2009.