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

鈴木 宏正††東京大学大学院工学系研究科 〒153-8904 東京都目黒区駒場 4-6-1‡東京大学大学院情報理工学系研究科 〒113-0033 東京都文京区本郷 7-3-1
E-mail:†{yuki, suzuki}@den.rcast.u-tokyo.ac.jp, ‡takeo@acm.org

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

Knitting a 3D Model
Yuki IGARASHI†

Takeo IGARASHI‡

and Hiromasa SUZUKI‡†Graduate School of Engineering, The University of Tokyo 4-6-1 Komaba, Meguro-ku, Tokyo, 153-8904 Japan‡Graduate School ofE-mail:Information Science and Technology, The University of Tokyo†{yuki, suzuki} @den.rcast.u-tokyo.ac.jp, ‡takeo@acm.org

Abstract A knitted animal is made of a closed surface consisting of several knitted patches knitted out of yarn and stuffedwith cotton (Fig. 1). We introduce a system to create a knitting pattern from a given 3D surface model (mainly designed forrotund animal models). A knitting pattern is an instructional diagram describing how to knit yarn to obtain a desired shape.
Since the creation of knitting patterns requires special skill, this is difficult for nonprofessionals. Our system automates theprocess and allows anyone to obtain his or her original knitting patterns from a 3D model. The system first covers the surfaceof the model with parallel winding strips of constant width. The system then samples the strip at constant intervals to convert it
into a knitting pattern. The result is presented in a standard visual format so that the user can easily refer it during actual
knitting. We show several examples of knitted animals created using the system.
Keyword Amigurumi (Knitted Animal), Interactive Design, Simulation, Craft

1. は じ め にみ”は日本に存在する重要な文化である．あみぐるみ

コ ン ピ ュ ー タ グ ラ フ ィ ッ ク ス (CG) は 物 理 的 な オ ブ

は毛糸を筒状に編んでいき，綿を詰めることでできあ

ジェクトをデザインするためのツールとしても発展しが る (図 1(c), (d))．あ み ぐ る み は 図 2 の よ う に 胴 体 ，頭 ，て き た ． 伝 統 的 な CAD(Computer Aided Design)シ ス テ

腕，脚など，いくつかの筒状のものや円と同相の部品

ムは主に専門化のユーザに使われているが，非専門化から成り立っている．それぞれのパーツは，1 本の毛の ユ ー ザ に と っ て 使 い や す い CG や ， イ ン タ ラ ク シ ョ

糸で編まれており，渦巻きの形状は，複数段の編み図ン技術を盛り込んだシステムの研究が近年盛んであり，で 表 現 さ れ る (図 1(c))． そ れ ぞ れ の 段 は 前 後 の 段 と 編

ペ ー パ ー ク ラ フ ト を デ ザ イ ン す る ツ ー ル [1, 2]や ，ぬ い

み目によってつながれており，基本的に四角形のセル

ぐ る み を デ ザ イ ン す る ツ ー ル [3, 4]な ど が 挙 げ ら れ る ．

の形状になっている．部分的に 1 つの編み目が次段の本論文では，同様のアプローチをあみぐるみのデザイ

2 つ の 編 み 目 と つ な が っ て い る「 増 や し 目 」や ，2 つ のンに適用したシステムを紹介する．

編み目が次段の 1 つの編み目とつながっている「減ら毛糸とかぎ針を使ってぬいぐるみを作る“あみぐるし 目 」 が あ る (図 3, 4)．

(a) 3 次 元 サ ー フ ェ ス モ デ ル (b) 3 次 元 あ み ぐ る み モ デ ル (c)自 動 生 成 さ れ た 編 み 図(d) 実 際 に 編 ん
だあみぐるみ図１：本システムは 3 次元モデルをあみぐるみにするための編み図を生成する．自動生成した編み図を元にシミュレーションを適用することで，あみぐるみ完成予想モデルをユーザに提示する．ユーザは生成された編み図を編むことで実世界にあみぐるみを作成できる．
ほとんどである．本システムはこの工程を助けるものである．
本システムは 3 次元サーフェスモデルを入力として，
あみぐるみを作成するための編み図を生成する．シス
テムはまず，いくつかの閉じた部品に領域分割し，それぞれの領域に対して等幅のストリップで包むために，
等間隔で複数の等値線を計算する．次に，等間隔で等
図２： あみぐるみの部品．筒状のものや、円と同相のものから成る．

値線をリサンプリングして，メッシングすることで編
み目を生成する．最後に，生成された編み目を渦巻き状に並べることで標準フォーマットの編み図を生成す
る．ユーザはこの編み図をもとに実際に編むことであみぐるみを作成することができる．我々のシステムは入力モデルに物理シミュレーションを適用することであみぐるみの完成予想モデルもユーザに提示する．

図 3： 編 み 図 の 例 ． 左 図 は 円 状 の 編 み 図 で ， 右 図 は テ
キスト出力．X は普通目，V は増やし目，Λは減らし目を表す．

2. 関 連 研 究
近 年 ，３ 次 元 CG を コ ン ピ ュ ー タ の 中 で 扱 う だ け でなく，手にとって楽しめる作品にするための研究が盛んである．ペーパークラフトのための展開図を作成す
る 研 究 [1][2]や ，ぬ い ぐ る み の た め の 型 紙 を 作 成 す る 研
究 [3][5]が 行 わ れ て い る ． Plushie [4]は 3 次 元 モ デ リ ン
グと物理シミュレーションを組み合わせることでオリ
ジナルなぬいぐるみをデザインするシステムである．
これらのシステムは 3 次元サーフェスモデルを 2 次元

図 4： 編 み 目 の 構 造 ． 緑 色 が 増 や し 目 ， 青 色 が 減 ら し音．その他が普通目．

へと展開するものである．本論文では，あみぐるみ作
成のために，3 次元サーフェスモデルを 1 次元の小さな セ ル 列 と し て 表 現 す る こ と を 行 っ た ． Knitty [6] は

編み図は，欲しい形状をどのように編んだら良いか

対話的にオリジナルなあみぐるみをデザインするツーを示すものである．図 3 のように円状，もしくはテキルである．ユーザからのスケッチ入力を元に，システ

スト出力で編み目の記号を用いてデザインされる．円

ムは 3 次元あみぐるみモデルと編み図を構築する．し状の編み図は内側から外側に向けて，1 段目，2 段目，かし，既存の 3 次元モデルから編み図を生成すること… と な っ て お り ，ら せ ん 状 に 記 号 に 沿 っ て 編 ん で い く ．

はできない．

できあがりの形状を想像しながらこの編み図をデザインすることは素人には難しく，編み物に長けた人が試
行錯誤によって作成した編み図を利用していることが(a) 入 力 し た 3 次 元 サ ー フ ェ ス モ デ ル (b) 領 域 分 割(e) メ ッ シ ン グ(c) 等 値 線 の 計 算(d) 等 値 線 の リ サ ン プ リ ン グ(f) シ ミ ュ レ ー シ ョ ン と 編 み 図 生 成
図 5： シ ス テ ム の 概 要 ．

3 次元モデルから 1 次元セル列への変換というコンて等幅のストリップで包むために，等間隔で複数セプトは，既存アルゴリズムでは我々のニーズにあうものは存在しない． 3 次元サーフェスモデルから三角の 等 値 線 を 計 算 す る (図 5 (c),(d) )．
3)

リサンプリングとメッシュ生成：それぞれの領域

形ストリップを生成するものはいくつか提案されていに計算された等値線を等間隔にリサンプリングする [7, 8]が ，こ れ ら は 等 幅 の ス ト リ ッ プ を 生 成 す る こ とることで，四角形メッシュと少量の三角形メッシはできない．本システムは四角形メッシュと少量の三ュ に 分 割 す る (図 5 (e))．四 角 形 メ ッ シ ュ は 普 通 目 ，角形メッシュを生成する．我々は 1 本のストリップが三角形メッシュは増やし目と減らし目を表す．

必要であるが，既存の 3 次元サーフェスモデルから四4)シミュレーションと編み図生成：システムは求ま

角 形 メ ッ シ ュ を 生 成 す る 手 法 [9, 10, 11] は 1 本 の 等 幅っ た 編 み 目 を 並 べ る こ と で 編 み 図 を 生 成 す る (図 5の ス ト リ ッ プ を 生 成 す る こ と は で き な い ．

(f))．ま た ，シ ミ ュ レ ー シ ョ ン を 適 用 し ，あ み ぐ る

Sweep-based モ デ ル [12, 13] や ，generated cylinder [14]み 完 成 予 想 モ デ ル を 提 示 す る (図 5 (f))．

は我々のアプローチに似たものであるが，これらから等幅のストリップは生成できない．

3.1. 領 域 分 割

3. ア ル ゴ リ ズ ム

る [15, 16, 17]が ， い ず れ も 初 心 者 が 簡 単 に 編 む た め の領域分割を自動で行う手法はいくつも提案されてい本システムは閉じた 3 次元サーフェスモデルを入力

領域分割には不向きである．また，初心者が編みぐると す る ． 我 々 は 通 常 の PC 上 で イ ン タ ラ ク テ ィ ブ な パ

みを編む際には領域分割数は少ないほうが良く，少量

フォーマン スを出すた めに荒いメ ッシュ(頂点数の領域分割を行う際には手動で領域分割するほうが簡1000-3000)を 利 用 し て い る ．

単で早く行える．さらに，どのような領域分割線にす

３次元モデルからあみぐるみモデルにするためのアるかということがあみぐるみのデザインに大きく影響

ルゴリズムは図 5 に示すように，以下の 4 つのステッするため，本システムでは領域分割の過程は手動で行プから成る：

うこととし，初心者のユーザが簡単に領域分割できる

1)2)

領域分割：まずいくつかの閉じた部品に領域分割

よう，3 次元モデル上に分割線を描くだけで領域分割

す る ． 本 シ ス テ ム で は 手 動 で 領 域 分 割 を 行 う (図ができるユーザインタフェースを備えた．分割された

5(b))．

それぞれの領域は円と同相もしくは，円に穴が開いた

Wrapping: 領 域 分 割 さ れ た そ れ ぞ れ の 領 域 に 対 し形状と同相であることを仮定する．球やドーナッツ形

状と同相など，他の位相になっている領域があった際

頂 点 を 作 る (図 8(c))．

にはシステムは警告を提示する．我々はこの手動領域
分割の過程を自動で行えるようなアルゴリズムを今後考えたい．

3.2. ラッピング

(a)

(b)

(d)

(e)

(c)

本節の目的はそれぞれの領域を複数の等値線で等間隔に包むことである．我々のアプローチはまずシードとなる初期境界線を選び，距離場を計算することを繰
り返すことで複数の等値線を等間隔に抽出する．
1 つの領域に対して，境界線が 1 つの場合，その境界
線 を 初 期 境 界 線 と す る (図 7 上 段 )． 境 界 線 が 複 数 あ る
場合は，最長の境界線を初期境界線として，そのほか

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

の 境 界 線 は ホ ー ル フ ィ リ ン グ を 適 用 す る (図 7 下 段 )．
ホールフィリングには穴の中央に頂点を生成し，穴の境界上の頂点と結んで面を貼ることで穴埋めを行うという簡単な手法を適用している．
(a)

(b)

(c)

図 8： 等 値 線 の 枝 分 か れ す る 例 ．

図 6： 初 期 境 界 線 の 見 つ け 方 ． 領 域 が 1 つ の 領 域 分
割 線 を 持 っ て い た ら ， そ の 線 を 初 期 境 界 線 と す る (上段 )．領 域 が 複 数 の 領 域 分 割 線 を 持 っ て い た ら ，一 番 長
い領域分割線を初期境界線とし，他の領域分割線をホー ル フ ィ リ ン グ す る (下 段 )．
初期境界線を決定したら，それを最初の等値線として，そこから順に等値線を次々に計算していく．シス
テムはまず，等値線からの 3 次元モデル上のユークリ
ッ ド 距 離 場 を 計 算 し (図 7(b))， 求 め た い 幅 (r と す る )の

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

3.3. リサンプリングとメッシング
ま ず 図 9(a)の よ う に そ れ ぞ れ の 等 値 線 を サ ン プ リ ン
グ す る ．サ ン プ リ ン グ の 間 隔 に は 等 値 線 の 間 隔 (r)を 用
いる．次に隣同士の頂点をつないでメッシュを生成す

値 を ト レ ー ス す る (図 7(c))こ と で ， 次 の 等 値 線 を 得 るる ．等 値 線 同 士 の メ ッ シ ュ の つ な ぎ 方 は 以 下 に 述 べ る ．

(図 7(d)．ト レ ー ス に は 単 純 な marching cubes (marching

システムはまずターゲットとなる等値線上の頂点から

triangles)法 [15] を 用 い て い る ． シ ス テ ム は こ の 過 程

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

を領域内に新たな等値線が定義できなくなるまで繰り返す．
等値線が枝分かれをし，複数の閉じたループに分割
さ れ た 場 合 が あ る (図 8 (a))． こ の 場 合 に は ， シ ス テ ム
は最長のループを次の等値線として選択し，等値線の抽出を続ける．他のループに関しては新たな領域分割
線として別の領域として等値線を抽出する．実際に編む と き に は 別 々 の 領 域 と し て 編 み ， つ な げ る ． 図 8(b)のような際には、最後の等値線の内部に中心軸を求める ．最 後 に 求 め た 中 心 軸 が 短 い 場 合 (最 後 の 等 値 線 が 円に 近 似 で き る 場 合 )は ， シ ス テ ム は 中 心 に 線 で は な く ，

結 ぶ (図 9(b))．次 に ，次 の 等 値 線 上 の 頂 点 か ら 前 の 等
値線上の頂点列の中で一番近い頂点とエッジを結ぶ(図 9(c))． こ れ ら の 和 を と る こ と で 隣 り 合 う 頂 点 同 士のエッジを生成し，メッシュが構築できる．単純な手法であるが，本論文の目的にあった理想的なメッシュを構築することができる．等値線上の 1 つの頂点が次の等値線上の複数の頂点とつながることもありうるが，最初にリサンプリングしておくことで，我々の試した例の中ではそのようなケースは現れなかった．

3.4. 編 み図 生 成 とシミュレーションをすることで，その編み目の編み方をイラストレーシ出来上がったメッシュは四角形メッシュと少量の三ョンで提示する．あみぐるみ製作時間と必要な毛糸の角形メッシュから成る．四角形メッシュは普通目を表

量も提示することができる．表 1 にそれぞれのモデル

し，三角形メッシュは増やし目，減らし目を表す．シ

での編み図生成時間を示す．

ス テ ム は 図 10 の よ う に そ れ ぞ れ の 目 に テ ク ス チ ャ を貼ることであみぐるみモデルを表示している．

図 10：そ れ ぞ れ の セ ル に テ ク ス チ ャ を 貼 る こ と で あ み
ぐるみを表現する．
それぞれの段の編み目は閉じたループでつながってい

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

るため，2 次元の編み図に展開するために，始点を定めなければならない．システムは最初の段の始点をランダムに選択し，次段の始点は前段の終点に一番近い頂点を選択する．
円状の編み図やテキストスタイルの編み図では説明するための編み目の記号はたくさん存在するが，我々は初心者にもわかりやすくするために、図 3 のように普通目，増やし目，減らし目の 3 つだけを用いた．編む
際には中央から外側へ円状に編んでいく．我々のアル

図 12：色 塗 り し た 例 ．モ デ ル 上 を ペ イ ン ト ツ ー ル でゴリズムは外側の境界線から始め，内側へ進んでいく

塗ると，編み図上にも色が反映する．実際に編む際にものなので，編み図を生成する段階で頂点の向きを逆

毛糸の色を変えて編む．

にする．
入力した 3 次元モデルはあみぐるみになることを考5. ま と め と 今 後 の 課 題

慮していない形状であるため，あみぐるみの出来上が

我々は 3 次元モデルから自動的に編み図を生成する

り形状は入力した 3 次元モデルとは必ず違いが生じる．

アルゴリズムを提案した．本システムはまずモデルの

このため，表面だけで構築できたあみぐるみに綿を詰

サーフェスに等幅のストリップを巻きつけ，等間隔でめたシミュレーションを適用することであみぐるみの等値線を抽出していく．システムは求まったストリッ

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

プを等幅でサンプリングした後，編み目とする．最後

アルタイムな対話シミュレーションを実現するため，にスタンダードフォーマットの編み図を生成し，ユー

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

ザはそれを使うことで実際にあみぐるみを作成することができる．

4. 結 果我々のアルゴリズムでは，編む段に垂直方向のサー図 2(c)と 図 11 に 実 際 に 本 シ ス テ ム で 作 成 し た あ み ぐ

フ ェ ス の 凸 凹 形 状 に 関 し て は ，図 13 の よ う に 増 や し 目

るみを示す．ユーザは 3 次元モデル上をペイントツーと減らし目を用いて表現することができる．しかし，

ルを用いて色塗りをすることができ，システムは自動

編む段に水平方向のサーフェスの凸凹形状は，それぞ的に編み図上の対応する編み目の色を変更する．実際

れの段の位相が円と同相なため，表現することができに 編 む 際 に は ，編 み 図 上 の 編 み 目 の 色 を 参 照 し な が ら ，ない．実際にあみぐるみを作る際に専門家のユーザは

毛 糸 の 色 を 変 え る こ と で ，図 12 の よ う な 途 中 で 色 の 違

凹形状はボディの内側へ糸ひっぱることで再現していうデザインを編むことが可能である．本システムはユる．これらを解決するアルゴリズムを今後考えたい．

ーザがアップダウンキーを押すことで，現在編んでい本手法は物理オブジェクトの物質の特性を生かしたる段を 3 次元モデル上と編み図上にマーク表示するこ

効率的なデザイン手法を示したものである．今後は本とができる．また，編み図の編み目の上で右クリック

手法を皮細工や籐の家具作りなどに適用したい．

表 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

図 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
JournalofComputerGraphics(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 arbitrary 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 polygonal 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 arbitrary
manifolds. Computer Aided Geometry Design,
Special Issue on Geometry Processing vol.22, no.5,
pp.392–423, 2005.
[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 many
points 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.