平成 25 年度 修士論文

VR 調理学習システムにおける部分球調理容器の動的姿勢変化による固体群あおり操作

GIB Toss Manipulation with Dynamic Motionof Partial Sphere Container for VR Cooking System

指導教員
舟橋

名古屋工業大学大学院

工学研究科

平成 24 年度入学

石原

情報工学専攻24417504 番

逸貴

健司

准教授

i

目次

第 1 章 はじめに

1

第 2 章 従来の固体群操作モデル

42.1

調理容器と固体群の形状表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42.2

固体群挙動の表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.2.1

曲面による固体群挙動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.2.2

多角柱調理容器における固体群挙動 . . . . . . . . . . . . . . . . . . . . . .

6

2.2.3

部分球調理容器における固体群挙動 . . . . . . . . . . . . . . . . . . . . . .

7

変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.3.1

半楕円柱変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.3.2

半楕円体変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.3.3

負の変形曲面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.4

固体群の崩れ表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.5

粒子による固体群の表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

2.5.1

存在確率に基づく粒子による固体群表現 . . . . . . . . . . . . . . . . . . .

14

2.5.2

容器外へのこぼれの表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

調理器具による固体群操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.3

2.6

第 3 章 固体群あおり操作

19

3.1

提案モデルの概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.2

固体群が容器から受ける力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.2.1

曲面上の物体が受ける影響の考察 . . . . . . . . . . . . . . . . . . . . . . .

19

3.2.2

部分球容器の並進が固体群に与える影響 . . . . . . . . . . . . . . . . . . .

21

3.2.3

部分球容器の回転が固体群に与える影響 . . . . . . . . . . . . . . . . . . .

23

部分球容器内の固体群挙動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.3.1

固体群挙動の判定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.3.2

固体群の滑り挙動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.3.3

固体群の舞い上がり挙動 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

3.3

ii

第 4 章 実験

28

4.1

実験システム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

4.2

実験結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

第 5 章 むすび

35

謝辞

36

参考文献

37

発表論文リスト

39

1

第1章

はじめに

バーチャルリアリティ(Virtual Reality，VR) とは「みかけや形は原物そのものではないが，本質的あるいは効果としては現実であり原物であるもの」を意味する [1]．VR 技術とは，人間の五感（主に視覚，聴覚，触覚）に対して，コンピュータによる情報を提示し刺激することで，現実と同等な仮想の空間や物体を作り上げる技術である．ＶＲの技術もしくはシステムにおいて，以下の重要な３つの要素が挙げられている．使用者が仮想の空間の中に没入していると感じさせる「臨場感」，使用者の動作によってリアルタイムにフィードバックが生じる「対話性」，仮想の空間が独立した法則に基づき存在する「自律性」である [2]．こうした要素を含んだ VR 技術を利用することで，人々は様々な恩恵を受けることができる．仮想環境の中で訓練を行うことで，実際に環境を用意するためのコストの削減や，反復練習の効率化による理解の支援，実際に行うと危険性を伴う作業に対する安全性の確保が可能となる．身近な例としては，自動車教習所において実際の車を運転する前に，コンピュータのモニタ上で自動車の運転，走行をシミュレーションするシステムがある．また，医療分野においては，手術の訓練を支援するシミュレーションのためのシステムが多く研究されている [3]．
これまで VR 環境をつくりだす装置やシステムは高価であったり大規模なものが多かったため，一般家庭への普及は難しかった．しかし，近年の技術進歩により，一般家庭でも導入可能な安価な VR システムやデバイスが普及してきている．例えば任天堂の製品である家庭用ビデオゲーム
機「Wii」[4] の入力装置である「Wii リモコン」は，それ自体をゲーム内の様々なものに見立て，振ったり傾けたりすることで直感的な操作を可能にしている．またこうした状況の中，一般家庭における家電機器の高度化に伴い，家庭向けの新たなサービスの創出が期待されている．スマー
トフォンなどの情報端末によるクラウドと家電を連携させ家事の支援を行う「スマート家電」や，調理の支援を目的としたシステムなどの研究 [5] が進んでいる．
ところで，料理（調理）は，誰もが行う身近な行為であるが，火や刃物などを扱うなど危険性が伴い，また繰り返し練習するためには環境・素材のコストが伴う．そのため料理の学習・訓練を目的としたシステムの要求が高まってきている．料理をテーマとしたシステムとしては，ゲーム分
野では株式会社スクウェア・エニックスより販売されているゲームソフト「クッキングママ」[6]シリーズがあり，料理を簡略化された表現の元体験し手順を覚えながら楽しむことができる．また，料理初学者に向けた，訓練を目的とした料理体験シミュレータ [7] に関する研究がある．このシステムは，センサを取り付けた調理容器上に仮想の食材をＣＧで表現し，その上で食材の焼き第 1 章 はじめに

2加減などの状態を視覚的に表示することで利用者の調理技術を向上させることを目的としている．
当研究室でも一般家庭へ向けたコンテンツとして料理をとりあげ，VR 調理学習システム「バーチャルお料理教室」の開発を行っている．この「バーチャルお料理教室」は，食材の準備，加工，調理，盛り付けといった一連の料理の手順を学習・訓練することを想定している．この料理手順の体験を通して，料理の重要な要素である「手際の良さ」を向上させることのできるコンテンツの作成を目指している．我々はこれまでに，「バーチャルお料理教室」における調理工程において，フライパンなどの調理容器により食材を扱うための操作モデルの研究を進めてきた．このシステ
ムにおける食材とは，ご飯や様々な食材片のような複数の小さな固体の集まりを想定している．小さな固体の集まりの挙動に関する研究は従来から行われており，たとえば溶岩 [8] や砂 [9] などを対象としたものがある．文献 [8] では，小さな固体ひとつひとつを粒子に近似して計算を行う粒子法を用いている．粒子法は厳密な挙動を再現することを目的としており，個々の粒子にかかる力
や粒子同士の干渉などをすべて計算しているため計算量が大きく対話操作に不向きである．複数の GPU を用いて数万個の粒子の衝突判定を実現している研究もあるが，現状では一般家庭で利用することは現実的ではない．文献 [9] では粒子法ではなくハイトフィールドに基づいたモデルであるが，局所的な計算を全領域に及ぶよう繰り返し行うため計算量が大きく，総合的なシステムへの適用は難しい．こうした研究は，映画などの対話操作を想定しないコンテンツにおいて臨場感向上に利用されている [10] が，ゲームなどの対話操作が必要なコンテンツには応用されていない．
こうした小さな固体の集まりの厳密な挙動を再現するモデルに対し，我々は一般家庭での利用を想定し，安価なシステムで自然らしい挙動を実現することを目的としたモデルを提案している[11]．小さな固体の集まりであり人が全体をまとまりとして認識するものを固体群と定義し，一つの操作対象として考える．その上で固体群全体に影響する力を大域的に考え，固体群の構成要素である固体一つ一つの干渉や変形を簡易的な挙動で表現することで，対話操作が可能な自然らしいと感じることができるモデルの研究を進めている.
我々の実験システムでは，操作者が固体群の入った容器を傾けたり振ったりすることで間接的に力を加えた時や，固体群を剛体で押したりすくい上げたりして直接的に力を加えた時に，固体群の形状を変化させ，移動や変形などの挙動を表現している [11][12]．これまでに一般的な調理容器としてフライパンのような多角柱形状の容器と，中華鍋のような部分球形状の容器を扱うモデルを提案している [13]．これらのモデルでは，容器形状および容器内固体群の形状をハイトフィー
ルドで表現している．ハイトフィールドとは，平面上に 2 次元正方格子を設定し，各格子における平面からの高さ情報により物体の表面形状を表現する手法である．また，固体群の高さの情報を各フレーム間で変化させることで，固体群の挙動を少ない計算時間で表現することができる．
部分球調理容器を扱う際の課題点として，容器底部が曲面であり容器内固体群の位置によって容器が固体群に与える力が異なるため，多角柱調理容器と同様に単純に計算することができないことが挙げられる．そのため従来の部分球調理容器を用いた固体群操作モデルでは固体群が部分

第 1 章 はじめに

3

球容器底部に押し上げられるような挙動は考慮しておらず，容器の傾けや容器形状から生じる静的な容器姿勢に対する重力のみが固体群挙動に影響することとしていた．しかし実際の中華鍋で行う炒め調理の風景において，容器を激しく振って食材を回し混ぜたり，空中に舞い上がらせた
りすることが考えられる．そこで本研究では，部分球容器が動的に姿勢や位置を変えることで内部の固体群に与える影響を考察し，その上で固体群の挙動を再考察する．それに伴い，容器を振り上げ容器内の具材を空中に舞い上げる「あおり操作」を可能とする固体群操作モデルを提案する．あおり操作とは食材を混ぜ合わせる，温度を調節する，水分を飛ばすなどの目的のために行われる行為である. 部分球容器では，固体群が容器底部から上方に押されるだけでなく，容器底部の曲面を滑り上がることで容器上部・外部に舞い上がると想定される．そのため，部分球容器の形状をふまえた上で，固体群が受ける影響を考える必要がある．また，容器外・上部に舞い上げられた固体群を部分的に粒子で表現することで，固体群あおり操作を実現する．
以下，第２章で従来の固体群操作モデルの概要を説明し，第３章で提案モデル，第４章で実験の手法と結果を述べる．

4

第2章

2.1

従来の固体群操作モデル

調理容器と固体群の形状表現

従来の固体群操作モデルでは複数の小さな固体の集まりである固体群を，人が一つのまとまりとして認識することに着目し，一つの操作対象物体として扱うことで計算時間を削減している．
具体的には，フライパンを想定した多角柱形状の調理容器（多角柱容器）を，多角形平面の底部と，高さ h の垂直な壁により構成し，その底部と同平面に二次元格子ハイトフィールドを定義する．そして固体群全体の形状，およびその変化としての挙動を各格子の値により表現している（図2.1）．平面格子状の座標を xy 平面とし，各格子座標の高さを h(x, y) と表すと，座標 (xi , yj ) の高さは h(xi , yj ) と表すことができる．また，座標 (xi , yj ) における格子の底面積を S(xi , yj )，体積をV (xi , yj ) とすると，
V (xi , yj ) = h(xi , yj )S(xi , yj )(2.1)

となる．したがって，固体群が存在する頂点の総数を N とし，調理容器 c に存在する固体群総体
積を Vc とすると以下のように表される．

Vc =

N
∑

V (xc , yc )(2.2)

また中華鍋を想定した部分球形状の調理容器（部分球容器）では，底部が平面でない容器において，底部に固体群ハイトフィールドを定義することは難しいため，容器形状を表現するための容図 2.1: 多角柱容器内の固体群表現

第 2 章 従来の固体群操作モデル

5

zs
ys

xs

図 2.2: 基準面上の部分球

器ハイトフィールドを導入する．これらは図 2.2 のように基準面上に定義する．部分球を含む球の半径を Rs とすると，三次元座標における球の関数の式は以下の通りである．

x2 + y 2 + (z − Rs )2 = Rs2(2.3)

これを高さ，つまり z について解くとz = Rs +√Rs2 − x2 − y 2(2.4)となる．つまり，座標 (xi , yj ) での容器底面高さ hs (xi , yj ) は以下のように決定される．

hs (xi , yj ) = Rs −√Rs2 − x2i − yj2(2.5)

また，格子 (xi , yj ) における基準面からの固体群の表面の高さは h(xi , yj ) + hs (xi , yj ) により求め
られる．

2.2

固体群挙動の表現

2.2.1

曲面による固体群挙動実験システムにおいて，使用者は調理容器を傾ける，左右に平行に振るといった操作によって固体群の形状変化を起こすことができる．この形状変化を固体群の挙動として考えることができる．また，底部が曲面である部分球容器においては，容器内に存在する固体群位置によっては，静止状態でも傾斜があるため，固体群が変形・移動することも考えられる．

第 2 章 従来の固体群操作モデル

１

6

２

３

増加

減少

時刻 t

変形曲面を適用

時刻 t + ∆t

図 2.3: 変形曲面による固体群変形の過程

具体的な固体群挙動の表現手法について説明する．図 2.3 は容器内に固体群が存在している様子を断面図として表している．まず図 2.3-1 のように時刻 t で固体群が存在している場合，重力によって容器底面にそって下方向に移動することが期待される．滑り落ちる様子を表現するため，図2.3-2 のような局所的に体積を増加する部分と，減少する部分をもつ曲面を考える．このときの図
2.3-2 の左の曲面を正の変形曲面，図 2.3-2 の右の曲面を負の変形曲面と呼ぶ．これらの正・負の曲面の高さを元の固体群高さに足し合わせることで，時刻 t + ∆t で固体群は想定した通り下方向に移動する．この単純な処理によって固体群の挙動を高速に計算することができる．しかし実際はこれらの変形曲面の形状はあらかじめ求めるのは困難である．特に，正の変形曲面に関しては，
容器形状によって形状が大きく異なることが想定される．そのため，実験システムでは簡易的な曲面形状を用い，処理を段階的に分けた代替の処理を行うことで実現する．

2.2.2

多角柱調理容器における固体群挙動

多角柱調理容器を扱うモデルでは図 2.4 のように，容器を傾けることと水平方向に振ることによる固体群挙動が実装されている. 図 2.3-1 と同様に傾けられた容器内に時刻 t で固体群が図 2.5-1のように存在している場合，図 2.5-2 のように容器内の 1 地点に存在する正の変形曲面を適用し体
積を局所的に加算する．その後，図 2.5-3 のような固体群全体を一定の比で減少させる負の変形曲面を適用することで固体群総体積の増加を抑制する．その結果時刻 t + ∆t で固体群は下方向に移動する．容器を角度 θ 傾けた時に固体群が受ける力 Fb は，固体群総体積 m，重力加速度 g により以下の式で求められる．

Fb = mg sin(θ)(2.6)

第 2 章 従来の固体群操作モデル

7

図 2.4: 多角柱調理容器における固体群挙動

2

1

3

4

時刻 t + ∆t

時刻 t

図 2.5: 多角柱調理容器の傾けによる挙動

また，調理容器が加速度 a で水平方向に移動したとき，固体群が容器から反作用を受け固体群は挙動を起こすと考えられる．このとき固体群が受ける力 Fb は

Fb = ma(2.7)となる. なお多角柱調理容器を扱うモデルにおいて，平面底部上の固体群に一様な力が加わると考え，正の変形曲面の形状は図 2.6 のような半楕円柱とする．容器の姿勢変化および移動により求められた力をもとに曲面のパラメータを適切で決定することで，自然な固体群挙動を表現している.

2.2.3

部分球調理容器における固体群挙動

部分球調理容器においては，容器を傾けたり振ったりしない（水平に静止している）状態でも，底部曲面に生じる重力の分力により固体群が挙動を起こすことが想定される．そのため，水平静

第 2 章 従来の固体群操作モデル8

図 2.6: 半楕円柱形状の変形曲面

2

1

3

時刻 t +

時刻 t∆t

図 2.7: 部分球調理容器における固体群挙動

止状態の容器内での固体群重心位置における底部の傾斜による固体群挙動への影響を考え，容器の傾けによる傾斜による影響とは別に計算することで部分球調理容器による挙動を決定する．また，曲面上では力が一様に定まらないため，多角柱容器のモデルにおける代替処理で用いる半楕
円柱形状の曲面では適切ではない．そこで，移動した固体群は部分球容器底部の一点に集まるような挙動をすると考え，半楕円体形状の変形曲面を用いる．多角柱調理容器における処理と同様に，段階的に分けた代替処理によって固体群挙動を決定する（図 2.7）.

2.3

変形曲面

2.3.1

半楕円柱変形曲面

多角柱容器を用いる際に扱う半楕円柱形状の変形曲面の各パラメータを図 2.8 のように定義する．

• 半楕円柱断面の楕円の長半径 a

第 2 章 従来の固体群操作モデル

9• 半楕円柱断面の楕円の短半径 b• 調理容器内での位置 oD• 3 次元空間上での向き LD• 楕円柱の長さ rD
なお，調理容器の底面に平行な半径 a を長半径，垂直な半径 b を短半径とする．まず，楕円柱の向きは固体群に働く外力と平行とする．こうすることでその力が働く方向へ滑り落ちる挙動を再現できる．楕円柱の位置は，固体群が重心に集まっていると仮定し，その重心を始点とし楕円柱の向きに平行移動させた位置に設定する．平行移動の距離は後述する楕円柱の長半径 a と比例する
ように設定する．固体群の重心はハイトフィールドの座標と各頂点高さによって求められる．固体群全体の体積を V ，xy 平面の (xi ，yj ) の座標 を mij ，その座標に位置する格子の高さを h(xi，yj )，固体群が存在する頂点の総数を N とする．固体群の重心座標 Gc = (xG , yG ) は

1 ∑h(xi , yj)mij
Gc =
V
N

(2.8)

と表される．容器を傾けたり，素早く横に振るなどの容器操作によって固体群が受ける力を外力

Fb とする．外力 Fb の x 成分を Fbx ，y 成分を Fby とすると，外力の xy 平面での角度 α は
α = arctan(

Fby
)
Fbx

(2.9)

となる．この角度 α により固体群が受ける力の方向 S は，

S = (cos(α), sin(α))(2.10)

である．半楕円柱の位置 oD は前述の固体群の重心 Gc と楕円の長半径 a，力の方向 S によって

oD = Gc + Sa

(2.11)と表すことができる．長半径 a 固体群の移動距離にも関係する変数である．つまり a = 0 のとき，変形曲面は存在しなくなり，固体群は移動しない．固体群は剛体とは違い，図 2.9 の様に容器の端に達しても，移動し続ける．よって固体群がある程度容器の端まで移動し終えるまで，a > 0 にする必要がある．そこで，a は容器の端に接している固体群の量に対して減少するように以下の様に設定する．部分球形状容器の側面から固体群に対する垂直抗力 |Fn | を，以下のように定義し近似的に求める．

(a=T1 − |Fn | (T1 ≥ |Fn | のとき)
0 (T1 < |Fn | のとき)

(2.12)

T1 は任意の定数である．長半径 a は固体群が容器の側面から受ける抗力を考慮に入れて定義され

第 2 章 従来の固体群操作モデル10

図 2.8: 半楕円柱変形曲面のパラメータ

図 2.9: 固体群の容器の端での動き
たパラメータであるが，固体群が受けた力や調理容器内に存在する固体群体積がパラメータの設定に大きく影響しない．よって，これらを補うために短半径 b を以下のように設定する．
(√(|Fb | − µ′ )T2 Vc (|Fb | ≥ µのとき)b=(2.13)
0 (|Fb | < µのとき)

T2 は任意の定数，µ は最大静止摩擦力，µ′ は動摩擦力，Vc は容器内に存在する固体群の体積を表すパラメータである．半楕円柱の姿勢は，楕円柱の芯となる直線 LD で定義される．LD は oD を通り，方向ベクトルが lD である直線とする．lD は以下の条件を満たす二次元ベクトルである．

Fb· lD = 0|Fb |(2.14)

楕円柱の長さ rD は，調理容器底面を構成する平面図形と直線 LD が交わってできる線分の長さに等しくなるように設定する．

第 2 章 従来の固体群操作モデル

11

b′

o′D

a′

図 2.10: 半楕円体変形曲面
変形曲面による加算は，対象の格子 (xi , yj ) の座標 mij と変形曲面の中心軸である直線 LD との
距離 lij が lij ≤ a となる格子に行う．直線 LD の式は xz 平面格子の中心を原点としたとき，sin(α)x − cos(α)y − sin(α)(xG + acos(α)) + cos(α)(yG + asin(α)) = 0(2.15)となる．A = sin(α)，B = cos(α)，C = −sin(α)(xG + acos(α)) + cos(α)(yG + asin(α)) とした
とき直線 LD と座標 (xi , yj ) の距離 lij は

lij =| Axi + Byj + C |√=| Axi + Byj + C |A2 + B 2(2.16)となる．変形曲面によって加算が行われた後のハイトフィールドの格子 (xi , yj )′ が持つ値は以下のように求める．

(√h(xi , yj )′ = h(xi , yj ) +)l
1 − ( aij )2h(xi , yj )2.3.2

b (lij ≤ a のとき)

(2.17)(lij > a のとき)

半楕円体変形曲面

部分球容器を用いる際に扱う半楕円体形状の変形曲面の各パラメータを図 2.10 のように定義する．ここで，楕円体の楕円の回転軸の半径を極半径，回転軸でない半径を赤道半径と呼ぶこととする．

• 半楕円体の赤道半径 a′• 半楕円体の極半径 b′

第 2 章 従来の固体群操作モデル

12• 調理容器内での位置 o′ D
まず赤道半径 a′ は体積によって変化させるため，以下の式を用いる．

a′ = T1′√

Vc(2.18)

T1′ は任意の定数，Vc は容器内に存在する固体群の体積を表すパラメータである．固体群体積を軸の計算に用いる際は従来手法どおり計算の簡略化のため平方根に定数をかけることで近似する．極半径 b′ には固体群にかかる力や容器内固体群の総体積，容器曲面から固体群が受ける摩擦力を影響させることとする．よって以下の式を用いる．

(
′

b =

√
(|Fd | − µ′ )T2′ Vc (|Fd | ≥ µのとき)0 (|Fd | < µのとき)(2.19)

T2′ は任意の定数，外力 Fd は容器操作による力 Fb と容器形状による力 Fc の合力，µ，µ′ は固体
群が容器から受ける最大静止摩擦力および動摩擦力である．Vc は容器内に存在する固体群の体積を表すパラメータである．半楕円体変形曲面の位置 o′ D は，従来通り固体群が重心に集まっていると仮定し，その重心から固体群が受ける力の向きに移動させた位置に設定する．固体群の位置

Gc と，外力 Fd を用いて，変形曲面生成位置 o′ D を表すと，o′ D = Gc + ν ′

Fd
|Fd |

(2.20)となる．式中の ν ′ は定数である．
ある座標 (xi ，yj ) での半楕円体変形曲面の高さ h(xi , yj )′ は，変形曲面の位置 o′ D から座標 (xi′ とすると，，yj ) までの距離を lij√h(xi , yj )′ = b′

1−(

′
lij

a′

)2

(2.21)′ ≤ a′ である．となる．ただし lij

2.3.3

負の変形曲面固体群操作モデルでは，ハイトフィールドで表現された固体群の形状を簡易的な形状の変形曲面で変化させることにより，固体群の挙動を表現する． 正の変形曲面をハイトフィールドの各格子の値に加算するだけでは固体群の体積は増加してしまう．そこで元の体積と等しくなるような負の変形曲面を適用し減算する．挙動の前後の固体群形状から負の変形曲面を求めるのは難しい
ため，各格子を同じ比で減少させることで固体群総体積を保存する. 減算後の格子 (xi , yj ) が持つ

第 2 章 従来の固体群操作モデル

1

13

2

3

時刻t

時刻‫ ݐ‬+ ∆‫ݐ‬

図 2.11: 変形曲面による崩れ挙動
値 h(xi , yj )′ は以下のように求める．

h(xi , yj )′ =Vch(xi , yj )′Vc′(2.22)

Vc′ は，変形曲面を加算した後の格子の値の総和であり，
Vc′ =

N
∑

h(xi , yj )′(2.23)のように求める． h(xi , yj )′ は，変形曲面を加算した後の格子 (xi , yj ) が持つ値である．このように処理を行う事で，簡易的に調理容器内の固体群体積を保存する．

2.4

固体群の崩れ表現

2.2 節で述べた変形曲面による固体群挙動は容器の姿勢変化や移動などにより容器内の固体群全体の挙動を表現するものであった．しかし，容器が水平に静止した状態でも固体群の積み重なり方によっては全体もしくは一部が崩れ挙動を起こすことが考えられる．そこで，固体群が崩れる
前後の形状を考慮した変形曲面による崩れ挙動を表現する．まず崩れが起こる可能性のある領域
候補を求め，安息角により崩れが及ぼす影響範囲を考えた後，実際に崩れが起こる領域およびその中心点を求める．その後図 2.11 のように，求められた中心点の周辺に変形曲面を適用すること
で局所的な崩れを計算する．変形曲面の形状は固体群の崩れの前後の概形をもとに，図 2.12 のよ
うな大小 2 つのガウス曲面の差分を拡大・縮小したものとしている. 崩れ挙動を変形曲面で決定するため，曲面のパラメータを変化させることにより固体群の積み重なり方による崩れの進行速度の違いも表現可能である.

第 2 章 従来の固体群操作モデル

14

差分

図 2.12: 崩れの変形曲面

2.5粒子による固体群の表現

2.5.1

存在確率に基づく粒子による固体群表現

固体群を部分的に処理速度を抑えた粒子で表現することで，変形曲面による固体群挙動の自然
らしさと固体群の「固体らしさ」を向上させている．容器内にハイトフィールドにより表現される
固体群と，各格子に確率的に存在する固体群粒子である「存在確率粒子」を表現する．この存在確率粒子というのは，各格子の高さ情報を元に粒子が存在する確率を求め，その確率に基づき粒子の描画を制御するものである．固体群の構成要素である個々の固体の大きさ（直径）を α とし,ある座標 (x，y) における高さ h(x, y) が α よりも小さいとき，その格子における存在確率 P (x, y)は以下の式で求める．

P (x, y) =h(x, y)α(2.24)

この確率に基づき乱数で粒子を描画することで，図 2.13 のように固体群の自然な移動過程を表現することができる．また固体群の表面上にも，各格子における固体群高さの変化により存在確率を求めることで固体群の固体らしさを表現している．

第 2 章 従来の固体群操作モデル15

図 2.13: 粒子による固体群の移動表現

2.5.2

容器外へのこぼれの表現

調理容器外の固体群を粒子により表現し，その粒子が重力によって落下していく様子を表現することで固体群のこぼれ挙動を実現している．まず，容器外へこぼれが発生する条件を定義する
ためにこぼれ境界を図 2.14 のように設定する．A 境界は容器を傾けた際に固体群がこぼれる高さの境界，B 境界はへらなどの調理器具によって押し出されることで固体群がこぼれる高さの境界である．固体群の高さのこれらのどちらかを越えた部分に対し，容器内固体群を自由落下のみを行う「自由落下粒子」に変換し，容器外の空間へ落とすことでこぼれの挙動を実現する．また，境界を越えた高さから容器外へのこぼれによって減少する固体群体積を求め，こぼれる前の容器内
固体群体積から補正をすることでこぼれた後の体積を求める．

2.6

調理器具による固体群操作

調理容器で内部の固体群全体を間接的な操作の他に，ヘラを想定した固体群操作部が長方形の調理器具で固体群を局所的に押し動かす，すくい上げるといった直接的な操作も可能である．調理器具（の固体群操作部）と固体群の干渉には，図 2.15 のような調理器具の移動軌跡により生成される３次元凸包を用いる．この凸包内に含まれる固体群を調理器具の前方に移動させることで，固体群挙動を完了する．固体群の移動を表現するために，凸包に含まれた固体群を減算し，固体
群操作部の前面に図 2.16 のような四分楕円柱形状の変形曲面を適用し，体積を加算する．四分楕
円柱形状の変形曲面の持つパラメータは以下の通りである．

• 四分楕円柱断面の楕円の長半径 a

第 2 章 従来の固体群操作モデル

16

図 2.14: 固体群のこぼれ境界• 四分楕円柱断面の楕円の短半径 b• 調理容器内での位置 oD• 短軸と長軸が直交する直線 LC• 3 次元空間上での位置 oC• 楕円柱の長さ c
空間上での位置 oc は調理器具の固体群操作面上のある基準点により決定する．楕円柱の高さ c
は固体群操作面の幅であり，任意の定数とする．長半径 a は固体群の移動速度 v と固体群操作面の法線 n，定数 T より以下のように決定する.

a = T |v · n|

(2.25)

変形曲面によって格子に加算する値は減算された体積の総和より求めるため，短半径 b は定数とする．直線 Lc は点 oC を通り，法線 n に平行とする．四分楕円柱を三次元空間上に生成する場合，四分楕円柱は三次元的な情報を保持するが，固体群を表現するハイトフィールドは平面である．凸′ と，格子 p = (x , y ) が，p ⊂ H ′包 Hch をハイトフィールドの平面に正射影した平面図形 Hch
ij
i j
ij
ch

第 2 章 従来の固体群操作モデル

17となるとき，変形曲面が容器内に存在するものとする．調理器具の移動軌跡との干渉によって減算した体積 V sub と同じ体積を持つ四分楕円柱を生成し，格子に値を加算する．しかし，固体群の形状は格子により表現しているため，離散化した値を用いるので，体積が保持されるとは限らない．そこで，減算した体積と正の変形曲面により加算する体積を同じにするため，格子に加算する値に対して修正を行う．正の変形曲面により格子の値を増加させる体積の総和を V add ，正の変
add とすると，
形曲面を加算する前の格子 (xi , yj ) の値 G(xi , yj )，四分楕円柱の各格子における値 vij

加算した後の値 G(xi , yj )′ はG(xi , yj )′ = G(xi , yj ) +V add addv
V sub ij

(2.26)となる．各格子の値を増減により移動の前後で固体群体積が保存されるため，調理器具に押されて移動する固体群の挙動が表現される．

第 2 章 従来の固体群操作モデル

18

図 2.15: 調理器具の移動軌跡による凸包

固体群操作面
௖
௖









図 2.16: 四分楕円柱変形曲面



19

第3章

3.1

固体群あおり操作

提案モデルの概要

当研究室で提案している固体群操作モデルでは，調理容器および容器内固体群の形状をハイト
フィールドで表現している．また，固体群の移動や変形を曲面を用いた形状変化によって少ない計算時間で実現している．容器に入った固体群の挙動に影響する力は，重力，容器が固体群を押す力，ヘラなどの剛体が固体群を押す力などが考えられる．多角柱調理容器を扱うモデルでは，容器の底部平面が固体群を一様な力で上方に押し上げ，空中に舞い上げるような操作を提案している [15]．しかし，部分球調理容器は底部が曲面であり容器内固体群の位置によって容器が固体群に与える力が一様でないため，多角柱容器と同様な手法での実現は難しい．このことから実験的に容器内の固体群挙動に及ぼす力は静的な容器姿勢および容器形状に対する重力のみとしていた．
つまり容器を静かに傾けることを想定しており，激しく上下に振るなどして底部が固体群を押すようなことは考慮していない．そこで本研究では，実際の調理において容器を激しく振り固体群を回し混ぜたり空中に舞い上げるような操作を実現することを目的とする．そのために容器の動的な位置や姿勢の変化による固体群に直接的に及ぼす力を再考察する．それに伴い，固体群が容器底部の曲面を滑り上がったり，押し上げられたりして空中に舞い上げられる挙動を起こす「あおり操作」を実現する．

3.2

固体群が容器から受ける力

3.2.1

曲面上の物体が受ける影響の考察

多角柱容器を扱うモデルでは，容器底部が平面であるため，固体群がその面上のどの位置（座標）に存在していても一様な力がかかると考えることができる．そして，その一様な力による固体群への影響を考えることで，容器内外の固体群挙動を計算してきた．しかし，部分球容器を扱うことを考えると，容器底部が曲面であるため，固体群の位置によって異なる力や影響が生じると考えられる．そこでまず，簡単な例を挙げ，部分球容器が固体群にどのような力を与えるかを考察する．図 3.1-1 ∼ 4 は，固体群を想定した物体が面上に存在している半球形状の容器がある加速度 acc で移動（加速）している様子を表している．それぞれ，

1. 固体群が中央部にある容器が右方向に加速する

第 3 章 固体群あおり操作

20

２

１

‫ܨ‬ଶ

‫ܨ‬ଵ

ܽܿܿ
ܽܿܿ

３

４

‫ܨ‬ଷ

‫ܨ‬ସ

ܽܿܿ
ܽܿܿ
図 3.1: 半球容器の移動による固体群挙動

2. 固体群が中央部にある容器が上方向に加速する
3. 固体群が左端部にある容器が右方向に加速する
4. 固体群が左端部にある容器が上方向に加速する様子である．これらのうち，図 3.1-2 と図 3.1-3 では，固体群が容器の面から直接押されることで，絶対的な影響を受けると考えられる．つまり，固体群は加速度 acc に比例する力 F2 ，F3 を受ける．
対して，図 3.1-1 と図 3.1-4 では，固体群は容器面に押されることなく，面上を滑るような相対的な影響を受けると考えられる．その影響は加速度 acc によって生じる力の反作用力となるため，これらに関しても固体群は加速度 acc に比例する力 F1 ，F4 を受ける．つまり，固体群は容器面から絶対的，あるいは相対的な影響を受けることで挙動を起こす．しかし，これらの４つの状況は，容器面から固体群が垂直に押されることと，水平に滑ることのみを考えているだけに過ぎない．そこで，固体群は容器から絶対的・相対的影響を同時に受けると考え，固体群の容器内位置や加速度からその二つの比を決定する．そして求められた影響によって起こる挙動を，従来のように曲面や粒子で表現することで，動的な容器の移動による固体群挙動を実現する．

第 3 章 固体群あおり操作

21

ࡲ
ࡲ࢛
ࡲࢠ
ࡲ࢜

‫ܩ‬
図 3.2: 容器が受ける力の分解

3.2.2

部分球容器の並進が固体群に与える影響

まず簡単のために，容器が三次元並進することを考え，姿勢変化，つまり回転は起こらないものとする．容器が移動すなわち加速したとき，容器が外力をうける．これを外力 F とする（図 3.2）．
また固体群の重心（容器面上）を点 G とする．力 F を，

• 点 G と球の中心を含む平面における水平成分 Fu• Fu に垂直な水平成分 Fv• 鉛直成分 Fzに分解する. Fu と Fz は容器が固体群を直接的に押す成分（絶対的影響）であり，対して Fv は容器が固体群に反作用的に力を加え曲面上を滑らせる成分（相対的影響）である．
まずは容器が固体群を押す成分である Fu と Fz に着目し，これらの合力 Fw を考える．説明のため Fw が水平になるような図を描く（図 3.3）．

• 水平面に対する重心 G における容器接平面の傾き角度 α• 水平面に対する力 Fw の傾き角度 β• 力 Fw と容器接平面のなす角度 θである．ここで，角度 α は，容器が凸形状であることから

0◦ < α < 90◦(3.1)

第 3 章 固体群あおり操作

22

ࡲࢠ
ࡲ࢝
‫ܩ‬
ߙ

ࡲ࢜

ߠ

ߚ

ࡲ࢛

図 3.3: 固体群重心における接平面と力の角度の値となる．また，角度 β は計算上，−180◦ < β < 180◦(3.2)

の値とする．角度 θ は，この二つの角度より求められる．

θ =α+β(3.3)

この角度 θ と力 Fw により，3.2.1 節で考察した絶対的影響と相対的影響の比が決定される．容器が垂直に固体群を押す時，θ = 90◦ となり，水平に押す（滑らせる）時，θ = 0◦ となるため，比は

θ を用いた三角関数により決定する．図 3.4 のように，固体群は合力 Fw により容器面から直接押されるように力 Fp を受け，また容器に対して滑ることで相対的に反作用力 Fs を受けていると考える．なお，説明のために Fz = 0 とし，水平面に対し平行な力が加わっているものとする．Fp ，Fs を θ により以下のように決定する．
Fp = |sin(θ)| Fw(3.4)

Fs = − |cos(θ)| Fw(3.5)

この二つの力と，重力 g によって，固体群挙動を決定する力 Fg が決定される．

Fg = Fp + Fs + g(3.6)

このように，容器移動による固体群への絶対的影響および相対的影響をまとめて一つの力として考え，この力から固体群挙動を決定することで，簡易的に計算や表現をしている．

第 3 章 固体群あおり操作

23

ࡲ࢙

ࡲ࢖

‫ܩ‬
ࡲࢍ

ࢍ
ߠ

図 3.4: 固体群挙動を判定する力

3.2.3

部分球容器の回転が固体群に与える影響

従来の部分球容器を扱うシステムではプログラム上，調理容器は柄の部分を中心に x 軸および z軸を中心とする回転をするものとしていた．この操作は容器を静かに傾けることを想定しており，容器底部が固体群を押し上げるような状況は考慮していない．本研究において，容器を激しく傾けることで固体群が容器底部に押され挙動を起こすことを表現するため，容器の回転によって固体群がどのような影響を受けるかを考察する．一般的に，物体の回転運動を考慮するためには力のモーメントを求める必要があるが, 扱う対象物体が固体群であること，また容器形状が部分球であることから，厳密な解を求めることは困難である．そこで提案モデルにおいては，容器回転による固体群挙動を簡易的に決定するため，各時刻における運動をその時刻における固体群中心の回転と並進に分けて考える．
例えば図 3.5 のように，回転軸と垂直に回転中心と固体群重心が一直線上に距離 l だけ離れて存在しているとき, 微少角度 ∆φ 回転させると，固体群はその姿勢を変化させながら並進を起こしていると考えられる．この時，固体群は容器底面に押され，上向きの力を受けると考える．そこでこの力を前節において考察した並進（加速）による固体群への影響と同様に求めることとする．フレーム間に移動した距離lr （図 3.5）は，容器回転中心を中心とする円弧の長さと考えること
で，以下の式から求める．

lr = l∆φ(3.7)

容器が 2 軸回転を行う際，回転中心と固体群重心が回転軸と垂直に一直線上に並ぶことは稀である．そこで，図 3.6 のように容器回転軸回りに回転させることを考えた際，式 3.7 の長さ l は容器
回転軸から固体群重心までの距離と考えることができる．容器回転軸となる直線の式は，回転中第 3 章 固体群あおり操作

24

݈

∆߮

݈௥

図 3.5: 容器回転による固体群への影響

心を原点 or とした xr yr 平面格子を考えた際，角度 λ を用いて

sin(λ)xr + cos(λ)yr = 0(3.8)となる．この式より，固体群重心 G の座標 (xG ，yG ) までの距離は，| sin(λ)xG + cos(λ)yG |l= √=| sin(λ)xG + cos(λ)yG |(sin(λ))2 + (cos(λ))2

(3.9)

となる．
結果，固体群が並進したと考えた移動分によって，3.2.2 節の並進と同様に容器から固体群に力が加わったと考える．固体群重心位置における容器面に対する単位法線ベクトル N と定数 K1 により，移動軌跡 lr に比例する力 Fn を求める．

Fn = K1 lr N

(3.10)

この力を 3.2.2 節と同様な処理で計算することで，並進と回転による固体群への影響を求める．ところで，固体群は並進と同時に重心を中心とした回転，つまり姿勢変化を起こすが，容器内の一点に集まっていると仮定しているため，挙動に影響はないものとする．

3.3

部分球容器内の固体群挙動

3.3.1

固体群挙動の判定

前節までで求められた Fg が点 G から接平面よりも球の外側に伸びる場合，固体群は容器面上を滑る挙動となる．力 Fg を接平面に平行な成分 Fr とそれに垂直な成分 Fq に分解する（図 3.7）．

第 3 章 固体群あおり操作

25

yr
‫ܩ‬

容器回転軸

λ

or

x

r

図 3.6: 容器回転軸から固体群重心までの距離

成分 Fq は固体群が容器面を押す力であり，接平面に対する垂直抗力と打ち消し合う．よって，成分 Fr により，固体群が容器面を滑り上がるのか滑り落ちるのかが決定される．ところで分力 Fv
による水平方向での滑り挙動は，容器を真上から見た図 3.8 の通り，分力 Fv の反作用として滑り
成分 Ft = −Fv を求める. 結果，Fr と Ft の合力により固体群は容器面上を滑る． 対して，Fg が
点 G から接平面よりも球の内側に伸びる場合，固体群は容器上・外部へ飛び上がる挙動となる．

Fg が球の内側に伸びるか，外側に伸びるかの判定は，水平面に対した Fg の傾きと，容器接平面の傾きの大小判定によって行う．ベクトルと面の角度を求めるため，水平面の単位法線ベクト
ル n を用いると，Fg と n の角度 ψ の関係

cos(ψ) =Fg · n|Fg | |n|(3.11)

より，以下の式で求めることができる．

(
ψ = arccos

Fg · n|Fg |)よって，Fg の内外判定，つまり固体群挙動判定は，以下のようになる．

• θ ≤ 90◦ − ψ の時，球の外側（滑る）(3.12)

第 3 章 固体群あおり操作

26

ࡲ࢘
ࡲࢍ

‫ܩ‬
ࡲࢗ

ߠ

図 3.7: 固体群の滑り挙動における力

ࡲ࢛
ࡲࢠ
ࡲ࢜
‫ܩ‬
ࡲ࢚

図 3.8: 容器移動の固体群滑り成分• θ > 90◦ − ψ の時，球の内側（舞い上がる）
次節より，滑り挙動および舞い上がり挙動として判定された際の挙動の実現手法についてそれぞ
れ述べる．

3.3.2

固体群の滑り挙動

固体群が容器面上を滑る挙動を起こすと判定された際，Fr と Ft の合力により固体群は容器面上を滑る．滑り挙動の表現には，2.2 節で述べた容器姿勢により生じる重力の分力による挙動と同様に，半楕円体変形曲面を適用することで実現する．これまでは，実験的に重力の分力による影響しか考慮していなかったため，固体群が容器面を滑り上がるような挙動を起こすことはできな
かったが，本手法により実現可能である．また，容器を水平に激しく振り，固体群を回し混ぜる
ような挙動も再現することができる．

第 3 章 固体群あおり操作

3.3.3

27

固体群の舞い上がり挙動

固体群が舞い上がる挙動を起こすと判定された場合，その挙動を Fg と Fv の合力 Fsum により決定する．舞い上がる固体群は節で述べた自由落下粒子に初速を与えた固体群粒子で表現する．生成される個々の固体群粒子のもつパラメータは以下の通りである．

• 初速度 v0
• 生成位置座標 P0 (x0 ，y0 ，z0 )• 重力加速度 g• 体積 Vp• 姿勢 angle
固体群が舞い上がると判定された時，ハイトフィールドで表現される容器内固体群を固体群粒子に変換するため，固体群粒子を重心 G の周辺に生成する．固体群粒子の生成位置座標 P0 の範囲
は，重心 G を中心とした半径 r の円を底面とする高さ H ′（定数）の円柱とする．この円の半径は，容器内の固体群の総体積 Vc の平方根に定数 K2 をかけた近似により以下のように決定する．

r = K2√Vc(3.13)

この円柱の内部の任意の位置に乱数を用いて生成位置を決め，有限個の固体群粒子を生成する．粒子の初速度 v0 は，合力 Fsum により定数 K3 を用い決定される．

v0 = K3 Fsum

(3.14)

また，生成する固体群粒子の数 Ntoss ，つまり容器内固体群から固体群粒子への変換量は，体積 Vcと合力 Fsum の大きさに応じて，定数 K4 を用い以下のように決定する.

N = K4 Vc |Fsum |(3.15)

そして，ある時刻 t で固体群粒子を Ntoss 個生成し，また粒子 Ncatch 個が容器内に受け止められた
場合の容器内固体群の体積 Vc は

Vc (t) = Vc (t − ∆t) − Ntoss Vp + Ncatch Vp(3.16)となる．ところで固体群粒子の姿勢を決定するパラメータ angle は 3 軸回転行列であり，この値を乱数を用い変化させることで固体群粒子が自然に舞い上がっている様子を表現することを可能としている．

28

第4章

4.1

実験

実験システム以上の提案モデルを用いて実験システムを構築した. この研究は, 一般向けの調理学習システムを目標にしている. そのため, 利用可能な安価な入力デバイス, 高速な処理速度, 十分に自然な挙動などが要求される. そこで本実験では, 入力デバイスとして任天堂の Wii リモコンを利用することとし, 処理速度と挙動の自然さの 2 方面について実証実験を行った. Wii リモコンには加速度セン
サと赤外線センサが搭載されており, 今回の実験システムでは赤外線センサにより調理容器の並進を, 加速度センサにより回転を行うようにした. 体験者は Wii リモコンを振ったり傾けたりすることで, 調理容器の柄を持って操作している感覚を得ることができる. 描画には DirectX を利用し,以下の構成の計算機で構築した.

• CPU : Intel Core i5-2400 CPU 3.10GHz• RAM : 4GB
実験システムでは部分球形状調理容器として, 容器の口の直径 36cm, 容器の深さ 10cm の中華鍋を想定し, 固体群として炒飯を想定している. 調理容器内の固体群はテクスチャマッピングにより,調理容器は適切に値を設定したモデリングデータによって描画する. 図 4.1 に実験の様子を示す.

4.2

実験結果

図 4.2, 図 4.3, および図 4.4 に容器内固体群の挙動の様子を示す. 図 4.2 は容器を水平面と平行に動かし, 固体群を容器の中で回し混ぜるような操作を表している. 容器の動的な位置変化および容器形状によって, 容器内の固体群が移動・変形をしている様子や, 容器の縁から固体群が粒子となってこぼれる様子が表現できていることがわかる. 図 4.3 は容器を上下に激しく振り, 固体群を空中に舞い上げ, その後受け止めるような操作を表している. 固体群が容器底部に押され一部が粒子として容器上部に舞い上げられ, 容器内に受け止められた固体群は容器内固体群に戻り, 容器外の粒子はさらに下に落ちていく様子が表現できていることがわかる. また, 図 4.4 から，水平な軸（軸に垂直）を中心に容器を回転した場合にも固体群が舞い上がるような挙動を確認できる. 実験
システムを用いて，本提案モデルを含めた各プロセスの１描画フレームを決定するのに必要な計
算時間を計測した．容器内のハイトフィールドの格子数は予備調査から挙動が自然に感じられる

第 4 章 実験

29との評価が得られた 317 点に設定している．調査項目は容器姿勢変化による変形曲面の決定，容器
加速移動による変形曲面の決定，調理器具操作による変形曲面の決定，崩れ変形曲面の決定，変形曲面の適用，こぼれ処理，本論文で議論した舞い上がり処理，描画，Wii リモコンによる入力処理，キー・マウスによる入力処理，その他の処理の１１項目である．なお，キー・マウス入力処
理は動作確認などを目的としている．結果を表 4.1 に示す.
表 4.1: 処理速度についての実験結果
処理

処理時間 [sec]変形曲面決定（容器姿勢変化）

約 2.0 × 10−5変形曲面決定（容器移動）

約 2.0 × 10−5変形曲面決定（器具操作）

約 2.5 × 10−5変形曲面決定（崩れ）約 2.5 × 10−5変形曲面適用約 2.0 × 10−4

こぼれ処理

約 3.0 × 10−5

舞い上がり処理約 3.0 × 10−5

描画

約 2.0 × 10−3

入力 (wii リモコン)約 7.0 × 10−3

入力 (キー・マウス)

約 2.0 × 10−4

その他

約 2.0 × 10−4

表 4.1 より，本論文での提案処理による計算時間の増加はわずかである．入力装置に Wii リモコンを用いた場合，キー・マウス入力処理時間を除いた全ての合計時間の約 0.0095 秒が，１フレームの計算に必要である．すなわち約 105FPS での実行が可能である．一般に対話操作システムには 10〜12FPS 程度の処理速度が必要だと言われているため，実験システム全体としても十分な処理速度が得られていることが言える．
また，調理学習システムの完成形として，食材を洗う，切る，盛り付けるなどの様々な調理工程も同時に処理，表現することも可能である．
次に，固体群挙動の自然さを評価するために数名の被験者による評価実験を行った．容器内のハイトフィールドの格子数は 317 点とし，入力デバイスを自由に操作し，操作性や挙動の自然さについての意見を求めた．実験の結果，以下のような意見が得られた．

• 部分球調理容器を傾ける，振ることによる直観的な操作ができる．
• 固体群の舞い上がりおよび滑りの挙動が自然に表現されている．
これらの意見より，再考察した固体群への影響による挙動計算により，従来のモデルと同様に部
分球調理容器による固体群操作が自然に行えていると言える．また，これまで考慮していなかっ第 4 章 実験

30

た部分球調理容器を振ることによる固体群挙動も，多角柱調理容器と同様にできることが言える．
この実験システムを用いることで，調理容器内の具材が外にこぼれないように混ぜたり，舞い上げた具材を受け止める訓練が可能であると考える．

第 4 章 実験31

図 4.1: 実験の様子

第 4 章 実験

32

図 4.2: 容器内固体群の挙動（水平方向並進）

第 4 章 実験

33

図 4.3: 容器内固体群の挙動（鉛直方向並進）

第 4 章 実験

34

図 4.4: 容器内固体群の挙動（回転）

35

第5章

むすび

本研究では，これまでの中華鍋を想定した部分球調理容器を扱う固体群操作モデルでは考慮していない容器の動的な位置変化および姿勢変化による固体群挙動への影響を再考察し，固体群を部分球形状を利用し容器外に舞い上げる「固体群あおり操作」を行うことができる固体群操作モデルを提案した．これまでは実験的に静的な容器姿勢に対する重力だけを固体群挙動への影響すとして限定していたが，容器底部が固体群を押すことによる絶対的な影響と，容器底部を固体群が滑ることによる相対的な影響を固体群挙動に反映させることで，容器を激しく振ったり傾けたりする操作による様々な固体群挙動を可能とした．容器内の固体群挙動の表現は，従来の部分球
調理容器を扱うモデルと同様に半楕円体形状の変形曲面を適用することで，少ない計算時間で実現している．また，容器外に舞い上げられた固体群は固体群粒子で表現している．容器内外の固体群挙動を簡易的に計算，表現することで，対話操作を可能としている．
今後の課題としては，実際の中華鍋を扱う炒め調理を行う際に用いるおたまのような調理器具を扱うモデルの提案があげられる．今回提案した部分球容器による固体群操作モデルを調理器具にも応用することで，様々な調理風景の再現を行うことができる．また，容器形状を多角柱，部分球以外に拡張することによって，様々な形の調理容器，調理器具，また料理の工程の一つである盛り付けを行う際に扱う皿の表現なども可能となる．
本研究の目的は調理における一連の調理工程すべてを再現できる調理学習システムの構築である．将来的には現在研究中の「調理」の他に，
「準備」，
「加工」，
「盛り付け」といった操作を実現
し，料理における手際の良さや，料理そのものの技術の向上の手助けとなる VR 調理学習システ
ムの完成を目標とする．

36

謝辞

本研究を進めるにあたって日頃から多大な御尽力をいただき, ご指導を賜った名古屋工業大学
舟橋健司 准教授に心から感謝致します．また, 本研究に対してご検討, ご協力頂きました名古屋工業大学 山本大介 准教授, 名古屋工業大学 伊藤宏隆

助教に心から感謝致します．また, 本研究に対して御討論, 御協力いただきました本学中村研究室の皆様ならびに中部大学 岩堀研究室の皆様に深く感謝致します. 最後に, 本研究に多大なご協力を頂いた舟橋研究室諸氏に心から感謝
致します.

37

参考文献

[1] 舘日章, “バーチャルリアリティの基礎 1 人工現実感の基礎”, 2000.
[2] 廣瀬通考, “バーチャル・リアリティ応用戦略”, 1992.
[3] 向井信彦, 西村律郎, 小杉信, “手術シミュレータ向け出血表現の高速化手法”, 日本バーチャル
リアリティ学会論文誌 Vol.11,No.3, pp.371-376, 2006.

[4] 任天堂株式会社 Wii
http://www.nintendo.co.jp[5] 椎尾一郎, 浜田玲子, 美馬のゆり, “Kitchen of the Future: コンピュータ強化キッチンとその応用”, 日本ソフトウェア科学会誌コンピュータソフトウェア Vol.23, No.4, pp36-46, 2006.

[6] 株式会社スクウェア・エニックス クッキングママ
http://www.square-enix.com/jp/archive/wii_cookmama/[7] 加藤史洋, 三武裕玄, 長谷川晶一, “体験型料理シミュレータ”, 日本バーチャルリアリティ学会
第 15 回大会講演論文集, 2D2-2(DVD-ROM), 2010.

[8] Stora D., Agliati P.O., Cani M.P., Neyret F., Gascuel J.D., “Animating lavaﬂows”, Proc. of
the Graphics Interface, pp.203-210, 1999.
[9] Onoue K., Nishita T., “Virtual Sandbox”, Proc. of the 11th Paciﬁc Graphics, pp.252-259,
2003.
[10] C. Amman, D. Bloom, J. M. Cohen, J. Courte, L. Flores, S. Hasegawa, N. Kalaitzidis,
T. Tornberg, L. Treweek, B. Winter, C. Yang, “The Birth of Sandman”, SIGGRAPH 2007
sketches, No. 26, 2007.
[11] 舟橋健司, 小栗進一郎, “家庭での利用を目的とした VR 調理学習システムのための固体群操作モデルの検討”, 日本バーチャルリアリティ学会第 13 回大会講演論文集, pp.171-172, 2008.

[12] 森井敦士, 森愛絵, 山本大介, 舟橋健司, “VR 調理学習システムのための剛体による固体群操作モデル”, 日本バーチャルリアリティ学会第 15 回大会講演論文集, 2C2- 2(DVD-ROM), 2010.

38[13] 石原逸貴, 舟橋健司, “VR 調理学習システムにおける調理容器の部分球形状への拡張”, 日本
バーチャルリアリティ学会第 17 回大会講演論文集, pp.259-262, 2012.

[14] 栗本雄多, 舟橋健司, “VR 調理学習システムのための変形曲面による固体群の崩れ表現”, 日本バーチャルリアリティ学会第 17 回大会講演論文集, pp.255-258, 2012.

[15] 森井敦士, 上垣内翔太, 山本大介, 舟橋健司:”VR 調理学習システムのための存在確率に基づ
く粒子による固体群の上下動の表現”, 日本バーチャルリアリティ学会論文誌, Vol.16, No.4,

pp.539-549, 2011.

39

発表論文リスト

1. 石原逸貴, 舟橋健司, “VR 調理学習システムにおける調理容器の部分球形状への拡張”, 日本
バーチャルリアリティ学会第 17 回大会講演論文集, pp.259-262, 2012.

2. Toshiki Ishihara, Kenji Funahashi, “Partial Sphere Container as Chinese Pan with Convex
Bottom for Virtual Cooking System”, Proc. IWAIT 2013, pp.957-962, 2013.
3. 石原逸貴, 舟橋健司, “VR 調理学習システムにおける部分球形状調理容器による固体群あおり操作の表現”, 日本バーチャルリアリティ学会第 18 回大会講演論文集, pp.244-247, 2013.