symbolic computations in conformal geometric algebra for three dimensional origami folds

Post on 22-Jan-2018

295 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.  

top related