折り紙研究ノート(2) 「動き」編 (三谷純)
はじめに
「折り紙」は1枚の紙を切ったり貼ったりせずに、折るだけで形を作るという幾何学的な制約によって、思い通りの形を自由に作ることはできません。
では、この制約の中で、どのようにしたら様々な形を作りだすことができるでしょうか。
このような問いに答えようと、2005年前後からコンピュータを使った折り紙の形状設計の手法についての研究を進めてきました。
その結果得られた知見は、論文と言う形で発表したり、日本図学会の学会誌「図学研究」に連載させていただいたりしました(
連載記事 )。
また、それらの内容を手軽に読むことができるように
「折り紙研究ノート」 としてWebページにまとめています。
このような手法で作りだされた折り紙は、
写真共有サイト Flickr に公開 し、展開図データもいくつかを公開しています。
さらに2015年7月には、「立体折り紙アート - 数理がおりなす美しさの秘密」というタイトルで、書籍と言う形で世に出させていただきました。
これらの一連の活動を通して、「幾何学的な制約の中で対話的に折り紙の形状設計を行う」というアプローチについては、一つの区切りがついたのではないかと感じるようになりました。もちろん、まだまだ新しい発見の余地はあると思いますが、ここでは「1枚の紙で作られる形の設計技法」の研究開発から、さらに一歩先に行くことを目指したいと思います。
つまり、「かたち」から「動き」への一歩です。
折り紙の特性を語るときに「1枚の紙が連続的に動いて、立体になる」また「立体が平らに折りたたまれる」という「動き」は重要な位置をしめます。以前の「折り紙研究ノート」が「かたち」の研究ノートであったとしたら、この研究ノートは折り紙の「動き」の研究ノートです。
(2015年7月)
折り線の移動を伴う折り紙の変形
1枚の紙を折るだけで作られる形の幾何学的な制約は極めて単純で「円板と同相で自己交差の無い形状において、任意の点においてその周囲の角度がちょうど2πだけあればよい」と言うことができます。
多くの折り紙設計ソフトウェアが、このような制約を満たす形を作りだすことを目的としています(「交差しない」という条件を満たすのは扱いが難しい問題になるので、実際は自己交差を考慮していないソフトウェアが多いです)。
ところで、このような条件を満たす「折り紙の形」は、本当に1枚の紙から作りだすことができるのでしょうか。つまり、平らな状態からの連続的な変形で、その形になるような変形の経路が存在するでしょうか?
この問いに対する解は、「YES」です。ある形Aが、1枚の紙から作れる形であれば、平らな状態の紙を連続的に変形して、その形を作りだすことができます(※1)。ただし、
「折る位置は自由に移動させることができる」 という条件のもとです。ふつう私たちが「折り紙」を考える時、一度加えた折り線の位置はそこに固定されるものと見なすことがほとんどですが、「折り線を移動させる」という発想をすることで、紙は自由にさまざまに変形できるようになります。
下の動画は、球を包むような形の折り紙ですが、変形の途中で「折り線の位置が少しずつ変わっている」という様子を見ることができます。
VIDEO
※1 エリック・D・ドメイン、ジョセフ・オルーク著,「幾何学的な折りアルゴリズム」11.6節,近代科学社,2009
剛体折り紙
前項では、折り線の位置が移動することを許した折り紙のモデルでしたが、「一度決めた折り線の位置は移動しない」と考えた方が実際の折り紙に近いでしょう。さらに、工学的な応用を考える場合などには、折り線に囲まれた領域も変形しない(硬いパネルであるとみなす)とした方が都合がよいことが多いです。このようなモデルを
「剛体折り紙」 と呼びます。剛体パネルとヒンジで構成されたものをイメージするとよいでしょう。
下の写真の「ミウラオリ」は、剛体折り紙であって、硬いパネルをヒンジで連結することでも開閉ができます。
もう少し具体的な例としては、下の写真ような構造がわかりやすいでしょう。硬いパネルを連結したものですが、平らな状態からスムースに開閉することができます。
剛体折り紙の変形過程をCGアニメーションで表示する「Rigid Origami Simulator」が舘知宏氏によって開発され、公開されています。
変形とひずみエネルギー
折り紙に見られる構造的な特徴を活用する目的の1つに「大きなものを小さく折りたたむ」というものがあります。折りたたみ傘や扇子や紙袋など「折りたたむ」ことで持ち運びや収納のコストを抑えることができます。
よく知られている次の円筒の形(※1)も、平らに折りたたむことができます。
ところで、この円筒は本当にスムースに変形しながら平らに折りたためているのでしょうか?
実際に折ってみると、平らに押しつぶすときに意外と抵抗があり、ある時点で急にパタンと折りたためるようになることに気づきます。
これはつまり、紙が変形に対して抗している(ひずみによる内部応力が発生している)ということを示します。実は、これが硬いパネルで作られたものであれば、折りたたむことができません。つまり、剛体折り紙ではない、ということです。
このように、ひずみが発生するような折り紙と剛体折り紙の違いを、ひずみエネルギーの観点から見ると、下図のような概念的なグラフを描くことができます。
機械装置の一部として可動する機構を組み入れるのであれば、剛体折り紙の構造で形を設計する必要があります。一方で、紙という素材の柔軟性を生かすことで、剛体折り紙ではない構造であっても変形させることができます。これが折り紙の特性であり、柔軟性をもった構造を作ることができます。
※1 折りたためる円筒の形については、こちらのWebページに少し詳しい説明があります。
「折りたたみの数学」
Shopping Bag問題
日常的に使用する「紙袋」は簡単に折りたためて、必要なときに広げることができて便利です。では、この紙袋は剛体折り可能でしょうか。
紙袋の底の形は下の図のような構造をしています。
実は、このような構造は剛体折り紙でないことが、上記の図の出典元である論文によって示されています。普段、身近に使っている紙袋も、紙が柔軟であって、多少のひずみを吸収してくれるために開閉ができているのです。
紙袋が剛体折り紙であるかどうかで論文が書けてしまうくらいですから、与えられた構造が「剛体折り紙」であるかないかを判定することは、それほど簡単ではありません。
折り紙のモデル化(バネ質点モデル)
折り紙の変形をコンピュータで扱うために、その構造をどのようにモデル化するかが重要です。異なるアプローチがありますが、その1つにバネ質点モデルを用いることが考えられます。
バネ質点モデルとは、質量を持つ点がバネで連結された状態を用いて物体の形状変形を扱うモデルで、CGの分野で布などの柔物体の変形を扱う際によく用いられます。
これを折り紙の形を表現するために用いることを考えます。
例えば、下の図のように、折り線の交点に質点を配置し、それらを結ぶ折り線の位置にバネを配置します。また、多角形の形状を一定に保つために、対角線上にもバネを配置します。三辺の長さが定まれば三角形の形は一意に定まるので、このようなバネのネットワークで「微小に変形しつつも、最終的には元の1枚の紙で作ることができる形に収束する」という物理モデルを構築できます。
下の動画は、私の研究室の卒業生である古田陽介氏が開発した折り紙シミュレータで、内部にバネ質点モデルを使っています。ある折れ線の折れ角を指定すると、他の面も引っ張られるようにして移動し、全体として1枚の紙で作れる状態を保っています。
VIDEO
バネ質点モデルは、そもそものモデル化の時点で微小な変形を許したものになっているので、バネの振動が収束するまで厳密な形を表現することはできませんが、折り紙の折り操作を簡単にシミュレートする1つの方法です。
剛体折り紙のモデル化(回転角モデル)
複数のパネルが1つの頂点周りで接続し、互いに連結した状態で動くパネルの機構は、球面上の閉じたリンク機構と同等と見なせます。
文章だけで理解することは難しいですが、Brigham Young University の研究グループが、とてもわかりやすいCGアニメーションを制作しています。
その一部を取り出した様子が下図です。
YouTubeに上げられている、実際のCGアニメーションは下のようなものです。
4枚のパネルが1つの頂点を共有しているとき、隣接するパネル間の成す角は、その頂点を中心とする球面上に配置したリンク機構が作りだす角度と同等になります。したがって、この角度を計算で求めることで、それぞれのパネルの位置が決まります。
VIDEO
先ほど、パネル間の角度を計算で求めると書きましたが、それはどのように求まるでしょうか。
下の図のように球面上に太い実線で示されている4辺(1つの辺は大円の一部)がリンクであるとした場合、球面上にはリンクで囲まれた4角形ができます(下の図では4つのリンクの角度の和が270度ですが、折り紙では360度になります)。対角線上のノードを結ぶ赤い線を追加すると、4角形領域は2つの三角形領域に分割され、それぞれの三角形の辺の長さと追加された赤い線の長さの関係を、
球面三角法 の余弦定理で表すことができます。この4つのリンクからなる機構の自由度は1なので、1つの角度が定まると、残りの3つの角度も定まります。
出展: Hugo Akitaya氏の修士論文より
回転角モデルの行列を用いた幾何拘束
折り線l
i での折り角をρ
i としたとき、剛体折り紙の頂点周りでの幾何拘束は次のような簡単な行列の式で表されます。
C
1 B
12 C
2 B
23 ・・・C
n B
n1 =I
Iは単位行列で、折り角ρは、二面角ではなく下図のように、平面から折り返した角度を示します。
C
i は折り線l
i 周りの角度ρ
i での回転を表し、B
i i+1 は折り線l
i と折り線l
i+1 の乗る平面上での角度θ
i i+1 の回転を表します。つまり上式は、折り線l
1 上からスタートして、頂点周りぐるり一周を紙の上を歩いてくると、元の場所に戻ってくることを示しています。折り線間の角度θは変化しないので、上式を満たすように折り角ρ
i を制御すれば、剛体折り紙の変形を扱うことができます。
一般に、折り紙の折り線パターンには上図のように折り線が集まる頂点が複数存在するので、すべての頂点で上式の制約を満たすような折り角を求めることになります。「
剛体折り紙 」の項で紹介したRigid Origami Simulator は、この回転角モデルを採用した実装が行われています。