Origami and Computer

Mitani Jun

■

はじめに

私は現在、筑波大学でコンピュータサイエンスの講師をしています。専門分間ですので、折紙そのものよりも、コンピュータで取り扱う題材としての折紙の面うな構造をしているのか理解できないという問題があります。一方で、折紙の教白さに興味を持っています。折紙とコンピュータの間にどんな関係があるのだろう

本に見られる折り図では、形の特徴を把握しやすいように、紙の厚みを強調した野はCG（コンピュータグラフィックス） か、と思われる方もいるかもしれませんが、 り、角の重なりを意図的にずらして描くなで、コンピュータで3 次元の形を効率的 実はコンピュータを用いる情報処理の分 どの工夫が見られます。そこで、平面のに扱うための研究をしています。
これ以外にペーパークラフトにも興味を持って野においては、折紙をテーマにした研究は多く行われています。
その中でも、宮崎集合で表現された折り紙のデータに対して、画面に表示する前に形の再構築おり、パソコンで設計した立体の展開図を作って、それを実際に組み立てて遊慎也氏はコンピュータを用いて対話的に紙を折る「折り紙シミュレーション」の研究を行うことを考えました。具体的には、厚み方向への面の再配置と面同士の接んだりしています（図1）。

を行っており、その成果は広く知られています［編集部註：本誌64号で紹介記事あ続部の作成、そしてずれを表現するための頂点位置の変更を行います。再構り］。
このシミュレータの実行ファイルとソー
スコード は W e b 上（ h t t p : / /

築された折紙の形は立体的な情報と共にコンピュータの中に格納されるので、www.om.sccs.chukyo-u.ac.jp/main/research/origami/indexj.html）に公開されて画面の中で回転させて、任意の角度から眺めることができます。以下に、
もう少図1 サイのCG データとそれを元に作成したペーパークラフト

おり、私も研究を進める上で、氏の作成し し詳しい内容を記します。
たコードを活用させていただいています。
■

紙の厚みの表現

最近では、紙で形を作るという観点か厚さがゼロの平面の集合で表現されら折紙にも興味を持ち始め、パソコンで折紙を扱う研究も行うようになりました。

た折紙のデータに対して、複数枚重なっている場所では、面の位置を法線方向さて、そんな折りに今年の8月に行われた第11回折紙探偵団コンベンションにご招待いただき、大勢の折紙愛好家の方々の前で講演させていただくという、ありがたい機会をいただきました。発表の後には、たくさんの貴重な質問やご意見をいただくことができました。
この場をお借りしてお礼申し上げます。
本稿では、講演の席で話させていた
だいた「折紙とコンピュータ」の概要について、紹介させていただきます。

図2 宮崎氏の折り紙シミュレータで作成された飛行機のCG 表示

以降では、私が去年から今年にかけるようにします。単純に面を移動させただけでは、面がバラバラに見えてしまうて行った、折紙をコンピュータで扱うための研究を紹介します。

ので、本来つながっているべき場所には面と面をつなぐ細長い曲面を追加しま■

折紙のCG表示

折紙の形をコンピュータで扱う研究です。
この処理を行うことで、図3 のように、紙の厚さが強調され、重なり合い具合が視覚的に確認できるような表示を行えるようになります。

は、紙の厚みを無視した平面の集合で形を表現することが一般的です。
しか折紙をコンピュータで扱うし、それをそのままCG で表示すると、紙が複数重なっている場所も厚みの無い

私は、もっぱらCG を専門にしている人

平面として表示されてしまうため、どのよ■（紙の厚さ方向）へ一定量だけ移動させ、それぞれの面を視覚的に識別でき

11

図3

紙の厚さを強調した表示

Origami and Computer

Mitani Jun

紙の重なりの表現ました。と言っても、折紙の写真からその紙の厚さを強調しても、図4 と図5 の構造を認識するのは人間でも難しいことですから、事前に折紙の裏と表の両左側のように、紙の角をぴったり合わせる折り方をした場合、真上から見るとど面に2 次元バーコードを複数印刷し、1回折るごとに写真撮影する、というアプのような折り方になっているのかわかりにくくなってしまいます。そこで、
わざと頂ローチを採用しました。
これにより、折紙をデジタルカメラで撮影する、という極点の位置をずらすことを行います。図4
左のように、異なる頂点がそれぞれ奥側めて簡単な方法で、その構造をコンピュータの内に取り込めます。以下に、もと手前側にあって重なって見える場合、折紙の面の重心を中心に互いに逆向きう少し詳しい内容を記します。

■■ QRコードの使用に一定角度だけ回転させます。
これで図4右のように見せることができます。

QR コードは図7左のような2次元バー

図5左のように、異なる頂点が同じ場所にあるけれど、どちらも手前側にあるコードです。現在では携帯電話のカメラに標準で読み取り機能が備わっている

場合は、その頂点に隣接する稜線にひっぱられるように互いの頂点を移動さことが多いので、おそらくみなさんもどこかで見かけたことがあるでしょう。
これをせます。
この操作で、図5左を図5右のように表示することができます。

表と裏の両面に20×20ずつ印刷したもの（図7右）を折紙に使用しました。それ
ぞれのQR コードには、そのQR コードが紙の中でどの位置にあるのか、そして図4裏と表のどちら側に印刷されたものであるのかを示す情報を格納しておきます。

頂点位置のずらし
（1）
図6■

図5

■

頂点位置のずらし（2）

CG表示
以上、簡単に説明しましたが、いろいろ従来の表示（左）と提案手法（右）

折紙の形のキャプチャ

既に紹介した宮崎氏のソフトウェア
で、折紙の形をコンピュータ上で操作できるようになりましたが、パソコンの扱いに不慣れな方には、まだ難しいかもしれなパターンの折紙について、従来の方法と私が考案した方法を比較したものが図とQRコードを20×20ません。そこで、折紙の形をいかに簡単 図7 QR コード（左）（400 個）並べた様子（右）にコンピュータに取り込むか、ということ6 になります。折紙の厚さと頂点のずれが表現されることで、実際にどのように折らをテーマとした研究を行いました。
この研究では、デジタルカメラで撮影した画れたものであるのか、わかりやすい表示に 像から折紙の構造を推定し、コンピューなっていることが確認できると思います。 タ内に折紙の形を構築することを行い

12■

折り線の位置の推定

図8左のように紙を折った場合、図8右の○印のように、折る前の場所と折った三谷 純（みたに・じゅん）＝1975年静岡生まれ。筑波大学大学院コンピュータサイエンス専攻講師。
コンピュータグラフィックスに関する研究に従事。

後の場所の対応がとれると、その2 点の垂直二等分線が折れ線であると推測でから見えるであろうQR コード群を算出する。

きます。
これは、折った後の写真画像から得られるQR コードと、コンピュータの3. このQR コード群と、実際に写真に含まれるQR コード群を比較する。

中に保存されている折る前のQR コードの位置を比較することで行えます。

4. 両者に含まれるQR コードの数が多い折り方を正しい折り方として採用する。

込むことができました。

ところで、実は図10のような、ちょうど半分に折る折り方が行われた場合、片側の面のQR コードしか写真に写らない
図8■

折り線位置の推定

折り方の推定ので、折り線の位置を推定できないという問題があります。
この問題に対処する

図11 折紙の写真（左）とコンピュータが解析して再現した折紙の形ために、もし折り線の位置がうまく見つからなかったら、たぶん半分に折られたの先ほどの方法で折り線の位置が求まっても、折り方は一意に決まりません。
まだろう、という推測を行って、やはり先ほどの「可視コード群比較法」を使って折りず、山折と谷折を区別する必要があります。
また、図9 の（1）と（2）のように、複数の方を決定するようにしました。

紙が重なっている場合、折り線の位置が同じでも複数の折り方が存在します。

図9

同じ折り線での異なる折り方

図10

折り線の位置が求まらないケース

結果■

図12 折紙の写真（左）とコンピュータが解析して再現した折紙の形（右）

そこで、「可視コード群比較法」と命名

ここで考案した方法を、実際にパソコンに組み込んで実験した結果を示しまする次の手順を用いて、最も妥当と思われる折り方を決定することにしました。

す。図11 は2 回の折り操作を行った様子です。図12 は「セミ」を折った様子で「可視コード群比較法」

す。セミは全部で9 回の折り操作が必要ですが、紙幅の都合で途中を省略してタに関する研究を2 つ紹介しました。私は折紙についてはそれほど詳しくないの

1. コンピュータ内のモデルに対して可能な折り方を全て試行する。

います。
この図からわかるように、デジタルカメラで撮影した折紙を解析することで、もしかしたらおかしなことをしているかもしれません。皆様から様々なご意見

2. それぞれの折り方を行ったときに外部で、コンピュータの中に折紙の形を取りやご指摘をいただけましたら幸いです。

13

■

おわりに

ここでは私が行った折紙とコンピュー