WISS2007

あみぐるみのための 3 次元モデリングと製作支援インタフェース
3D Modeling for Knitted Animal with Production Assistant Interface

森 悠紀

五十嵐健夫

鈴木 宏正∗

概要. “あみぐるみ” は毛糸を使って作るぬいぐるみであるが，毛糸の編み方によって形状をデザインしていくため，初心者にはデザインすることが困難である．我々は 3 次元モデリングプロセスにインタラク
ティブな物理シミュレーションを組み合わせることであみぐるみを効率的にデザインできるモデラーを作成した．本システムは自動で編み目を計算してあみぐるみモデルをシミュレーション結果として提示するため，初心者にでも直感的にデザインでき，編み図も容易に得ることができる．また，初めてあみぐるみに挑戦する初心者でも作成手順を容易に理解できるようにするために，製作手順を視覚的に提示する製作支援インタフェースも備えた．あみぐるみ初心者でも容易にオリジナルなあみぐるみを作成できることを確認したので報告する．

1

はじめに毛糸とかぎ針を使ってぬいぐるみを作る “あみぐるみ” は日本に存在する重要な文化である．あみぐるみは毛糸を筒状に編んでいき，綿を詰めることでできあがる．このため，できあがりの形状を想像しながら編み図をデザインすることが難しく，編み物に長けた人が試行錯誤によって作成した編み図を利用していることがほとんどである．最近ではあみぐるみを自らデザインできる人は限られており，セーターなどの棒針編みに比べると、廃れてきてしまっている．
そこで我々は 3 次元モデリングプロセスにインタラクティブな毛糸のシミュレーションを組み合わせることであみぐるみを効率的にデザインできるモデラーを作成した．本システムは自動で編み目を計算してあみぐるみモデルをシミュレーション結果として提示するため，初心者にでも直感的にデザインでき，自動で編み図も得ることができる．また，初めてあみぐるみに挑戦する初心者でも作成手順を容易に理解できるようにするために，製作手順を視覚的に提示する製作支援インタフェースも備えた．これ
によりあみぐるみ製作初心者にも容易にオリジナルなあみぐるみを作成できることを確認したので報告する．
本論文は以下のように構成されている． まず， 次章で関連研究について言及し，3 章でモデリング時のユーザインタフェースについて紹介する．4 章で実際にあみぐるみを作成する際の支援となるインタフェースについて述べる．5 章であみぐるみモデルを構築するためのアルゴリズムを述べて， 6 章で実∗Copyright is held by the author(s).
Yuki Mori, 東 京 大 学 大 学 院 工 学 系 研 究 科, Takeo
Igarashi, 東京大学大学院情報理工学系研究科, Suzuki Hiromasa, 東京大学大学院工学系研究科

際に本システムを用いて作成したあみぐるみを紹介する．最後に 7 章で本論文をまとめ， 今後の課題にふれる．

2関連研究

近年，3 次元 CG をコンピュータの中で扱うだけでなく，手にとって楽しめる作品にするための研究が盛んである．ペーパークラフトのための展開図を作成する研究 [1][2] や，ぬいぐるみのための型紙を作成する研究 [3][4] が行われている．森らは 3 次元モデリングプロセスに物理シミュレーションを並行して行うことでぬいぐるみモデルをデザインし，素人でも簡単にオリジナルなぬいぐるみを作成することができるシステムを提案している [5]．本研究では，我々は対象を毛糸に変えることで 3 次元モデルを構築するアルゴリズムも変更した．また製作支援インタフェースを備えることで製作手順を容易に理解できるようになった．

3

3 次元あみぐるみモデルデザインのためのユーザインタフェース

本システムの概要を図 1 に示す．本システムは図2 のように 3 次元モデリング画面と 2 次元編み図生成画面から成る．編み図とはあみぐるみを作成するためのパターン図のことで，円状に編み目の記号を並べることで表現される．ユーザはマウスやペンタブレットなどを使ってキャンバスにあみぐるみの概形を描く．システムは入力されたストロークを元に自動で編み図を計算し，その編み図を元に編み上げた 3 次元形状を物理シミュレーション結果として提示する．本章ではユーザに提供されているモデリング操作を順に説明する．本システムはモデリングの初心者をターゲットユーザとするため，モデリングWISS 2007(a) スケッチ入力(b) 自動生成されるあみぐるみモデルと編み図(c) あみぐるみ

図 1. 本システムの概要．(a) ユーザはスケッチインタフェースを用いてあみぐるみモデルをデザインする．(b) システム
は編み図とその編み図を元に構成できる 3 次元モデルを提示する．(c) システムが提示した編み図を元に実際に編んだ “あみぐるみ”．の知識や経験がなくとも簡単に 3 次元をモデリングできる Teddy [6] のユーザインタフェースを利用している．

図 3. モデルの新規生成

図 2. システムのキャプチャ画面
図 4. 図 3 で生成した編み図を実際に編んで針金を入れた例

新規生成
図 3 のように，キャンバスに作りたいモデルの外形を描くことで新しいモデルと対応する編み図が生成される．歪んだ形状はシミュレーションを行うことで変形するため，形状をたもったモデルを作るた
めには内部に針金を入れるなどの工夫をすることが必要となる (図 4)．編むだけで形状を再現できるような編み図を作成することが将来課題の 1 つである．
また新規生成では，1 本の中心線を抽出してモデル化するため，中心線が分岐するような形状を描いた
ときには期待するものと異なる 3 次元形状が構築される．このような形状をデザインしたい際には突起生成を利用してパーツを追加すると良い．
突起生成
突起の外形を描くと新たに突起が生成される (図5)．ユーザが新規モデルを生成した後は、入力ストロークの始点および終点がモデル上に乗っている場
合は突起生成とみなす．
平らなパーツFlat モードに切り替えて外形を描くと、平らなものをデザインすることが可能となる (図 6)．サルの耳や鳥の羽のようなものをデザインする際に便利である．
色塗りそれぞれの毛糸の目の色を変えることによって色が変形したデザインもできる (図 7)．カラーパレットから色を選び、モデルに直接塗ることでどの編み目を何色で編めば良いかを編み目パターンへ提示する．

3D Modeling for Knitted Animal with Production Assistant Interface

図 5. 突起生成

図 8. 製作支援インタフェース
図 6. 平らなパーツの例

4

あみぐるみ製作支援インタフェース

あみぐるみをデザインし終わったら、製作支援ボ
タンを押すことでモードが切り替わり、どのような手順で製作していけば良いかを示したインタフェー
スが提供されている (図 8)．
ユーザは使用する毛糸の太さ (極太，太，普通，細)，使用するかぎ針の号数 (5〜10 号) を入力する
ことで目数を再計算して提示する．(デフォルトでは毛糸の太さ：普通，かぎ針の号数：7 号が指定されている．) 目数の再計算が終了したら，製作時間の目安時間と，毛糸の色ごとに何玉必要かなどの情報が提示される．ユーザによって製作時間は異なるため，絶対的な指標には使えないが，どちらのあみぐるみのほうがより簡単かなどを比べる際の相対的な指標には大いに役立つ．
本インタフェースでは、ユーザは 1 段編むごとに上下キーを用いて編み進めていけば良い．それぞれの目がどのような編み方かわからなくなったときには編み図の上で右クリックすることで対応する目の編み方のイラストが出現する (図 9)．

図 9. 編み目の上で右クリックするとその目の編み方を提示

5

本システムは Java 言語を用いて実装した．展開
アルゴリズム， シミュレーションともに家庭などで広く使われている一般の PC 上でリアルタイムに稼動する．
あみぐるみは軸を中心に 1 段ごと円状に編んでいくことを前提としているため，3 次元モデルの形状表現には sweep based model[7][8] あるいは，generalized cylinder[9] に似た表現を用いている．毛糸をかぎ針で編む編み方は多数存在するが，ターゲッ
トユーザが初心者ということで普通目，増やし目，減らし目の 3 つに限定した．

5.1

図 7. 色塗りの例

アルゴリズム

新規生成アルゴリズム

ユーザの入力したストロークを元にあみぐるみモデルを構築するアルゴリズムを述べる．まず，ユーザが交差のないストロークを入力する (図 10 a) と始点と終点を結び閉じた形状を作成する (図 10 b)．
ドロネー三角形分割を用いて分割し， 得られた三角形を，2 本のエッジが外周にある三角形 (terminalWISS 2007triangle)，1 本のエッジが外周にある三角形 (sleevetriangle)，エッジすべてが外周にない三角形 (junction triangle) の 3 つに分類する [6] (図 10 c)．その後，内部にあるエッジの中点を結び chordal axis を抽出する (図 10 d)[10]．あみぐるみでは中心軸を 1本にしなくてはならないので terminal triangle から terminal triangle へのパスをそれぞれ総当りで調べて，一番長いパスを中心軸として抽出する (図10 e)．中心線が分岐するような形状を描いたときには期待するものと異なる 3 次元形状が構築される．
このような形状をデザインしたい際には突起生成を利用してパーツを追加して作ることとする．て物理シミュレーションに使用するエッジか否かのフラグを持たせておく．平面 P0 と平面 Pn に関しては中心の頂点のみを持っているので、仮想的なエッジでつないでおく．

(a) 普通目(b)(d)(e)(c)

図 10. 中心線を 1 本求めるアルゴリズム．(a) 入力ス
トローク；(b) 初期 2D ポリゴン；(c) ドロネー三角形分割の結果；(d) chordal axis 抽出；(e) 最長の 1 本を抽出．

中心軸が抽出されたら、軸上に等間隔に頂点 (vi )を配置し、頂点 vi を通り、軸を法線に持つような平面 (Pi ) を貼る (図 11 a)．平面 Pi とユーザの入力したストロークの交差した 2 点の長さを Ri とした際，ri に比例する個数の頂点列を平面 Pi 上に中心が頂点 vi になるように円形に並べる (図 11 b)．

(c) 減らし目

図 12. 平面 Pi と Pi+1 上の頂点を結ぶ繋ぎ方．実線はシミュレーションに利用するエッジ，破線は仮想エッジ

5.2
(a)

(b) 増やし目

突起生成アルゴリズム

ユーザが新規モデルを生成した後は、入力ストロークの始点および終点がモデル上に乗っている場合は突起生成とみなす．ユーザがストロークを描くと、スクリーンからモデルに入力ストロークを投影して始点・終点の 2 点を計算する (図 13 a)．求まった2 点を通り，それらの中点の法線を法線とするような平面を貼る (図 13 b)．求まった平面上に始点終点を直径とするような円を描き、それをモデルに投影して頂点を求めることでベースとなる円を得る (図13 b)．次に、ユーザが入力したストロークに沿って、求まったベースとなる円を一定間隔でスイープさせることで突起を生成する (図 13 c)。前述の新規生成アルゴリズムと同様に各平面 Pi 上の頂点列を結び、メッシュを構成する。

(a)

(b)

(c)

図 13. 突起生成アルゴリズム．(a) スクリーンからモデルへ投影；(b) 平面を求めベースとなる円を求める；(c) スイープ状に面をはる．

(a)

(b)

(c)

図 11. 平面 Pi 上の頂点列と平面 Pi+1 との接続関係

次に，平面 Pi と、平面 Pi+1 上にある頂点列をつなぐ (図 11 c)．それぞれの頂点数を計算し，頂点数に差がある場合には、増やし目、減らし目の数が均等に割り振られるように図 12 のように頂点同士を接続する。頂点同士を接続する際、バネモデルとし5.3

物理シミュレーション

物理シミュレーションには安価な PC 上でリアルタイムな計算を実現するために，単純なバネモデルを用いている． 3 次元メッシュ構築の際に頂点は編み目と対応しており，接続するメッシュはエッジごとにシミュレーションに使うエッジか否かのフラグを持たせている．
まず，それぞれの頂点 vi に対して， 物体の内側から外側へ (法線方向へ) 膨らます力 fi をかけ，頂3D Modeling for Knitted Animal with Production Assistant Interface

点を移動させる (図 14 a)．ある程度ふくらんだら，膨らまし方向の力をなくし，シミュレーションに使用するフラグがたっているエッジ eij のみに対してバネモデルを用いてそれぞれのエッジの長さ lij (毛糸の張力) を調整する (図 14 b)． この 2 つのステップを 3 次元形状が収束するまで繰り返す．

(a)

その後，午後に 3 時間ほどかけて実際にあみぐるみを編んだ (図 17)．

(b)
図 16. ワークショップでのモデリング風景

図 14. シミュレーション

5.4

製作支援インタフェース

製作手順はモデルを作成したパーツの順番に作成していくこととする．編んだ部分に関してはテクスチャ表示，これから編む部分に関してはワイヤーフ
レーム表示を用いることでどこまで編んだかをわかりやすく可視化している．
製作時間の提示はユーザスタディの結果から、1目を編む平均時間を 4 秒，糸を変えるのにかかる時間を 55 秒と設定している．これは個人ごとに差が生じるため、自分の速さに応じて変更することも可能である．使用する毛糸の長さはそれぞれの色の目数と使用するかぎ針の号数に応じて求めている．

6結果

図 1 (c), 図 15 は本システムを利用して作成したあみぐるみである．このように素人でも手軽にあみぐるみをデザインし作成することができる．

図 17. ワークショップでのあみぐるみ製作風景

ワークショップに参加した子供たちはあみぐるみを初めて作る子供たちばかりであったが，「楽しかった」「わくわくした」といった意見が多く得られた．
また，「世界にひとつだけのあみぐるみができてうれしい」「コンピュータをこうやって使うのは面白い」といった意見もあった．反対に，「難しかった」「一度描いたあとに修正したい」などの意見もあったた
め，今後の課題としたい．

7

まとめと今後の課題
3 次元モデリングプロセスにインタラクティブな図 15. 本システムを用いて製作したあみぐるみたち

また，本システムの有効性を確かめるため，一般の子供たち (10〜14 才) とその親 10 組を対象にユーザスタディを行った．まず，午前中に 30 分モデリングの練習をしたのち，30〜60 分程度かけて自由にあみぐるみモデルのモデリングを行った (図 16)．

物理シミュレーションを組み合わせることであみぐるみを効率的にデザインできるモデラーを作成した．
本システムは自動で縫い目を計算してあみぐるみモデルをシミュレーション結果として提示するため，初心者にでも直感的にデザインでき，自動で編み図も得ることができる．また，初めてあみぐるみに挑戦する初心者でも作成手順を容易に理解できるようにするために，製作手順を視覚的に提示する製作支援インタフェースも備えた．
今後は編み始めてから大きさがずれてきたときにも対処できるようにサイズを途中で変更できるような機能を含めるなど初心者ならではの動作に応じたわかりやすいインタフェースを目指す．また現在は3 次元の構築に単純なバネモデルを用いているが，毛糸の素材によるシミュレーションの違いを表現し

WISS 2007

たい．
かぎ針では編みぐるみのほかに帽子やバッグ，テーブルクロス作りなどが盛んなのでこれらにも対応していきたい．また，あみぐるみを応用して 1 本のひもで作成できるモデルを構築していきたい．設計した編み図を元に全自動編み機で作品を制作することも検討中である．

謝辞
ユーザスタディを行うにあたってご協力いただいた日本科学未来館のスタッフに深く感謝いたします．

参考文献[1] J. Mitani, and H. Suzuki. Making papercraft toys
from meshes using strip-based approximate unfolding. ACM Transactions on Graphics (Proceedings of SIGGRAPH 2004), Vol. 23, No. 3,pp.259–63, 2004.
[2] I. Shatz, A. Tal, and G. Leifman. Paper craftmodels from meshes. The Visual Computer: International Journal of Computer Graphics (Proceedings of Pacific Graphics 2006) , Vol. 22,
No. 9, pp. 825–34, 2006.
[3] D. Julius, V. Kraevoy, and A. Sheffer. D-charts:
quasi developable mesh segmentation. Computer
Graphics Forum (Proceedings of Eurographics
2005), Vol. 24, No. 3, pp.981–90, 2005.
[4] Y. Mori, and T. Igarashi. Pillow: Interactive pattern design for stuffed animals. In DVD publication at SIGGRAPH 2006 Sketches, 2006.
[5] Y. Mori, and T. Igarashi. Plushie: An interactive
design system for plush toys. ACM Transactions
on Graphics (Proceedings of SIGGRAPH 2007) ,vol. 23, No. 3, Article No. 45, 2007.
[6] T. Igarashi, S. Matsuoka, and H. Tanaka. Teddy:
A sketching interface for 3d freeform design. In
Proceedings of ACM SIGGRAPH 1999, pp.409–16, 1999.
[7] D. -E. Hyun, S. -H. Yoon, M. -S. Kim, and B. Juttler. Modeling and deformation of arms and legs
based on ellipsoidal sweeping. Computer Graphics and Applications, pp.204–212, 2003.
[8] S. -H. Yoon, and M. -S. Kim. Sweep-based
freeform deformations. Computer Graphics Forum, 25(3): 487-496, September 2006(Eurographics).
[9] E. B. Saff, and A. B. J. Kuijlaars. Distributing
many points on a sphere. Springer-verlag newyork, volume 19, number 1, 1997.
[10] L. Prasad. Morphological analysis of shapes.
CNLS Newsletter, 139: pp.1–18, 1997.