3 次元モデルからのあみぐるみ生成
Knitting a 3D Model五十嵐 悠紀†Yuki IGARASHI†五十嵐 健夫‡

Takeo IGARASHI‡†*東京大学大学院工学系研究科

鈴木 宏正*
and

Hiromasa SUZUKI*†*Graduate School of Engineering, The University of Tokyo‡東京大学大学院情報理工学系研究科 / JST ERATO‡Graduate School of Information Science and Technology, The University of Tokyo / JST ERATO
E-mail: †yukim@acm.org,‡takeo@acm.org,* suzuki@den.rcast.u-tokyo.ac.jp(a) 3 次元サーフェスモデル (b) 3 次元あみぐるみモデル (c)自動生成された編み図(d) 実際に編んだあみぐるみ
図１：本システムは 3 次元モデルをあみぐるみにするための編み図を生成する．自動生成した編み図を元にシミュレーションを適用することで，あみぐるみ完成予想モデルをユーザに提示する．ユーザは生成された編み図を編むことで実世界にあみぐるみを作成できる．

概要

あ み ぐ る み (図 1(d))は 閉 じ た 面 の 内 部 に 綿 を 詰 め る ことで作られている．本論文では，3 次元サーフェスモ
デルからあみぐるみを作成するための編み図を生成するシステムを紹介する．編み図はどのように編んでいくかを記号化したものであるが，編み図をデザインすることは素人には難しく，スキルをもった専門家がデザ イ ン し て い る ．本 シ ス テ ム で は そ の 過 程 を 自 動 化 し ，
誰でも簡単に 3 次元モデルから編み図を生成することができる．本システムは３次元モデルへ等幅のストリップを巻きつけ，得られたストリップを等幅でサンプリングすることで，編み図へと変換する．編み図は通常用いられているフォーマットで出力され，誰でも簡
単に編み図からあみぐるみを作成できる．本システムを利用して作成したあみぐるみを紹介する．

ンに適用したシステムを紹介する．
毛糸とかぎ針を使ってぬいぐるみを作る“あみぐるみ”は日本に存在する重要な文化である．あみぐるみ
は毛糸を筒状に編んでいき，綿を詰めることでできあが る (図 1(c), (d))．あ み ぐ る み は 図 2 の よ う に 胴 体 ，頭 ，腕，脚など，いくつかの筒状のものや円と同相の部品から成り立っている．それぞれのパーツは，1 本の毛糸で編まれており，渦巻きの形状は，複数段の編み図で 表 現 さ れ る (図 1(c))． そ れ ぞ れ の 段 は 前 後 の 段 と 編
み目によってつながれており，基本的に四角形のセルの形状になっている．部分的に 1 つの編み目が次段の
2 つ の 編 み 目 と つ な が っ て い る「 増 や し 目 」や ，2 つ の編み目が次段の 1 つの編み目とつながっている「減らし 目 」 が あ る (図 3, 4)．

1. は じ め に
コ ン ピ ュ ー タ グ ラ フ ィ ッ ク ス (CG) は 物 理 的 な オ ブ
ジェクトをデザインするためのツールとしても発展して き た ． 伝 統 的 な CAD(Computer Aided Design)シ ス テ
ムは主に専門化のユーザに使われているが，非専門化の ユ ー ザ に と っ て 使 い や す い CG や ， イ ン タ ラ ク シ ョン技術を盛り込んだシステムの研究が近年盛んであり，
ペ ー パ ー ク ラ フ ト を デ ザ イ ン す る ツ ー ル [1, 2]や ，ぬ い
ぐ る み を デ ザ イ ン す る ツ ー ル [3, 4]な ど が 挙 げ ら れ る ．
本論文では，同様のアプローチをあみぐるみのデザイ

図２： あみぐるみの部品．筒状のものや、円と同相のものから成る．

グと物理シミュレーションを組み合わせることでオリ
ジナルなぬいぐるみをデザインするシステムである．
これらのシステムは 3 次元サーフェスモデルを 2 次元へと展開するものである．本論文では，あみぐるみ作
成のために，3 次元サーフェスモデルを 1 次元の小さな セ ル 列 と し て 表 現 す る こ と を 行 っ た ． Knitty [6] は対話的にオリジナルなあみぐるみをデザインするツー
図 3： 編 み 図 の 例 ． 左 図 は 円 状 の 編 み 図 で ， 右 図 は テ
キスト出力．X は普通目，V は増やし目，Λは減らし目を表す．

ルである．ユーザからのスケッチ入力を元に，システ
ムは 3 次元あみぐるみモデルと編み図を構築する．しかし，既存の 3 次元モデルから編み図を生成することはできない．
3 次元モデルから 1 次元セル列への変換というコン
セプトは，既存アルゴリズムでは我々のニーズにあうものは存在しない． 3 次元サーフェスモデルから三角形ストリップを生成するものはいくつか提案されてい図 4： 編 み 目 の 構 造 ． 緑 色 が 増 や し 目 ， 青 色 が 減 ら し音．その他が普通目．

る [7, 8]が ，こ れ ら は 等 幅 の ス ト リ ッ プ を 生 成 す る こ とはできない．本システムは四角形メッシュと少量の三角形メッシュを生成する．我々は 1 本のストリップが編み図は，欲しい形状をどのように編んだら良いかを示すものである．図 3 のように円状，もしくはテキスト出力で編み目の記号を用いてデザインされる．円状の編み図は内側から外側に向けて，1 段目，2 段目，… と な っ て お り ，ら せ ん 状 に 記 号 に 沿 っ て 編 ん で い く ．
できあがりの形状を想像しながらこの編み図をデザインすることは素人には難しく，編み物に長けた人が試
行錯誤によって作成した編み図を利用していることがほとんどである．本システムはこの工程を助けるものである．
本システムは 3 次元サーフェスモデルを入力として，
あみぐるみを作成するための編み図を生成する．シス
テムはまず，いくつかの閉じた部品に領域分割し，それぞれの領域に対して等幅のストリップで包むために，
等間隔で複数の等値線を計算する．次に，等間隔で等値線をリサンプリングして，メッシングすることで編
み目を生成する．最後に，生成された編み目を渦巻き状に並べることで標準フォーマットの編み図を生成す
る．ユーザはこの編み図をもとに実際に編むことであみぐるみを作成することができる．我々のシステムは入力モデルに物理シミュレーションを適用することであみぐるみの完成予想モデルもユーザに提示する．

2. 関 連 研 究
近 年 ，３ 次 元 CG を コ ン ピ ュ ー タ の 中 で 扱 う だ け でなく，手にとって楽しめる作品にするための研究が盛んである．ペーパークラフトのための展開図を作成す
る 研 究 [1][2]や ，ぬ い ぐ る み の た め の 型 紙 を 作 成 す る 研
究 [3][5]が 行 わ れ て い る ． Plushie [4]は 3 次 元 モ デ リ ン

必要であるが，既存の 3 次元サーフェスモデルから四角 形 メ ッ シ ュ を 生 成 す る 手 法 [9, 10, 11] は 1 本 の 等 幅の ス ト リ ッ プ を 生 成 す る こ と は で き な い ．
Sweep-based モ デ ル [12, 13] や ，generated cylinder [14]は我々のアプローチに似たものであるが，これらから等幅のストリップは生成できない．

3. ア ル ゴ リ ズ ム
本システムは閉じた 3 次元サーフェスモデルを入力と す る ． 我 々 は 通 常 の PC 上 で イ ン タ ラ ク テ ィ ブ な パ
フォーマンスを出すために荒いメッシュ(頂点数1000-3000)を 利 用 し て い る ．
３次元モデルからあみぐるみモデルにするためのア
ルゴリズムは図 5 に示すように，以下の 4 つのステップから成る：
1) 領 域 分 割 ： ま ず い く つ か の 閉 じ た 部 品 に 領 域 分 割
す る ． 本 シ ス テ ム で は 手 動 で 領 域 分 割 を 行 う (図5(b))．
2) Wrapping: 領 域 分 割 さ れ た そ れ ぞ れ の 領 域 に 対 して等幅のストリップで包むために，等間隔で複数の 等 値 線 を 計 算 す る (図 5 (c),(d) )．
3) リ サ ン プ リ ン グ と メ ッ シ ュ 生 成 ： そ れ ぞ れ の 領 域に計算された等値線を等間隔にリサンプリングすることで，四角形メッシュと少量の三角形メッシ
ュ に 分 割 す る (図 5 (e))．四 角 形 メ ッ シ ュ は 普 通 目 ，三角形メッシュは増やし目と減らし目を表す．
4) シ ミ ュ レ ー シ ョ ン と 編 み 図 生 成 ： シ ス テ ム は 求 まっ た 編 み 目 を 並 べ る こ と で 編 み 図 を 生 成 す る (図 5(f))．ま た ，シ ミ ュ レ ー シ ョ ン を 適 用 し ，あ み ぐ る
み 完 成 予 想 モ デ ル を 提 示 す る (図 5 (f))．

(a) 入 力 し た 3 次 元 サ ー フ ェ ス モ デ ル (b) 領 域 分 割(e) メ ッ シ ン グ(c) 等 値 線 の 計 算(d) 等 値 線 の リ サ ン プ リ ン グ(f) シ ミ ュ レ ー シ ョ ン と 編 み 図 生 成
図 5： シ ス テ ム の 概 要 ．

3.1 領 域 分 割
領域分割を自動で行う手法はいくつも提案されている[15, 16, 17]が ， い ず れ も 初 心 者 が 簡 単 に 編 む た め の 領
域分割には不向きである．また，初心者が編みぐるみ
を編む際には領域分割数は少ないほうが良く，少量の領域分割を行う際には手動で領域分割するほうが簡単
で早く行える．さらに，どのような領域分割線にする
かということがあみぐるみのデザインに大きく影響するため，本システムでは領域分割の過程は手動で行うこととし，初心者のユーザが簡単に領域分割できるよう，3 次元モデル上に分割線を描くだけで領域分割ができるユーザインタフェースを備えた．分割されたそ
れぞれの領域は円と同相もしくは，円に穴が開いた形状と同相であることを仮定する．球やドーナッツ形状と同相など，他の位相になっている領域があった際にはシステムは警告を提示する．我々はこの手動領域分割の過程を自動で行えるようなアルゴリズムを今後考
えたい．

3.2 ラッピング
本節の目的はそれぞれの領域を複数の等値線で等間隔に包むことである．我々のアプローチはまずシードとなる初期境界線を選び，距離場を計算することを繰り返すことで複数の等値線を等間隔に抽出する．
1 つの領域に対して，境界線が 1 つの場合，その境
界 線 を 初 期 境 界 線 と す る (図 7 上 段 )． 境 界 線 が 複 数 ある場合は，最長の境界線を初期境界線として，そのほか の 境 界 線 は ホ ー ル フ ィ リ ン グ を 適 用 す る (図 7 下 段 )．
ホールフィリングには穴の中央に頂点を生成し，穴の境界上の頂点と結んで面を貼ることで穴埋めを行うという簡単な手法を適用している．

図 6： 初 期 境 界 線 の 見 つ け 方 ． 領 域 が 1 つ の 領 域 分
割 線 を 持 っ て い た ら ， そ の 線 を 初 期 境 界 線 と す る (上段 )．領 域 が 複 数 の 領 域 分 割 線 を 持 っ て い た ら ，一 番 長
い領域分割線を初期境界線とし，他の領域分割線をホー ル フ ィ リ ン グ す る (下 段 )．
初期境界線を決定したら，それを最初の等値線として，そこから順に等値線を次々に計算していく．シス
テムはまず，等値線からの 3 次元モデル上のユークリ
ッ ド 距 離 場 を 計 算 し (図 7(b))， 求 め た い 幅 (r と す る )の
値 を ト レ ー ス す る (図 7(c))こ と で ， 次 の 等 値 線 を 得 る(図 7(d)．ト レ ー ス に は 単 純 な marching cubes (marching
triangles)法 [15] を 用 い て い る ． シ ス テ ム は こ の 過 程を領域内に新たな等値線が定義できなくなるまで繰り返す．
等値線が枝分かれをし，複数の閉じたループに分割
さ れ た 場 合 が あ る (図 8 (a))． こ の 場 合 に は ， シ ス テ ム
は最長のループを次の等値線として選択し，等値線の抽出を続ける．他のループに関しては新たな領域分割
線として別の領域として等値線を抽出する．実際に編む と き に は 別 々 の 領 域 と し て 編 み ， つ な げ る ． 図 8(b)が，最初にリサンプリングしておくことで，我々の試のような際には、最後の等値線の内部に中心軸を求めした例の中ではそのようなケースは現れなかった．

る ．最 後 に 求 め た 中 心 軸 が 短 い 場 合 (最 後 の 等 値 線 が 円

3.4 編 み図 生 成 とシミュレーションに 近 似 で き る 場 合 )は ， シ ス テ ム は 中 心 に 線 で は な く ，
頂 点 を 作 る (図 8(c))．

出来上がったメッシュは四角形メッシュと少量の三角形メッシュから成る．四角形メッシュは普通目を表し，三角形メッシュは増やし目，減らし目を表す．
シ ス テ ム は 図 10 の よ う に そ れ ぞ れ の 目 に テ ク ス チ ャを貼ることであみぐるみモデルを表示している．

(a)

(b)

(c)

(d)
(e)
図 7： ラ ッ ピ ン グ ア ル ゴ リ ズ ム ．(a) 前 等 値 線 ；(b) 距
離 場 を 計 算；(c) 次 の 等 値 線 を ト レ ー ス す る；(d) 求 ま
っ た 次 等 値 線 ； (e) 次 の 距 離 場 を 計 算 ．

図 10：そ れ ぞ れ の セ ル に テ ク ス チ ャ を 貼 る こ と で あみぐるみを表現する．
それぞれの段の編み目は閉じたループでつながっているため，2 次元の編み図に展開するために，始点を定めなければならない．システムは最初の段の始点をランダムに選択し，次段の始点は前段の終点に一番(a)(b)
図 8： 等 値 線 の 枝 分 か れ す る 例 ．

(c)

近い頂点を選択する．
円状の編み図やテキストスタイルの編み図では説明するための編み目の記号はたくさん存在するが，我々は初心者にもわかりやすくするために、図 3 のよう に 普 通 目 ，増 や し 目 ，減 ら し 目 の 3 つ だ け を 用 い た ．
編む際には中央から外側へ円状に編んでいく．我々のアルゴリズムは外側の境界線から始め，内側へ進んでいくものなので，編み図を生成する段階で頂点の向きを逆にする．
入力した 3 次元モデルはあみぐるみになることを考慮していない形状であるため，あみぐるみの出来上が

図 9： 等 値 線 と 等 値 線 の 間 の メ ッ シ ュ 構 築 ．

り形状は入力した 3 次元モデルとは必ず違いが生じる．
このため，表面だけで構築できたあみぐるみに綿を詰

3.3 リサンプリングとメッシング

めたシミュレーションを適用することであみぐるみの

ま ず 図 9(a)の よ う に そ れ ぞ れ の 等 値 線 を サ ン プ リ ン

完 成 予 想 モ デ ル を 提 示 す る (図 5(f))．汎 用 的 な PC で リ

グ す る ．サ ン プ リ ン グ の 間 隔 に は 等 値 線 の 間 隔 (r)を 用

アルタイムな対話シミュレーションを実現するため，いる．次に隣同士の頂点をつないでメッシュを生成す

シ ミ ュ レ ー シ ョ ン に は Plushie[4]の 手 法 を 用 い た ．

る ．等 値 線 同 士 の メ ッ シ ュ の つ な ぎ 方 は 以 下 に 述 べ る ．
システムはまずターゲットとなる等値線上の頂点

4. 結

果

から次の等値線上の頂点列の中で一番近い頂点とエッ

図 2(c)と 図 11 に 実 際 に 本 シ ス テ ム で 作 成 し た あ み ぐ

ジ を 結 ぶ (図 9(b))．次 に ，次 の 等 値 線 上 の 頂 点 か ら 前るみを示す．ユーザは 3 次元モデル上をペイントツの等値線上の頂点列の中で一番近い頂点とエッジを結ールを用いて色塗りをすることができ，システムはぶ (図 9(c))．こ れ ら の 和 を と る こ と で 隣 り 合 う 頂 点 同

自動的に編み図上の対応する編み目の色を変更す

士のエッジを生成し，メッシュが構築できる．単純なる．実際に編む際には，編み図上の編み目の色を参手法であるが，本論文の目的にあった理想的なメッシ

照 し な が ら ， 毛 糸 の 色 を 変 え る こ と で ， 図 12 の よュを構築することができる．等値線上の 1 つの頂点がうな途中で色の違うデザインを編むことが可能で次の等値線上の複数の頂点とつながることもありうるある．本システムはユーザがアップダウンキーを押すことで，現在編んでいる段を 3 次元モデル上と編

本手法は物理オブジェクトの物質の特性を生かしたみ図上にマーク表示することができる．また，編み効率的なデザイン手法を示したものである．今後は本図の編み目の上で右クリックをすることで，その編手法を皮細工や籐の家具作りなどに適用したい．

み目の編み方をイラストレーションで提示する．あ
みぐるみ製作時間と必要な毛糸の量も提示することができる．表 1 にそれぞれのモデルでの編み図生
成時間を示す．

図 13：詳 細 な 形 状 の 例 ．左 図 は バ ニ ー の 耳 の へ こ みが表現できている．右図は牛の前足の間接が綿を入れないで表現できている．

文

図 11： 本 シ ス テ ム を 使 用 し て 編 ん だ あ み ぐ る み ．

図 12：色 塗 り し た 例 ．モ デ ル 上 を ペ イ ン ト ツ ー ル で塗ると，編み図上にも色が反映する．実際に編む際に毛糸の色を変えて編む．

6. ま と め と 今 後 の 課 題
我々は 3 次元モデルから自動的に編み図を生成する
アルゴリズムを提案した．本システムはまずモデルのサーフェスに等幅のストリップを巻きつけ，等間隔で等値線を抽出していく．システムは求まったストリッ
プを等幅でサンプリングした後，編み目とする．最後にスタンダードフォーマットの編み図を生成し，ユー
ザはそれを使うことで実際にあみぐるみを作成することができる．
我々のアルゴリズムでは，編む段に垂直方向のサーフ ェ ス の 凸 凹 形 状 に 関 し て は ，図 13 の よ う に 増 や し 目と減らし目を用いて表現することができる．しかし，編む段に水平方向のサーフェスの凸凹形状は，それぞれの段の位相が円と同相なため，表現することができない．実際にあみぐるみを作る際に専門家のユーザは
凹形状はボディの内側へ糸ひっぱることで再現している．これらを解決するアルゴリズムを今後考えたい．

献[1] J. Mitani and H. Suzuki: Making Papercraft Toys
from Meshes using Strip-based Approximate
Unfolding, ACM Trans. Graphcis, vol.23, No.3,
pp.259-263 (2004)[2] I. Shatz, A. Tal, and G. Leifman. 2006. Paper craftmodels from meshes. The Visual Computer :International Journalof Computer
Graphics(Proceedings of Pacific Graphics 2006) vol.22, No.9,
pp.825–834.
[3] D. Julius, V.Kraevoy, and A. Sheffer. 2005.
D-charts:quasi developable mesh segmentation.
ComputerGraphics
Forum(ProceedingsofEurographics 2005), Vo.24, No.3, pp.981–990.
[4] Y. Mori and T. Igarashi. Plushie: An interactive
pattern design for plush toys. ACM Transactions on
Computer Graphics (ACM SIGGRAPH 2007), vol.23,
No.3, Article No.45, 2007.
[5] Y. Mori, T. Igarashi: Pillow: Interactive patterndesign for stuffed animals. In DVD publication at
SIGGRAPH 2006 Sketches (2006).
[6] Y. Igarashi, T. Igarashi, H. Suzuki: Knitty:3dmodeling of knitted animals with a production
assistant interface. In Eurographics 2008 Annex theConference Proceedings, pp.187-190, 2008.
[7] M. Gopi, D. Eppstein: Single-strip triangulation of
manifolds with arbitrar y topology. Computer
Graphics Forum (EUROGRAPHICS), vol.23, No.3,
2004.
[8] J. Mitani, H. Suzuki: Making papercraft toys frommeshes using strip-based approximate unfolding.
ACM Transactions on Graphics (Proceedings of
SIGGRAPH 2004) vol.23, no.3, pp.259–263, 2004.
[9] P. Alliez, D. Cohen-Steiner, O. Devillers, B. Levy,
M. Desbrun: Anisotropic pol ygonal remeshing. ACM
Transactions on Graphics (In Proceedings of
SIGGRAPH 2003) vol.22, no.3, pp.485–493, 2003.
[10] M. Marinov, L. Kobbelt: Direct anisotropic
quad-dominant remeshing. In Proceedings ofComputer Graphics and Applications (PG ’04) ,pp.207–216, 2004.
[11] S. Dong, S. Kircher, M. Garland: Harmonic
functions for quadrilateral remeshing of arbitrar y
manifolds. Computer Aided Geometry Design,
Special Issue on Geometry Processing vol.22, no.5,
pp.392–423, 2005.

表 1: 計 算 時 間 (RAM1.5GB, 1.1 GHz Pentium M.)
3 次元モデル

頂点数

領域分割数

Segmentation

Wrapping

Meshing

Simulation

House

527

9

0.10 sec

5.22 sec

0.42 sec

15.43 sec

Bunny

1039

6

0.12 sec

13.91 sec

0.60 sec

22.95 sec

teddy

1990

9

0.23 sec

7.76 sec

0.44 sec

6.71 sec

teapot527

40.09 sec

2.39 sec

0.37 sec

6.42 sec

cow

787

12

0.06 sec

6.11 sec

0.45 sec

17.01 sec

[12] D. E. Hyun, S. H. Yoon, M. S. Kim, B. Juttler :Modeling and deformation of arms and legs based on
ellipsoidal sweeping. In 11th Pacific Conference on
Computer Graphics and Applications (PG’03) ,2003.
[13] S. H. Yoon, M. S. Kim: Sweep-based freeform
deformations.
ComputerGraphics
Forum(Proceedings of Eurographics 06) vol.25, no.3,
pp.487–496, 2006.
[14] E. B. Shaff, A. B. J. Kuijlaars: Distributing man ypoints on a sphere. In Springer-verlag new york
19,1,1997．
[15] D. Julius, V. Kraevoy, A. Sheffer: Dcharts: quasi
developable mesh segmentation. Computer Graphics
Forum (Proceedings of Eurographics 2005), vol.24,
no.3, pp.981–990, 2005.
[16] J. M. Lien, N. M. Amato: Approximate convex
decomposition of polyhedra. Technical Report
TR06-2002, Texas A M University (2006).
[17] L. Lu, Y. K. Choi, W. Wang, M. S. Kim: Variational
3d shape segmentation for bounding volume
computation. Computer Graphics Forum, vol.26,
no.3, pp.329–338, 2007.