51
特集●インタラクティブシステムとソフトウェア

あみぐるみのための 3 次元モデリングと製作支援インタフェース
五十嵐 悠紀五十嵐 健夫

鈴木 宏正“あみぐるみ” は毛糸を使って作るぬいぐるみであるが，毛糸の編み方によって形状をデザインしていくため，初心者にはデザインすることが困難である．我々は 3 次元モデリングプロセスにインタラクティブな物理シミュレーショ
ンを組み合わせることであみぐるみを効率的にデザインできるモデラーを作成した．本システムは自動で編み目を計算してあみぐるみモデルをシミュレーション結果として提示するため，初心者にでも直感的にデザインでき，編み図も容易に得ることができる．また，初めてあみぐるみに挑戦する初心者でも作成手順を容易に理解できるようにするために，製作手順を視覚的に提示する製作支援インタフェースも備えた．あみぐるみ初心者でも容易にオリジナルな
あみぐるみを作成できることを確認したので報告する．
This is an interactive design system for creating knitted animals. The user designs a 3D surface model using
a sketching interface. The system automatically generates a knitting pattern and then visualizes the shapeof the resulting 3D animal model by applying a simple physics simulation. The user can see the resulting
shape before beginning the actual knitting. The system also provides a production assistant interface fornovices. The user can easily understand how to knit each stitch and what to do in each step. In a workshop
for novices, we observed that even children can design their own knitted animals using our system.

そこで我々は 3 次元モデリングプロセスにインタ

1 はじめにラクティブな毛糸のシミュレーションを組み合わせる

毛糸とかぎ針を使ってぬいぐるみを作る “あみぐることであみぐるみを効率的にデザインできるモデラー

み” は日本に存在する重要な文化である．あみぐるみを作成した．本システムは自動で編み目を計算してあは毛糸を筒状に編んでいき，綿を詰めることでできあ

みぐるみモデルをシミュレーション結果として提示すがる．このため，できあがりの形状を想像しながら編るため，初心者にでも直感的にデザインでき，自動でみ図をデザインすることが難しく，編み物に長けた人

編み図も得ることができる．また，初めてあみぐるみが試行錯誤によって作成した編み図を利用しているこに挑戦する初心者でも作成手順を容易に理解できるとがほとんどである．セーターなどの棒針編みに比べようにするために，製作手順を視覚的に提示する製作

ると，あみぐるみを自らデザインできる人は限られて支援インタフェースも備えた．これによりあみぐるみ

おり，そのため最近では廃れてきてしまっている．

製作初心者にも容易にオリジナルなあみぐるみを作

3D Modeling for Knitted Animal with Production Assistant Interface.
Yuki Igarashi∗ , Takeo Igarashi† , and Hiromasa
Suzuki∗ . ∗ 東京大学大学院工学系研究科, Dept. ofEngineering, The University of Tokyo., † 東京大学大学院情報理工学系研究科/JST ERATO, Dept. of Information Science and Technology, The Universityof Tokyo./JST ERATO
コンピュータソフトウェア, Vol.26, No.1 (2009), pp.51–58.
[研究論文] 2008 年 3 月 14 日受付.

成できることを確認したので報告する．
本論文は以下のように構成されている． まず， 次章で関連研究について言及し，3 章でモデリング時のユーザインタフェースについて紹介する．4 章で実際にあみぐるみを作成する際の支援となるインタフェー
スについて述べる．5 章であみぐるみモデルを構築するためのアルゴリズムを述べて， 6 章で実際に本システムを用いて作成したあみぐるみを紹介する．最後52

コンピュータソフトウェア(a) スケッチ入力
図1(b) 自動生成されるあみぐるみモデルと編み図(c) あみぐるみ

本システムの概要．(a) ユーザはスケッチインタフェースを用いてあみぐるみモデルをデザインする．(b) システム

は編み図とその編み図を元に構成できる 3 次元モデルを提示する．(c) システムが提示した編み図を元に実際に編んだあみ
ぐるみ．

に 7 章で考察をし，8 章で本論文をまとめ，今後の課状を物理シミュレーション結果として提示する．本章

題にふれる．

ではユーザに提供されているモデリング操作を順に説明する．本システムはモデリングの初心者をター

2 関連研究ゲットユーザとするため，モデリングの知識や経験が近年，3 次元 CG をコンピュータの中で扱うだけでなくとも簡単に 3 次元をモデリングできる Teddy [6]なく，手にとって楽しめる作品にするための研究が盛のユーザインタフェースを利用している．

んである．ペーパークラフトのための展開図を作成す
る研究 [1] [2] や，ぬいぐるみのための型紙を作成する
研究 [3] [4] が行われている．森らは 3 次元モデリング
プロセスに物理シミュレーションを並行して行うこと
でぬいぐるみモデルをデザインし，素人でも簡単にオリジナルなぬいぐるみを作成することができるシステ
ムを提案している [5]．本研究では，我々は対象を毛糸に変えることで 3 次元モデルを構築するアルゴリ

図2

システムのキャプチャ画面

ズムも変更した．また製作支援インタフェースを備え

3. 1 新規生成

ることで製作手順を容易に理解できるようになった．

図 3 のように，システムのキャンバスに作りたい

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

モデルの外形を描くことで新しいモデルと対応する編み図が生成される．形状はあみぐるみのもつ物理的な制約に合うようにシミュレーションで変形するた本システムの概要を図 1 に示す．本システムは図 2

め，形状をたもったモデルを作るためには内部に針金のように 3 次元モデリング画面と 2 次元編み図生成を入れるなどの工夫をすることが必要となる (図 4)．

画面から成る．編み図とはあみぐるみを作成するため編むだけで形状を再現できるような編み図を作成すのパターン図のことで，円状に編み目の記号を並べるることが将来課題の 1 つである．また新規生成では，ことで表現される．ユーザはマウスやペンタブレット

1 本の中心線を抽出してモデル化するため，中心線がなどを使ってキャンバスにあみぐるみの概形を描く．

分岐するような形状を描いたときには期待するもの

システムは入力されたストロークを元に自動で編みと異なる 3 次元形状が構築される．このような形状図を計算し，その編み図を元に編み上げた 3 次元形

Vol. 26 No. 1 Jan. 2009

53

図6
図3

図4

平らなパーツの例

モデルの新規生成

図7

図 3 で生成した編み図を実際に編んで針金を入れ
た例

色塗りの例

パレットから色を選び，モデルに直接塗ることでどの編み目を何色で編めば良いかを編み目パターンへ提示する．

4 あみぐるみ製作支援インタフェース
あみぐるみをデザインし終えたのち，製作支援ボタ
図5

突起生成

ンを押すことで，どのような手順で製作していけば良いかが示される製作支援モードに移ることができるをデザインしたい際には次節で述べる突起生成を利用してパーツを追加すると良い．

(図 8)．
あみぐるみの円状の各 1 段における編み目の数を目数というが，これはユーザーにとって重要な情報

3. 2 突起生成となる．ユーザが使用する毛糸の太さ (極太，太，普突起の外形を描くと新たに突起が生成される (図通，細)，使用するかぎ針の号数 (5〜10 号) を入力す

5)．ユーザが新規モデルを生成した後は，入力スト

ると，システムは目数を計算して提示する．(デフォ

ロークの始点および終点がモデル上に乗っている場合

ルトでは毛糸の太さ：普通，かぎ針の号数：7 号が指は突起生成とみなす．

定されている．) 目数の計算が終了したら，製作時間の目安時間と，毛糸の色ごとに何玉必要かなどの情3. 3 平らなパーツ報が提示される．ユーザによって製作時間は異なるた

サルの耳や鳥の羽のような部分では，平らなパーツ

め，絶対的な指標には使えないが，どちらのあみぐるが使われる．このようなパーツをデザインするには，

みのほうがより簡単かなどを比べる際の相対的な指Flat モードを用いる．このモードでは，入力された

標には大いに役立つ．

輪郭形状に対して，それを外形とする平らなパーツが生成される (図 6)．

本インタフェースでは，ユーザは 1 段編むごとに上下キーを用いて編み進めていけば良い．それぞれの目がどのような編み方かわからなくなったときには編み

3. 4 色塗り

図の上で右クリックすることで対応する目の編み方をそれぞれの毛糸のあみ目の色を指定することによっ説明したイラストが表示される (図 9)．

て色に変化をつけたデザインもできる (図 7)．カラー

54

コンピュータソフトウェア

2 本のエッジが外周にある三角形 (terminal triangle)，
1 本のエッジが外周にある三角形 (sleeve triangle)，
エッジすべてが外周にない三角形 (junction triangle)の 3 つに分類する [6] (図 10 c)．その後，内部にあるエッジの中点を結び chordal axis を抽出する (図 10d) [10]．あみぐるみでは中心軸を 1 本にしなくてはならないので terminal triangle から terminal triangle
へのパスをそれぞれ総当りで調べて，一番長いパスを
図8

中心軸として抽出する (図 10 e)．中心線が分岐する
製作支援インタフェースような形状を描いたときには期待するものと異なる 3次元形状が構築される．このような形状をデザインしたい際には突起生成を利用してパーツを追加して作ることとする．

図9

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

(a)

(b)

(d)

(e)

(c)

5 アルゴリズム本システムは Java 言語を用いて実装した．展開ア
ルゴリズム， シミュレーションともに家庭などで広く使われている一般の PC 上でリアルタイムに稼動
する．

図 10

中心線を 1 本求めるアルゴリズム．

あみぐるみは軸を中心に 1 段ごと円状に編んでいく
ことを前提としているため，3 次元モデルの形状表現

中心軸が抽出されたら，軸上に等間隔に頂点 (vi ) をには sweep based model [7] [8] あるいは，generalized

配置し，頂点 vi を通り，軸を法線 (vi+1 − vi )/|vi+1 −cylinder [9] に似た表現を用いている．毛糸をかぎ針

vi | に持つような平面 (Pi ) を貼る (図 11 a)．平面 Pi

で編む編み方は多数存在するが，ターゲットユーザがとユーザの入力したストロークの交差した 2 点の長

初心者ということで普通目，増やし目，減らし目の 3

さを ri とした際，ri に比例する個数の頂点列を平面つに限定した．

Pi 上に中心が頂点 vi になるように円形に並べる (図11 b)．

5. 1 新規生成アルゴリズム

次に，平面 Pi と，平面 Pi+1 上にある頂点列をつ

ユーザの入力したストロークを元にあみぐるみモデ

なぐ (図 11 c)．それぞれの頂点数を計算し，頂点数ルを構築するアルゴリズムを述べる．まず，ユーザがに差がある場合には，増やし目，減らし目の数が均等

交差のないストロークを入力する (図 10 a) と始点とに割り振られるように図 12 のように頂点同士を接続

終点をつなぎ, 閉じた形状を作成する (図 10 b)．ドロする．頂点同士を接続する際，バネモデルとして物理

ネー三角形分割を用いて分割し， 得られた三角形を，シミュレーションに使用するため，普通目，増やし目Vol. 26 No. 1 Jan. 2009

55

(a)

(b)
図 13

(a)
図 11

(b)

突起生成アルゴリズム．

(c)

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

(a)

(b)
図 14

(a) 普通目
図 12(c)(b) 増やし目

シミュレーション(c) 減らし目

平面 Pi と Pi+1 上の頂点を結ぶ繋ぎ方．破線は仮想エッジ

5. 3 物理シミュレーション
物理シミュレーションには，安価な PC 上でリアル
タイムな計算を実現するために単純なバネモデルをに関しても仮想的なエッジを導入し，三角形メッシュ用いている．3 次元メッシュ構築の際に頂点は編み目モデルとして構築しておく．平面 P0 と平面 Pn に関と対応している．

しては中心の頂点のみを持っているので，仮想的なエッジでつないでおく．

まず，それぞれの頂点 vi に対して， 物体の内側から外側へ (法線方向へ) 膨らます力 fi を与え，頂点を移動させる (図 14 a)．頂点の変位が閾値以上にまで

5. 2 突起生成アルゴリズム

膨らんだら，膨らまし方向の力をなくし，エッジ eij

ユーザが新規モデルを生成した後は，入力ストローに対して毛糸の長さを設定し，バネモデルを用いてクの始点および終点がモデル上に乗っている場合は突それぞれのエッジの長さ lij (毛糸の張力) を調整する

起生成とみなす．ユーザがストロークを描くと，スク(図 14 b)． この 2 つのステップを 3 次元形状が収束

リーンからモデルに入力ストロークを投影して始点・するまで繰り返す．

終点の 2 点を計算する (図 13 a)．求まった 2 点を通り，それらの中点の法線を法線とするような平面を貼

5. 4 製作支援インタフェースる (図 13 b)．求まった平面上に始点終点を直径とす

パーツを製作する順番は, モデルを作成した際の順るような円を描き，それをモデルに投影して頂点を番によるものとする．編んだ部分に関してはテクス求めることでベースとなる円を得る (図 13 b)．次に，

チャ表示，これから編む部分に関してはワイヤーフ

ユーザが入力したストロークに沿って，求まったベー

レーム表示を用いることでどこまで編んだかをわかスとなる円をスイープさせ，一定間隔で断面となる円

りやすく可視化している．

を作ることで突起を生成する (図 13 c)．前述の新規

また，本システムでは製作時間の提示も行ってい生成アルゴリズムと同様に各平面 Pi 上の頂点列を結る．全体の編み目数を Nstitch 目，1 目を編む時間をび，メッシュを構成する．

Wstitch , 色が変更される箇所の数を Nchange 回，糸を変えるのにかかる時間を Wchange とすると，製作
時間 T は以下の式で表される．

T = Wstitch Nstitch + Wchange Nchange

56

コンピュータソフトウェア

ここで，Wstitch と Wchange の値にはユーザスタディの結果 (表 1, 2) を用いた．表 1 の平均より，Wstitch
を 4.3 秒，表 2 の平均より Wchange を 55 秒と設定している．また，図 15 は，それぞれのユーザの編んだ目数に対するかかった時間をグラフで表したものである．統計的に論じるにはサンプル数が少ないが，図15 と表 1 より，編む速さには個人差があるが，1 人に着目した場合ほぼ線形であると考えられる．Wstitchと Wchange の値は個々に応じて変更することも可能

図 16

本システムを用いて製作したあみぐるみたちである．使用する毛糸の長さはそれぞれの色の目数と使用するかぎ針の号数に応じて求めている．
表1

ユーザ

編んだ目数とかかる時間

編んだ目数

時間

1 目あたりの
編む時間

User 1

10 目

52 秒

5.2 秒

User 2

16 目

65 秒

4.0 秒

User 3

16 目

70 秒

4.3 秒

User 4

11 目

41 秒

3.7 秒

表2

図 17

ワークショップでのモデリング風景

毛糸を変えるためにかかる時間

ユーザ

User 1

User 2User 3User 4

時間

80 秒

48 秒

50 秒

42 秒

図 18

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

子供たち (10〜14 才) とその親 10 組を対象にユーザ
スタディを行った†1 ．会場は日本科学未来館のワーク
ショップ用の部屋を利用し，対象者は同館主催のワー
クショップとして友の会会員からの公募で募集した．
参加者は参加費として 1,500 円を負担した．参加者
は，まず午前中に 30 分モデリングの練習をしたのち，
図 15編むためにかかる時間

30〜60 分程度かけて自由にあみぐるみモデルのモデリングを行った (図 17)．その後，午後に 3 時間ほどかけて実際にあみぐるみを編んだ (図 18)．

6 結果
図 1 (c), 図 16 は本システムを利用して作成したあみぐるみである．このように素人でも手軽にあみぐる
みをデザインし作成することができる．
また，本システムの有効性を確かめるため，一般のワークショップに参加した子供たちはあみぐるみを初めて作る子供たちばかりであったが，「楽しかった」†1 日本科学未来館 7 階交流サロン 友の会イベント「コンピュータを用いたあみぐるみ製作ワークショップ」
2007 年 9 月 22 日開催．

Vol. 26 No. 1 Jan. 200957

「わくわくした」といった意見が多く得られた．アン

個人差等によって同じ形状が作られるとは限らず，そケート結果を表 3 に示す．また，「世界にひとつだけのバラツキも大きいので，シミュレーションの精度をのあみぐるみができてうれしい」「コンピュータをこ闇雲に上げることも意味がない．ユーザースタディー

うやって使うのは面白い」といった意見もあった．反等を通じ，シミュレーション結果に対する大きな不満

対に，「難しかった」「一度描いたあとに修正したい」

は得られなかったことから，ユーザーがこれらのシス「円や直線が書ける機能が欲しい」などの意見もあっ

テムの特性を理解して使用することによって，シミュたため，今後の課題としたい．

レーションの精度の問題は回避できると考える．
現段階ではユーザへのフィードバックとして異なる

表3

ユーザスタディアンケート結果

形状の場合にもそのまま提示しているが，今後は針金

項目

使いやすい

普通

使いにくい

なしで曲がった形状が作れるような編み図を生成でシステム全体5人

4人

1人

きるようにアルゴリズムを改良していく予定である．

回転操作

9人

1人

0人

たとえば, 図 19(b) のように軸は 1 本であるが曲線的

突起生成

6人

4人

0人

である場合には，カーブの際，外側に相当する部分を

マウス操作

5人

5人

0人

太い幅 (2 段ないし 3 段) で，内側に相当する部分を細い幅で (1 段) で編むような編み図を自動で生成することで, 内部に針金を入れることなく曲がった形状のあみぐるみを編むことができると考えられる．手動

7 考察

でこのような編み図を作成するのは非常に困難であ本システムは，3 次元モデリングと物理シミュレー

るため，今までにないあみぐるみの形状を作り出せるションの融合により，モデリング時のユーザ入力は自可能性がある．

由にできる反面，システムは「あみぐるみに適したモ

また，複数の軸を持つ場合には，システムが自動でデル」しか作成することができない．よって，ユーザ判別して，主となる軸には本論文で記載した「新規生があみぐるみにならないような入力ストロークを描

成」を，枝となる軸部分には「突起生成」を分類していた場合，その入力ストロークから判断して 1 本の順に適用すればある程度は解決すると考えられる．

毛糸で作成できる範囲のモデルを返すこととなり，必ずしもユーザの意図を反映したモデルがモデリング
できるとは言えない．
本研究においてシミュレーションは，ユーザの入力に対して，あみぐるみの制約を付加するものであり，シミュレーションの結果は当然入力された形とは異なったものとなる．この差は，ユーザの入力が 1 本

(a)

(b)

の直線的な軸を持つ場合に最小となり (図 19(a))，反対に，軸が曲線的である場合には，無理やり伸ばした

図 19

入力ストロークとあみぐるみモデルの誤差ものにするので (図 19(b)) 大きくなる．これは，現実世界のあみぐるみ作成でも曲がったあみぐるみは作れないことから事情は同じである．

また，あみぐるみモデルと実際に製作したあみぐる
みとの定量的な類似度の評価は、あみぐるみの性質上

一方，シミュレーションの精度という観点考える

正確に行うことは困難である．図 1 に示したあみぐと，実際のあみぐるみに対して単純なバネモデルをるみモデルと実際に製作したあみぐるみのサイズの比用いているために精度が良いとはいえない．しかし，

較を表 4 に示す．比はそれぞれ頭を 1 としたときの手で作るあみぐるみにおいては，同じ編み図からでも他の体の部位を比率で表したものである．この結果よ58

コンピュータソフトウェア

り多少ずれはあるものの，比率はほぼ等しくできてい

かりやすいインタフェースを目指す．また, 現在は 3ると考える．この過程で考えられる誤差は，ユーザの次元の構築に単純なバネモデルを用いているが， 毛

技術力の差が大きく影響する．かぎ針で編む際にどの糸の素材による違いなども表現できるようシミュレーくらいの強さで毛糸を編んでいくか，また一定の力でション部分を強化して行く予定である．かぎ針では編編めるか，などによってできあがる編み目の形状は必

みぐるみのほかに帽子やバッグ，テーブルクロス作り

ずしも正方形に近い編み目になるとは限らず，そのよなどが盛んなのでこれらにも対応していきたい．

うな理由によって最終的な形状がシミュレーション結果と大きく異なることが多い．そのため, 現在の実装

謝辞

では正確なシミュレーション結果よりも，安価な PC

ワークショップを行うにあたってご協力いただいた

上でリアルタイムな計算を実現することを重視して

日本科学未来館のスタッフに深く感謝いたします．

いる．機械編みを利用することで製作段階での誤差が縮まることから，本システムによるアウトプットを機

参 考 文 献械編みへの入力とする実験も行いたいと考えている．

[ 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. Dcharts: 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 new york,
volume 19, number 1, 1997.
[10] L. Prasad. Morphological analysis of shapes.
CNLS Newsletter, 139: pp.1–18, 1997.

表4

あみぐるみモデルとあみぐるみのサイズ比較
モデル

頭

あみぐるみモデル(画面上の実寸 (参考)) 25mm
(比)
1
あみぐるみ
(実寸)
45mm
(比)
1

腕

足

座高

20mm
0.8

23mm
0.92

75mm
2.72

40mm
0.89

45mm
1

110mm
2.44

8 まとめと今後の課題
3 次元モデリングプロセスにインタラクティブな物
理シミュレーションを組み合わせることであみぐるみを効率的にデザインできるモデラーを作成した．本シ
ステムは自動で編み目を計算してあみぐるみモデルをシミュレーション結果として提示するため，初心者にでも直感的にデザインでき，自動で編み図も得ることができる．また，初めてあみぐるみに挑戦する初心者
でも作成手順を容易に理解できるようにするために，製作手順を視覚的に提示する製作支援インタフェースも提供している．本システムはシミュレーションとモ
デリングの融合を示す一つの実例としてデザインしており，その有用性が示せたと考える．
今後は編み始めてから大きさがずれてきたときにも対処できるようにサイズを途中で変更できるような機能を含めるなど, 初心者ならではの動作に応じたわ