ºp ¯ T ¤ Ø .hirata/folding/130729-hirata.pdf · 2013-07-29 · ß Y >Ò°...

Preview:

Citation preview

多角形から折る凸多面体2013/7/29 淡路夢舞台国際会議場愛媛大学教育学部 平田 浩一

1

自己紹介

愛媛大学 教育学部 数学教育講座

研究

幾何学(位相幾何、離散幾何)、情報教育、eラーニング

折り紙、和算

2

プレゼン資料

http://www.ed.ehime-u.ac.jp/~hirata

検索「愛媛大学 平田研究室」

3

問題「多角形から折る多面体」

多角形 P が与えられている。この P を展開図に持つ凸多面体 M をすべて求めよ。

P

M M1 2

4

発端1996年

Anna Lubiw & Joseph O’Rourke

“When Can a Polygon Fold to a Polytope”

1998年

Joseph O’Rourke (日本で講演)

Folding and Unfolding in Computational Geometry

5

立方体の展開図

立方体の展開図から折り目を消す

6

他の立体ができる

四面体 五面体 八面体

7

動画

By Eric Demaine8

参考文献

平田浩一

Demaine-O'Rourke の折りたたみアルゴリズム

数学セミナー、2009年、1月号

9

参考文献

Erik Demaine & Joseph O’RourkeGeometric Folding Algorithms, Linkages, Origami, PolyhedraCambridge University Press, 2007

上原隆平 訳幾何学的な折りアルゴリズム、リンケージ、折り紙、多面体近代科学社、2009

25章「多角形から折る多面体」

10

展開図について

辺(稜)を切る

連結

重ならない

本当に展開図つくれるの ?

11

展開図について

面の内部を切ってよい

連結

重ならない

12

アイデア「どこに折り目を入れるか?」ではなく、「どの辺とどの辺を貼り合わせるか?」を考え、コンピュータで計算。

v

v

v

v

vv

vv

v

v v

v

v

v 1

2

34

56

78

910

1211

13

0

e e

e

e

ee

e

ee

e

e

e e

e 1

2

34

56

7

89

10

12

11

130

13

計算結果 17通り1 ( { 0 , 1 } { 2 , 3 } { 4 , 1 3 } { 5 , 6 } { 7 , 1 2 } { 8 , 1 1 } { 9 , 1 0 } )2 ( { 0 , 1 } { 2 , 3 } { 4 , 1 3 } { 5 , 1 0 } { 6 , 9 } { 7 , 8 } { 1 1 , 1 2 } )3 ( { 0 , 3 } { 1 , 2 } { 4 , 7 } { 5 , 6 } { 8 , 9 } { 1 0 , 1 3 } { 1 1 , 1 2 } )4 ( { 0 , 3 } { 1 , 2 } { 4 , 9 } { 5 , 8 } { 6 , 7 } { 1 0 , 1 3 } { 1 1 , 1 2 } )5 ( { 0 , 3 } { 1 , 2 } { 4 , 1 3 } { 5 , 6 } { 7 , 1 2 } { 8 , 1 1 } { 9 , 1 0 } )6 ( { 0 , 3 } { 1 , 2 } { 4 , 1 3 } { 5 , 1 0 } { 6 , 9 } { 7 , 8 } { 1 1 , 1 2 } )7 ( { 0 , 5 } { 1 , 4 } { 2 , 3 } { 6 , 1 3 } { 7 , 1 0 } { 8 , 9 } { 1 1 , 1 2 } )8 ( { 0 , 5 } { 1 , 4 } { 2 , 3 } { 6 , 1 3 } { 7 , 1 2 } { 8 , 1 1 } { 9 , 1 0 } )9 ( { 0 , 7 } { 1 , 4 } { 2 , 3 } { 5 , 6 } { 8 , 9 } { 1 0 , 1 3 } { 1 1 , 1 2 } )1 0 ( { 0 , 9 } { 1 , 8 } { 2 , 3 } { 4 , 7 } { 5 , 6 } { 1 0 , 1 3 } { 1 1 , 1 2 } )1 1 ( { 0 , 9 } { 1 , 8 } { 2 , 7 } { 3 , 6 } { 4 , 5 } { 1 0 , 1 3 } { 1 1 , 1 2 } )1 2 ( { 0 , 1 1 } { 1 , 4 } { 2 , 3 } { 5 , 6 } { 7 , 1 0 } { 8 , 9 } { 1 2 , 1 3 } )1 3 ( { 0 , 1 1 } { 1 , 4 } { 2 , 3 } { 5 , 1 0 } { 6 , 9 } { 7 , 8 } { 1 2 , 1 3 } )1 4 ( { 0 , 1 1 } { 1 , 1 0 } { 2 , 3 } { 4 , 9 } { 5 , 8 } { 6 , 7 } { 1 2 , 1 3 } )1 5 ( { 0 , 1 1 } { 1 , 1 0 } { 2 , 7 } { 3 , 6 } { 4 , 5 } { 8 , 9 } { 1 2 , 1 3 } )1 6 ( { 0 , 1 3 } { 1 , 1 0 } { 2 , 3 } { 4 , 9 } { 5 , 8 } { 6 , 7 } { 1 1 , 1 2 } )1 7 ( { 0 , 1 3 } { 1 , 1 0 } { 2 , 7 } { 3 , 6 } { 4 , 5 } { 8 , 9 } { 1 1 , 1 2 } )

e e

e

e

ee

e

ee

e

e

e e

e 1

2

34

56

7

89

10

12

11

130

14

辺辺貼り合わせの条件

(C1) すべての辺は同じ長さの他の1辺と貼り合う

(C2) 1つの頂点に集まる角の和は360°以下

(C3) でき上がる立体は球面と位相同形 e e

e

e

ee

e

ee

e

e

e e

e 1

2

34

56

7

89

10

12

11

130

15

アレクサンドロフの定理

条件 (C1), (C2), (C3) を満たす貼り合わせからは、ただ一つの凸多面体が決まる。

ただし、体積が 0 の平面に退化した凸多面体の場合もある。

16

計算結果 17通り1 ( { 0 , 1 } { 2 , 3 } { 4 , 1 3 } { 5 , 6 } { 7 , 1 2 } { 8 , 1 1 } { 9 , 1 0 } )2 ( { 0 , 1 } { 2 , 3 } { 4 , 1 3 } { 5 , 1 0 } { 6 , 9 } { 7 , 8 } { 1 1 , 1 2 } )3 ( { 0 , 3 } { 1 , 2 } { 4 , 7 } { 5 , 6 } { 8 , 9 } { 1 0 , 1 3 } { 1 1 , 1 2 } )4 ( { 0 , 3 } { 1 , 2 } { 4 , 9 } { 5 , 8 } { 6 , 7 } { 1 0 , 1 3 } { 1 1 , 1 2 } )5 ( { 0 , 3 } { 1 , 2 } { 4 , 1 3 } { 5 , 6 } { 7 , 1 2 } { 8 , 1 1 } { 9 , 1 0 } )6 ( { 0 , 3 } { 1 , 2 } { 4 , 1 3 } { 5 , 1 0 } { 6 , 9 } { 7 , 8 } { 1 1 , 1 2 } )7 ( { 0 , 5 } { 1 , 4 } { 2 , 3 } { 6 , 1 3 } { 7 , 1 0 } { 8 , 9 } { 1 1 , 1 2 } )8 ( { 0 , 5 } { 1 , 4 } { 2 , 3 } { 6 , 1 3 } { 7 , 1 2 } { 8 , 1 1 } { 9 , 1 0 } )9 ( { 0 , 7 } { 1 , 4 } { 2 , 3 } { 5 , 6 } { 8 , 9 } { 1 0 , 1 3 } { 1 1 , 1 2 } )1 0 ( { 0 , 9 } { 1 , 8 } { 2 , 3 } { 4 , 7 } { 5 , 6 } { 1 0 , 1 3 } { 1 1 , 1 2 } )1 1 ( { 0 , 9 } { 1 , 8 } { 2 , 7 } { 3 , 6 } { 4 , 5 } { 1 0 , 1 3 } { 1 1 , 1 2 } )1 2 ( { 0 , 1 1 } { 1 , 4 } { 2 , 3 } { 5 , 6 } { 7 , 1 0 } { 8 , 9 } { 1 2 , 1 3 } )1 3 ( { 0 , 1 1 } { 1 , 4 } { 2 , 3 } { 5 , 1 0 } { 6 , 9 } { 7 , 8 } { 1 2 , 1 3 } )1 4 ( { 0 , 1 1 } { 1 , 1 0 } { 2 , 3 } { 4 , 9 } { 5 , 8 } { 6 , 7 } { 1 2 , 1 3 } )1 5 ( { 0 , 1 1 } { 1 , 1 0 } { 2 , 7 } { 3 , 6 } { 4 , 5 } { 8 , 9 } { 1 2 , 1 3 } )1 6 ( { 0 , 1 3 } { 1 , 1 0 } { 2 , 3 } { 4 , 9 } { 5 , 8 } { 6 , 7 } { 1 1 , 1 2 } )1 7 ( { 0 , 1 3 } { 1 , 1 0 } { 2 , 7 } { 3 , 6 } { 4 , 5 } { 8 , 9 } { 1 1 , 1 2 } )

17

凸多面体17個

??? 立方体がない ???

18

辺辺-アルゴリズム(1)

vo

v1

v2 v3

v4

eo

e1 e2e3

90°

90° 180° 270°

90°

e13

v13 v12

e12180° 270°

v

v

v

v

vv

vv

v

v v

v

v

v 1

2

34

56

78

910

1211

13

0

頂点 v[i] は角度を持ち、辺 e[i] は長さを持つ

19

辺辺-アルゴリズム(2)

辺 e0 が貼り合う相手 ei を決める

条件

(i) e[0] == e[i]

(ii) v[1] + v[i] ≦ 360°

(iii) v[0] + v[i+1] ≦ 360°

P Pv

vv

v e

e

0 1 12 0

i ii+1

20

辺辺-アルゴリズム(3)

2つの部分問題に分割

v[1] = v[1] + v[i]

v[i+1] = v[0] + v[i+1]

部分問題を再帰的に処理する

P P12

i+1v v1

21

17通りですべてか

2分割 3分割

22

分割と貼り合わせ

辺分割 貼り合わせ

1分割 17通り

2分割 85通り

3分割 17通り

4分割 85通り

5分割 17通り

6分割 85通り

23

中点が重要

偶数分割は中点を含む

奇数分割では中点が含まれない

24

展開図85通り

25

展開図の作り方

アルゴリズムからは「貼り合わせ」は求められても、

折り目は求まらない。

折り目は手作業で調べる。

26

用意するもの

ハサミ、ナイフ

セロハンテープ

フェルトペン

竹串

27

多角形の図面を準備

28

ハサミで切り抜く

29

テープで貼り合わせる

30

貼り合わせるときの注意

貼る順番には指定がない。貼りやすい順に貼る。

この段階では紙に「折り目」を入れない。

徐々に多面体らしくなる。

31

頂点を探す

頂点は、その周りの「角の和 < 360°」

「角の和 = 360°」の点は、頂点ではない。

32

辺を探す

辺は頂点と頂点とを結ぶ「線分」。

辺は、折れ曲がらない。

辺は、枝分かれしない。

33

竹串で折り目をつける

頂点の横のすき間から竹串を入れる。

「辺」となる部分に竹串を渡す。

竹串の上から紙を押さえ、折り目をつける。

34

凸多面体が完成

35

展開図を作る

フェルトペンで、辺に線を引く。

36

展開図が完成

テープを貼ったところを、切り離す

展開図ができる

37

図面に折り線

図面に折り線を書き入れ、

再度、凸多面体を作り確認

38

例 : 鋭角三角形

39

例 : 鈍角三角形

40

2000年

O’Rourke 研究室

平田研究室

それぞれ、85通りの展開図を作る

ただし、2つは食い違う

41

面は四角形か ?

少しだけ歪んでいるとき、

空間座標を正確に計算して確認

42

85通りの展開図が完成

43

23種の凸多面体

立方体(1)、二面体(2)

四面体(7)

五面体(3)

六面体(6)

八面体(4)

44

【公開】辺辺-プログラム

http://fic5.ed.ehime-u.ac.jp/cgi-bin/WebObjects/LubiwORourke

例【L字形】

90, 1, 180, 1, 90, 1, 90, 1, 270, 1, 90, 1, 90, 1, 180, 1

45

凸多面体が作れない図形

図のような切り込みを入れるだけで

凸多面体は作れなくなるA

B

C

D

E

46

85通りですべてか ?

「辺辺」以外の貼り合わせの可能性

辺辺-貼り合わせ

eo

ei

eo

一般-貼り合わせ

eo

ei

(無理数)

47

正方形の辺辺-貼り合わせ辺分割 貼り合わせ1分割 2通り2分割 9通り3分割 14通り4分割 43通り5分割 26通り6分割 81通り7分割 38通り8分割 123通り9分割 50通り10分割 169通り

貼り合わせは無限 ?

48

凸多角形、周の二等分

凸多角形 P の周の長さを2点 x, y で二等分

x, y で折り曲げて、周を貼り(縫い)合わせる

貼り合わせの条件 (1), (2), (3) を満たす

x の位置は任意

無限個の凸多面体

v

xP

y0 v1

v2

v3v4

v1

v2v3v4y

v0x

回転ベルト

49

正方形、周の二等分正方形の周全体が回転ベルト

a a

b

2b

2a

a a

2a

0<a<1/6 1/6<a<1/2x x

yydemo: square-4

50

正方形、円筒形

正方形から円筒形を作る円筒形には2つの回転ベルトがある

y

x

x

y

demo: square-2

51

正方形

他の回転ベルト

demo: square-3demo: square-5 demo: square-1

52

一般の貼り合わせ一般-貼り合わせ回転ベルトを探し出す

53

一般-アルゴリズム(1)

部分問題が180°より大きい角を含む場合そこから処理を開始する

vivi

vj

ei ei

ei-1ei-1

54

一般-アルゴリズム(2)

部分問題が180°より大きい角を含まない場合

(1) 全体が回転ベルト

(2) 3頂点以上が重なるよう貼り合わせる

(3) 2頂点以上が重なり、かつ、ある辺の途中の点 x が重なる

vkvi vj

x ekvi vj

vkvi vj

x ekvi vj

v1

v2v3v4y

v0x

55

一般-アルゴリズム(3)

(3) 2頂点以上が重なり、かつ、ある辺の途中の点 x が重なるとき

点 x を含む部分問題は、回転ベルトである。

vkvi vj

x ekvi vj

56

一般-アルゴリズム(4)

長さの異なる辺の貼り合わせ

(1) 左揃え

(2) 右揃え

(3) その他

回転ベルトとして処理される

57

一般-アルゴリズム(5)

長さの異なる辺の貼り合わせ

P P

v

v

v

v e

e

i+1 12 i

j

i

jj+1

58

一般-アルゴリズム(6)

自分自身との貼り合わせ

(辺を半分に折る)

v

v eii

i+1

その他の折り方は回転ベルトとして処理される

59

【公開】一般-プログラム

http://fic5.ed.ehime-u.ac.jp/cgi-bin/WebObjects/Polytope2

例【L字形】

90, 2, 90, 1, 90, 1, 270, 1, 90, 1, 90, 2

60

【公開】一般-プログラム

85通りですべてか ?

90, 1, 90, 2, 270, 1, 90, 1, 90, 1, 270, 1, 90, 1, 90, 1, 270, 1, 90, 1, 90, 1, 270, 2

回転ベルトは無い

61

定理 (HIRATA)

多角形 P の一般-貼り合わせが、回転ベルトを一切含まないかつ、P の辺の長さがすべて整数であれば、すべての辺を「長さ1/2」に分割すれば、辺辺-貼り合わせのみで、すべての貼り合わせを見つけることができる。

P

62

未解決問題

折り目、凸多面体、を決定するアルゴリズム

回転ベルトを持たない多角形の特徴づけ

2つの正多面体を折る多角形は存在するか

63

正四面体と立方体 ?

正四面体

直方体(立方体ではない)

64

THE END

65

Recommended