基礎論文

VR 調理学習システムのための存在確率に基づく粒子による固体群の上下動の表現
森井 敦士*1

上垣内 翔太*2

山本 大介*3

舟橋 健司*3

Existence Probability Particle Based Interaction Modelof Group of Individual Bodies for VR Cooking System
Atsushi Morii*1 , Shota Kamigaito*2 , Daisuke Yamamoto*3 , and Kenji Funahashi*3
Abstract – Manipulation model, particularly vertical motion of a group of individual
bodies (GIB) such as a mass of rice is proposed in this paper. In this model, we canmake up and down motion of GIB by using a container interactively. GIB is treated as
one object near container, which means that calculation is done eﬃciently on one object.
Representation of GIB based on existence probability improves the visualization of GIB’s
movement realism. One of the goals of this research is to use it for applications such ashome VR cooking systems. Interactivity has a priority over correct movement of GIB in
this model.

Keywords : VR Cooking System, a Group of Individual Bodies, Existence Probability
Particle1

はじめに

近年、一般家庭で使われている家電機器が高度化し 、
従来にはなかった家庭向けの新サービスの創出が期待されている。このような状況の中で、現実の調理行動支援を目的としたシステム [1] や、教育、訓練のためのシステム [2] の研究、開発が行われている。我々は、料理の手順−食材を洗い、切り、また調理用加熱容器に入れて焼く、煮る、炒めるなどし 、盛り付ける等の一連の手順−を学習するためのシステム「バーチャル
お料理教室」の開発を行っており、これまでに調理用
加熱容器内での食材操作を実現するために固体群操作
モデル [3, 4, 5] を提案している。ここで固体群とは、小さな固体の集まりであり、また一見してまとまって扱われる対象とする。例えば砂粒や米の集まりなどは、挙動は個々の固体の干渉によるが、通常、人間はバケ
ツやカップに入れて扱うなど 、「一杯」の対象物として捉える。提案システムに適用するこのモデルでは、固体群として「炒飯」などを想定し 、フライパンのよ
うな容器状のオブジェクト（以下、調理容器、あるいは単に容器、実際には皿なども対象としている）の中に存在する固体群を、容器を移動することにより容器内での操作が可能である。また、ヘラなどの剛体（調*1 日本信号株式会社

理器具）を使用して固体群を操作することも考慮している。
固体の集まりの挙動についての研究は従来から行われており、例えば砂 [6] や溶岩 [7] を対象とした研究があり、臨場感演出のために映画などにも応用されている [8]。このうち、Stora らが提案した溶岩のモデル [7]は粒子法を使ったモデルである。粒子法は、固体を粒子やその集まりで近似して、それぞれの粒子に作用する力を計算する手法である。粒子法は厳密な挙動の再現を目的としており、近年では、複数の GPU を用いた数万個の粒子の衝突判定も実現されている [9, 10]。
現状ではまだ家庭で一般的に利用できる機器構成ではないかもしれないが 、近い将来、高価な GPU も安価になることも期待できる。しかし 、対象物（粒子）の粘性や変形、破壊への対応は単なるハード ウェアの進歩のみでは対応できないだろう。尾上らが提案した砂のモデル [6] は粒子法を用いないハイトフィールドに基づくモデルであり比較的高速であるが、挙動を局所的に計算しており、総合的なアプリケーションシステ
ムへ適用した場合に対話操作性を維持できるほど処理速度が高速とは言えない。一方、我々の提案する固体群操作モデル [3, 4] はハイトフィールドに基づき、さらに大域的な挙動計算を行うことにより、GPU を利用することなく、非常に高速な処理速度を実現してい*2 リンナイ (株)る。本モデルはそもそも、対象物の厳密な挙動の再現*3 名古屋工業大学を目的とするものではない。プロの調理人育成のため*1 Nippon Signal*2 Rinnai Corporation*3 Nagoya Institute of Technologyのシステムや自動調理機器設計における評価のため

日本バーチャルリアリティ学会論文誌 Vol.16, No.4, 2011のシミュレーションを想定した場合には厳密な挙動の再現が必要であろう。本研究では調理手順の学習など
家庭での利用を想定しており、安価なシステムにおいて本物「らしい」挙動を実現することを目的としている。その上で、対象物の集まりを「固体群」として一







 

元的に扱うことにより、個々の固体同士の粘性や変形をユーザが「感じられる」挙動も、パラメータの調整で醸し出せると考えている。しかし挙動をよりリアル

図 1 変形曲面
Fig. 1 Transformation Surfaceにするために提案した改良型固体群操作モデル [5] は粒子法を限定的に取り入れたモデルであり、結果的に

ここで f (x, y) は格子 (x, y) に設定された値であり、す実験システム単体では対話操作が可能であったが、調

なわちこの格子における固体の量であり高さを表す。

理学習支援システムとして実現するためには処理速度

この各格子の値を変化させることにより、調理容器内の面で不十分であると判断した。

の固体群挙動を計算し 、ハイトフィールド 表面にテク

本研究では、新たな粒子モデルを提案することによスチャマッピングを行うことにより固体群を表示する。

り十分に高速な固体群操作モデルへと改良する。本モハイトフィールドで表現された固体群の挙動は、隣デルは元々、容器内の各固体の集合を１つの操作対象

接する格子同士で値を増減させるのではなく、以下の（ 固体群）として扱うことにより高速処理を実現してように大域的に格子の値を更新することにより実現すいる。そこで、容器の「すぐ 上の空間」も容器が支配る。例えば、時刻 t において中央に固体群が存在する容している空間と考え、調理容器上部においても１つの器が傾けられた場合 (図 1-1) 、全体における増加分と操作対象として扱うことにより、フライパンを振るこ減少分を求め加算することにより (図 1-2) 、時刻 t+∆tとによる「舞い上がり」動作を実現する。具体的には、における固体群の様子を決定する (図 1-3)。この、曲空間を格子に区切り、各格子において操作対象が存在面による増減分を変形曲面と呼ぶこととし 、重力と調するか否かの確率を考え、この確率を大域的に遷移さ理容器の並進による慣性力の合力より決定する。実際せることにより容器上部での挙動を計算し 、また確率には、このような変形曲面を正確に求めることは困難に基づき粒子を描画することにより移動を視覚的に表であるため、経験的にまず半楕円柱や四角柱により増現する。粒子と呼んでいるが、個々の粒子は独立して加分を決定し 、その後、全体を同一の割合で減少分を動くものではなく、また単独でも実際には動かない。

決定することにより体積を一定に保っている。

なお、容器の支配から外れた空間では、互いに干渉せ3ずに自由落下する粒子により表現し 、「こぼれ 」挙動

固体群粒子を実現する。以下、2 節では従来モデルの概要を、3

現実世界における固体群の最小構成要素は、小さな節ではハイトフィールド 表面の粒子および「こぼれ 」

固体であるが有限の大きさである。一方、前節で述べ挙動について、4 節では容器上部空間における粒子おた固体群はハイトフィールドにより表現されているたよび「舞い上がり」挙動について述べる。

め、最小構成要素が定義されていない。そのため、無2限小の固体が存在することになり、液体のように表現

従来の固体群操作モデル

されてしまう。そこで固体群の最小構成要素を α とす

我々が提案した固体群操作モデルでは固体群をハイ
トフィールドで表現し 、固体群を構成する個々の固体る。ある格子 (x, y) において f (x, y) < α である場合
は、存在確率に作用する力を計算せずに、固体群全体を１つの操作対象として扱うことで高速に固体群挙動を実現していP (x, y) =f (x, y)α(2)る。まず、モデルの簡単化のために固体群を扱う調理に基づき乱数を利用して描画の有無を決定し 、その上容器を次のように定義する。容器の底部: 凸多角形ので粒子として描画する。なお、計算時間短縮のため α

平面図形、容器の側面: 底部に対して垂直（高さ: h ）。

は実際の個々の固体よりも、例えば米粒よりも大きな

また、固体群は調理容器の底部に定義した格子におけ値として設定し 、また描画する粒子は個々の米粒１つるハイトフィールドにより表現する。調理容器 c の内分ではなく、いくつもの固体が集まった「固体群粒子」

部に存在する固体群の総体積 Vc は以下のように定義（ 存在確率固体群粒子）とする。具体的には、小さじする。

一杯程度の量を想定している。この粒子も、描画におVc =∑(x,y)∈cf (x, y)(1)

いては粒子表面にテクスチャマッピングを行う。
最小構成要素が定義されていないと液体のように森井・上垣内・山本・舟橋 : VR 調理学習システムのための存在確率に基づく粒子による固体群の上下動の表現表現されてし まうのは 、f (x, y) < α でなくても同{P (x, y) =

fd /α
1

(fd < α)(fd ≥ α)θθf (t) (x, y) ≥ α である場合は 、格子における変化量(t)fd (x, y) = |f (t) (x, y) − f (t−∆t) (x, y)| に基づき存在
確率

B境界

A境界

様である。そこで、ある時刻 t 、格子 (x, y) において

θ

θ

(3)

を算出する。同様に乱数を利用して描画の有無を決定
し 、固体群粒子を描画する場合には、ハイトフィール

図 2 こぼれの境界
Fig. 2 Spilling Boundary

ド 表面の高さを f (x, y) − α と修正した上でテクスチャマッピングを行い、その表面に固体群粒子を描画する。
ただしこのままでは、容器が全く動いていない場合にては P (x, y) = 1 とし 、前述のようにハイトフィール

も、粒子の描画、非描画が反転してしまうことがある。

ド 表面の高さを修正した上で、存在確率（この場合はそこでハイトフィールド の更新における総量が決めら

常に 1 ）固体群粒子を描画する。

れたしきい値以下の場合には、それぞれの格子におけ4る粒子描画の有無を反転させないこととする。なお、

f (x, y) の値が α 付近でゆるやかに変化した場合、式(2) と式 (3) の間で存在確率 P の値が急激に変化する場合があるが、固体群粒子の描画には乱数も用いてお

4.1

固体群の上下動の表現

各領域の固体群表現と挙動計算

本節では固体群の上下動を実現するモデルについて説明する。提案モデルでは、実時間処理を維持しつつり、液体のように表現されてしまうことを避けるとい高い臨場感を実現するために、調理容器周辺を図 3 のう本来の目的には大きな影響はない。

ように「 調理容器内部領域」、「 調理容器上部領域」、

さらに、調理容器の中から容器外へ固体群が「こぼ「それ以外の領域 (以下、調理容器外部領域) 」の 3 つれ」ていく様子を実現するために、図 2 に示す境界をの領域に分けて、それぞれの領域で異なる固体群表現設定する。まず、容器の傾きなどで固体群に力が作用を行うことで固体群挙動を表現する。上部領域は容器してこぼれる挙動に対応する A 境界として、容器のの内部ではないが、事実上、容器（操作者）により支縁のうち最も低い点を含み、水平方向との角度が θ の配されている空間であると考えることにより、挙動モ

無限平面を定義する。角度 θ は固体を積み上げたときデルを構築する。各領域の固体群は状況に応じて異なに自発的に崩れることなく安定を保つ斜面の角度である領域の固体群に変換する。なお、前節の「こぼれ 」

る「安息角」とする。格子 (x, y) におけるこの境界面

処理は、図 3 における内部領域 (1) から外部領域 (3)の高さを a(x, y) とする。この境界面は傾けた容器のへの変換と位置付けられる。

下側にしか対応していない。一方、「へら」等の調理

各領域の固体群表現と挙動計算についてまとめた表器具を想定した剛体による押し出しなどでこぼれる挙を表 1 に示す。内部領域の固体群は 2 節、3 節で述べ動に対応する B 境界として、容器の縁を含む平面とたモデルにより表現する。また、外部領域の固体群はの角度が上述の θ となる角錐状の境界面を定義する。

3 節で述べた、相互干渉を考慮しない自由落下固体群

格子 (x, y) におけるこの境界面の高さを b(x, y) とす

粒子で表現する。上部領域の固体群は、存在確率に基る。この境界面は容器の傾きに追従し 、本来の安息角づく表現を行う。上下に動く挙動は、従来モデルの変を意味するものではないが、これにより傾けた容器の形曲面を拡張した手法で存在確率を遷移させることで上側や横側からのこぼれも少ない処理で実現できる。

実現する。また、固体群描画は外部固体群と同様に、

格子 (x, y) における、これら の境界のうちの低い値

固体群粒子として描画する。なお、固体群粒子は固体

k(x, y) に対して k(x, y) < f (x, y) が成り立つ場合には、f (x, y) − k(x, y) 相当の固体群を「自由落下固体群

群を構成する 1 つの固体ではなく、ある程度の固体の粒子」へと変換し容器外に落下させ、f (x, y) = k(x, y)

動計算について詳しく述べる。

集合として扱う。以降は、上部領域の固体群表現と挙と更新する。この自由落下固体群粒子は、同様にいく

4.2

つかの固体が集まった固体群粒子であるが、存在確率

上部領域の固体群 (上部固体群) は、図 4 のように、に基づき扱うことはせず、また独立して移動する。た調理容器を包みこむように配置した三次元格子 (存在だし 、処理の簡略化のため粒子同士の干渉は考慮しな確率フィールド ) に、各格子ごとの固体群分布状況をい。その上で、自然なこぼれへの遷移を実現するため

確率的に保持させる事で表現する。なお、この格子と、に f (x, y) ≥ k(x, y) − α が成り立つ全ての格子におい存在確率フィールド

調理容器内部に定義されたハイトフィールド の格子の

日本バーチャルリアリティ学会論文誌 Vol.16, No.4, 2011







 
! 

固体群体積の期待値 E(X, Y, Z) は次のように求める。

E(X, Y, Z) = Eup f (X, Y, Z)(4)f (X, Y, Z) は格子 (X, Y, Z) における固体群量（ 正確には、直前のサンプ リング時刻における値）であり、

Eup は存在確率フィールド の各格子の存在確率から固体群体積の期待値を導出するための、存在確率フィー
ルド C が保持する確率に基づく固体群体積の期待値

図 3 提案モデルの概要図
Fig. 3 Outline of Manipulation Model
表 1 各領域の固体群表現と挙動計算
Table 1 Representation of GIB and Calculation of Movement in Each Fieldの総量である。Eup と各格子の存在確率に基づく固体
群体積の期待値には以下のような関係が成り立つ。実際には直前の時刻における E の値を用いて計算する。
∑
Eup =E(X, Y, Z)(5)(X,Y,Z)∈C

領域名

固体群表現

挙動計算

内部領域
上部領域
外部領域

ハイトフィールド
存在確率フィールド
固体群粒子

変形曲面
変形超曲面
自由落下

さらに 、上部固体群の重心 GE を以下のように定義
する。

GE =

1
Eup

∑

E(X, Y, Z)M(6)(X,Y,Z)∈C

間隔は等しく l と設定する。また、調理容器の底面を

ここで M は格子 (X, Y, Z) の座標ベクトルである。存

構成する平面図形を、存在確率フィールド の格子点と在確率フィールド の格子 (X, Y, Z) に存在する固体群の距離が l/2 となるように、かつ、XY 平面（水平面）体積 V (X, Y, Z) は以下のように求める。


Vmax



 (E(X, Y, Z) ≥ V
max )V (X, Y, Z) =0
V (X, Y, Z) (E(X, Y, Z) < V
max )と平行になるように配置する。さらに、後述する変換
領域を設定するために、調理容器から存在確率フィー
ルド の上方を除く外縁まで l 以上の間隔が開くようにする。固体群の挙動計算は、格子が持つ確率に基づく
固体群の体積（以下、期待値と呼ぶ）を求めて、さら(7)に、全体で体積が保持されるように存在する体積量を

Vmax は、存在確率フィールド の 1 格子に存在するこ

確定する処理を毎フレーム行う。そのため、存在確率とができる固体群体積の最大値である。Vmax は、存フィールド の内容が同一であっても、描画される固体

在確率フィールド の格子間距離 l を用いて以下のよう群分布はフレーム毎に異なる。このような確率的な表に定義する。

現 (存在確率に基づく表現) で 、上部固体群の挙動表
現の自然らしさの向上を図る。
存在確率フィールドの格子 (X, Y, Z) における、上部./0)*+,-!

%&'()*+,-!

!"#$!

図 4 存在確率フィールド
Fig. 4 Existence Probability Field

Vmax = l3(8)V 0 (X, Y, Z) は確率 P (X, Y, Z) により格子 (X, Y, Z)に存在する固体群体積であり、平均が E となるように
以下のように求める。
0 (d + 1)α(P (X, Y, Z) の確率で )V 0 (X, Y, Z) =
0

dα




(1 − P (X, Y, Z) の確率で )(9)パラメータ d 、存在確率 P (X, Y, Z) は以下のように求める。
E(X, Y, Z)
c
(10)
d=b
α0
E(X, Y, Z) − dα0
P (X, Y, Z) =(11)
α0
なお、α0 は固体群体積の単位であり、次のように定
める。
Vmax
(12)
α0 =
D

森井・上垣内・山本・舟橋 : VR 調理学習システムのための存在確率に基づく粒子による固体群の上下動の表現



D は粒子体積詳細度であり、上部固体群、外部固体群として描画される固体群粒子 1 つが持ち得る体積の最

小値を設定するパラメータである。
また、上部固体群から外部固体群への変換のために、存在確率フィールド の外縁に位置する格子群によりできる厚さが l となる板状の格子群として変換領域を定 

義する。この領域を経由することにより、一体的に扱っている上部固体群の一部が外部領域へ移動する場合に

図 5 変形超曲面
Fig. 5 Transformation Hypersurface

も容易な処理を実現する。各変換領域 Bi につき、Biの中心座標から存在確率フィールド の中心までの相対

飯は球（楕円球）状にまとまっていると感じられ、フベクトル nBi を以下のように定める。

(C 0 − C Bi )nBi =|C 0 − C Bi |ライパンを激しく振った場合には円柱状（ 楕円柱状、(13)

じられるとの結果が得られたためである。楕円球状変

C Bi は変換領域 Bi の中心座標、C 0 は存在確率フィー
ルド の中心座標である。
4.3

加えて自由落下）に斜め横方向に飛び出していくと感変形超曲面を用いた挙動計算

形超曲面は上部固体群の挙動計算に用いる。また円柱の近似としての凸多角柱状変形超曲面は後述する上部
固体群から外部固体群への変換に利用する。以降はこ上部固体群挙動は従来モデルの変形曲面を 1 次元

れらの変形超曲面について説明する。

拡張して存在確率フィールドに適用することで実現す4.4る。本来は個別に挙動している空中の固体も、「１つ

上部固体群の挙動は楕円球状変形超曲面を用いるこの対象物」として扱い、超曲面で一元的に挙動を決定とで表現する。上部固体群の重心の単位時間あたりのすることにより高速に、自然と感じられる挙動を再現

移動量を上部固体群全体の速度と見なし 、速度と上部する。しかし 、図 1-2 のような働きをする超曲面を求固体群にかかる力から変形超曲面の生成場所を計算す

める事は困難なため、本モデルでは以下のように代替る。時刻 t における楕円球状変形超曲面の、3 次元空処理を段階的に行うことで図 1-2 に相当する処理を実間中における楕円球の生成位置 O e (t) は以下のように現する。まず、図 5-1 のように、時刻 t において、三求める。

楕円球状変形超曲面次元空間に固体群が分布している時に、固体群が移動する方向へ、固体群分布量を増加させる働きをする 4次元超曲面 (変形超曲面) を生成する (図 5-2)。ここでO e (t) = O e (t−∆t)+β(GE (t)−GE (t−∆t))+γF (t)(15)

超曲面は、3 次元空間における座標（ 格子）に存在す

ここで 、F (t) は時刻 t における上部固体群にかかる

る固体群量を変更するための値を第 4 次元成分として力である。また、β, γ は定数である。楕円球の各軸を表現する。すなわち、超曲面を 3 次元に投影した立体

ea ,eb ,ec とし 、各軸における半径をそれぞれ a, b, c との中に含まれる格子は、その座標における超曲面の第する。これらの算出方法は 4.6,4.8 節で述べる。上部

4 次元成分の値に従って値が加算される (図 5-3)。そ固体群の分布密度は、挙動中は変化しないと考え、楕の後、存在する固体群の総量が超曲面加算前と比べて円球状変形超曲面の第 4 次元成分値 w(X, Y, Z) を以増加するので、 超曲面を生成する前の固体群総量と下のように設定する。

等しくなるように全体を修正する (図 5-4)。具体的には、超曲面加算前の固体群の総量を Vsum 、超曲面加0
算後の固体群総量を Vsumとすると、ある座標に存在する固体群量 f (X, Y, Z) は以下のように修正をする。

f (X, Y, Z) ⇐Vsum
f (X, Y, Z)
0
Vsum

(14)

この手法を存在確率フィールドに適用し 、存在確率を遷移することで上部固体群の挙動を表現する。本提案モデルでは三次元空間へ投影した形状が楕円球 (楕円球状変形超曲面) 、凸多角柱 (凸多角柱状変形超曲面)となる 2 つの超曲面を利用する。これは、事前の聞き取り調査において、フライパンから舞い上げられた炒w(X, Y, Z)(t) =Eup (t)Ne (t)(16)

Eup (t) は時刻 t における、存在確率フィールドが保持する確率に基づく、上部固体群体積の期待値の総量、Ne (t) は、時刻 t における f (X, Y, Z) > 0 となる存在
確率フィールド の格子の総数である。すなわち、ある時刻 t において投影された楕円球内の第 4 次元成分値

w(X, Y, Z) は一定であり、実際には超平面である。また、調理容器を貫通して上部固体群が挙動しないように、曲面生成点と調理容器との交差判定を行い、交差している時は調理容器を貫通しないように曲面生成点を更新する。さらに、変形超曲面による、調理容器の日本バーチャルリアリティ学会論文誌 Vol.16, No.4, 2011

面を横断した存在確率フィールド の格子への加算を禁止する。
楕円球状変形超曲面は、上部固体群が存在しない状態で、他の固体群表現から上部固体群への変換が行われたときに初めて生成される。このような状態は、外部固体群が存在確率フィールドに入った時と、内部固体群が容器から離れる力を受けた時の、2 通りの場合が考えられる。生成する楕円球状変形超曲面の初期状
態は、変換される固体群表現の分布を楕円球に近似して求める。例えば 、前者の時は変換される外部固体群を包含するようにし 、後者の時は、ハイトフィールドを包含するようにする。また、第四次元成分値は、変inc
換による上部固体群の体積の期待値の増加量 Eupと生成された楕円球状変形超曲面の三次元投影形状の体
積 Velip を用いて以下のように設定する。
inc
Eup
(t)
w(X, Y, Z)(t) =Velip

図 6 多角柱状変形超曲面
Fig. 6 Transformation Hypersurface of Polygon Prism

る。なお、e0 は O e (t − ∆t) から O e (t) へ向かうベ
クトルの単位ベクトルである。

(17)

4.5 凸多角柱状変形超曲面
上部固体群は楕円球状変形超曲面によって挙動する
が、短い時間の間に調理容器を大きく移動させた場合、楕円球状変形超曲面の生成場所が存在確率フィールドの外に出る時がある。この場合、上部固体群が外部固

3. 投影ベクトルを −e0 、または e0 に設定し 、図 6-2 の0に投影して xBjei を求める。
ように x0ei を各 HBj0
4.x0ei を投影した各平面 HBj
上に xBjei から成る凸多角平面図形を二次元凸包により求める。

5.O p , hp ,np , wp (X, Y, Z) を以下のように設定し 、各変換領域 Bj に対応する凸多角柱状変形超曲面を生成する。

体群へ変換されるようにする。具体的には、変換領域に凸多角柱状変形超曲面を生成することで、楕円球状

Op

変形超曲面が外に出た後に固体群変換が行われるようhpにする。凸多角柱状変形超曲面は図 6-1 のように、以np下のパラメータにより定義する。

wp (X, Y, Z)• 底面を構成する凸多角平面図形の重心座標 O p
0• HBj を含む無限平面 HBj
表面上に存在する凸0多角平面図形の頂点群 xBjei• 上述の凸多角平面図形の法線 np• 凸多角柱の高さ hp• 超曲面内の座標 (X, Y, Z) における第 4 次元成分の値 wp (X, Y, Z)=

1

Nconvex= l

Nconvex∑x0Bjei (18)= nBj
Eup (t)=Ne (t)

(19)
(20)
(21)

0
なお、Nconvex は平面 HBj
上の xBjei から成る凸多角平面図形の頂点数、x0Bjei はその凸多角平面図形を構成する頂点であり、l は存在確率フィールドの格子間距離、Eup (t) は時刻 t における存在確率フィールドが保持する確率に基づく上部固体群体積期待値の総量、Ne (t) は時刻 t における f (X, Y, Z) > 0 で

HBj は変換領域 Bj に接する存在確率フィールド の境ある格子の総数である。実際には np = nBj が成立

界面の 1 面である。以降は変形超曲面の第四次元成分

するとは限らないが、簡略化のために np を nBj との値を決定する wp (X, Y, Z) を「密度」と呼ぶ。楕円設定する。

球状変形超曲面の生成座標 O e (t) が存在確率フィール

4.6

ド の外に出た時、多角柱状変形超曲面を以下の手順で外部固体群から上部固体群への変換は 、存在確率

外部固体群から上部固体群への変換生成する。

フィールドに楕円球状変形超曲面を生成することで実

1. 投影する楕円球状変形超曲面表面上の頂点群 x0ei を求める。x0ei は、図 6-2 のように楕円球状変形超曲現する。生成する楕円球状変形超曲面の 3 次元投影形

面の三次元投影時の形状の表面に位置し 、 楕円球

包含するように設定する。具体的には、楕円球の形状の芯となる軸の端点 6 点である。

を決定するパラメータは、存在確率フィールドに進入

0状は、存在確率フィールド 内に侵入した外部固体群を2.nBj · e < 0 となる、変換領域 Bj に接する存在確した外部固体群の座標を、それらを平均座標を含む水率フィールド の境界面 HBj をすべて求め、各 HBj

平な平面に投影し 、その平面において凸包を求めたの

0を含む無限平面を投影先となる無限平面 HBjとすち、以下の通り決定する。ただし 、A, B は経験的に定+30*2/*1.-,)
'$&#%"!('$&#%"! 
  
  54

森井・上垣内・山本・舟橋 : VR 調理学習システムのための存在確率に基づく粒子による固体群の上下動の表現めた定数である。

• O e の初期値＝外部固体群の重心座標の平均• a = A× O e から最も遠い凸包の頂点と O e との距離
• b = B× 凸包の面積 /a• c = 進入した外部固体群と投影面との距離の平均

• ea = O e から最遠頂点へのベクトル / それらの距離
• eb = ea ×ec• ec = 鉛直上方向変換が行われたら、存在確率フィールドが保持する確率に基づく上部固体群体積期待値の総量 Eup (t) を次のように更新する。

Eup (t) = Eup (t − ∆t) + δ

n
∑

VQi

図 7 格子 (xa , yb ) に XY 平面で一致する存在
確率フィールド の格子群
Fig. 7 The Grids of Existence Probability Field Which is Located on Grid(xa , yb ) in Cross Section of XY(22)
Bj
ここで、δ は上部固体群と外部固体群の変換率、Eupi=1

ここで、δ は外部固体群と上部固体群の変換率であり、は、変換領域 Bj （ j = 0 ∼ 5 の 6 領域）に存在する

1 格子に存在することができる固体群体積の最大値

上部固体群体積期待値の総量である。

4.8

内部固体群から上部固体群への変換

Vmax を参考に経験的に定める。n は変換される外部固体群の総数、VQi は変換される外部固体群が保持する体積である。

ルドを存在確率フィールド の格子に代入し 、存在確率

上部固体群から外部固体群への変換

フィールドに楕円球状変形超曲面を生成する事で実現す

上部固体群から外部固体群への変換は 、存在確率

る。本モデルでは、2 つの条件 Eup (t) = 0,F (t)·ns > 0

フィールドに定義された変換領域を用いて行う。各変を満たす時に、内部固体群が調理容器から離れる挙動

換領域ごとに 、領域内に存在する上部固体群を外部をすると判定し 、内部固体群を上部固体群に変換する。

固体群に変換する。具体的には、毎フレーム、各変換

ただし 、Eup (t) は時刻 t における、存在確率フィール領域に存在する上部固体群の期待値の総和と変換率ドが保持する確率に基づく上部固体群体積期待値の総の積に等し い量の外部固体群を各変換領域に生成す

量、F (t) は時刻 t に固体群にかかる力、ns は調理容る。この時、変換された外部固体群の速度に上部固体器底部を構成する平面の法線である。内部固体群から群の速度を適応する。楕円球状変形超曲面が存在す

上部固体群への変換は、具体的には以下の手順で実現

る時は、上部固体群の重心の単位時間当たりの移動量する。

GE (t)−GE (t − ∆t) を上部固体群の速度とし 、多角柱状変形超曲面が生成されているときは予測速度 v up とする。v up の初期値 v 0up は以下のように求める。

1. 存在確率フィールド と容器内に配置されたハイト

v 0up = GE (tout ) − GE (tout − ∆t)について、格子 (xa , yb ) に XY 平面で一致する存在

4.7

(23)

内部固体群から上部固体群への変換は、ハイトフィー

フィールド の位置関係において、調理容器の底面から、ハイトフィールド の表面付近までに存在する格子に代入を行う。ハイトフィールド の格子 (xa , yb )確率フィールド の格子群のうち、代入が行われる格

ここで tout は、凸多角柱状変形超曲面が生成された時刻である。また、v up の更新は時刻 t に固体群にかかる力 F (t) を用いて以下のようにして行う。

v up (t) = v up (t − ∆t) + εF (t)(24)

ただし 、ε は定数である。変換が行われたら、存在確率フィールドが保持する確率に基づく上部固体群体積
期待値の総量 Eup (t) を次のように更新する。

Eup (t) = Eup (t − ∆t) − δ

n
∑
j=0

Bj
Eup

子を (XA , YB , Zs+n ) (n = 0, 1, 2 . . . kab ) とすると、kab は以下のように求める。
kab = bf (xa , yb )
c
l

(26)

格子 (XA , YB , Zs ) は、図 7 のように格子 (xa , yb ) に一致する存在確率フィールド の格子群のうち、調理容器底面 Hs の法線方向 ns 側に存在し 、Hs との距離が l/2 となる格子である。また、l はハイト

(25)

フィールド、存在確率フィールド の格子間距離であ日本バーチャルリアリティ学会論文誌 Vol.16, No.4, 2011

る。kab > 0 の時、以下のように代入を行う。

con
1/Eup


(n = 0, 1, 2 . . . kab − 1)
f (XA , YB , Zs+n ) =  p /E con
 ab up(n = kab )
(27)



con
ここで 、Eupは変換によって得られる上部固体群

体積の期待値の総量であり、
con
Eup
= δVc

あり、δ は上部固体群と内部固体群の変換率である。
また、pab は以下のように求める。

pab =f (xa , yb )− kablf (xa , yb )
con l
Eup

図 8 走査対象となる存在確率フィールドの格子群の範囲例
Fig. 8 Example of Target Grids of Existence
Probability Field(29)

kab = 0 の時は、格子 (XA , YB , Zs ) に以下のように代入を行う。
f (XA , YB , Zs ) =



(28)

のように求める。Vc は内部固体群の体積の総量で  (30)

4.9 上部固体群から内部固体群への変換
上部固体群から内部固体群への変換は、条件 F (t)·ns ≤0 が満たされる時に行う。この時、上部固体群は調理容器に堆積するとみなし 、固体群表現の変換を行う。
内部固体群の様子は、2 節で述べた、これまでに提案

2. 調理容器内部に存在する固体群、すなわちハイト

している調理容器内における固体群操作モデルに帰着

フィールドを包含する楕円球状変形超曲面を以下のさせることにより表現する。そのため、上部固体群かように生成する。

ら内部固体群への変換は、調理容器内に定義されたハO e = G0E (t) + γF (t)イトフィールドに変形曲面を生成することで以下の処(31)

ここで、G0E (t) はハイトフィールドを存在確率フィールドに代入した後における上部固体群の重心、 F (t)は固体群にかかる力、γ は定数である。また、楕円球の形状を決定するパラメータは、ハイトフィールドにおいて別途定める値を超える格子を内包する凸多角形を求めたのち、以下の通り決定する。ただし 、A, B は経験的に定めた定数である。
• a = A× 凸包の重心と重心から最も遠い凸包の頂点との距離• b = B× 凸包の面積 /a

理により実現する。

1. 変換される固体群量の計算を行う。変換される上部
固体群量は存在確率フィールドを走査することにより求める。ハイトフィールド の各格子ごとに、その格子が持つ高さ f (xi , yj ) から 、走査対象となる存在確率フィールド の格子の範囲を計算する。ハイトフィールド の格子 (xa , yb ) に、XY 平面において一致する存在確率フィールド の格子群のうち、走査対0
象となる格子を (XA , YB , Zs+n ) (n = 0, 1, 2 . . . kab)0は以下のようにして求める。
とすると、kabf (xa , yb )c(34)l
図 8 に、変換量計算のために走査対象となる存在確
0
kab
=b

• c = ハイトフィールド の格子の最大値 /2• ea = 凸包の重心から最遠頂点へのベクトル /それらの距離• eb = ea ×ec• ec = 調理容器底面の法線率フィールド の格子の範囲例を示す。図 8 は XZ 平
面における存在確率フィールド の断面図であり、図3. 内部固体群の体積の総量 Vc と存在確率フィールド8 のようなハイトフィールド の形状では、斜線部の格子群が走査対象となる。走査対象となった格子の存在確率に基づいた上部固体群体積の期待値の合計の保持する確率に基づく上部固体群体積期待値の総が変換される固体群量となる。上部固体群から内部

量 Eup を次のように更新する

固体群へ変換される固体群量 Vcon は以下のように

Vc (t) =Eup (t) =

0

(32)

con
Eup

(33)

求める。

Vcon =

N
∑




0

kab
∑



l
E(XA , YB , Zs+n ) (35)
Vmax n=0

森井・上垣内・山本・舟橋 : VR 調理学習システムのための存在確率に基づく粒子による固体群の上下動の表現

図 9 実験の様子
Fig. 9 Experiment System

N は調理容器内に定義されたハイトフィールドの格子の総数、l はハイトフィールド と存在確率フィー
ルド の格子間距離、Vmax は存在確率フィールド の

図 10 ハイトフィールド 表面の固体群粒子と自由落下固体群粒子
Fig. 10 GIB Particle on Hight-field and Freefall GIB Particle

1 格子に存在することができる固体群体積の最大値である。

2. ハイトフィールドに内部固体群を増加させる働きをする変形曲面を生成し 、内部固体群の体積の総量 Vcと存在確率フィールド の保持する確率に基づく上部
固体群体積期待値の総量 Eup を次のように更新する。ただし δ は上部固体群と内部固体群の変換率である。

Vc (t) =Vc (t − ∆t) + Vcon

(36)

Eup (t) =Eup (t − ∆t) − δVcon

(37)

5

図 11 上部固体群と内部固体群の変換
Fig. 11 Conversion between Inner GIB andUpper GIB

実験

5.1 実験システム
前述の提案モデルによる実験システムを作成し 、実験を行った (図 9)。安価な入力装置として、任天堂株式られている。図 10 では、容器を傾けることにより内会社から発売されている “Wii リモコン ” と “Wii モー部固体群が容器端に寄り、その後、こぼれることによ

ションプラス” を用いた。加速度センサで調理容器の平り外部固体群に変換されていることが確認できる。図

行移動を、ジャイロセンサで回転を行うように構築し11 、図 12 では、容器を振り上げることにより内部固た。描画には DirectX を利用し、CPU : Intel(R) Dual-体群の一部が上部固体群に変換され、舞い上がり、再Core E5200 2.50GHz, MEM : 1GB, OS : Microsoft

び内部固体群に変換されている。さらに、図 12 ではWindows XP の計算機で構築した。実験システムでは 、調理容器を直径が 32.5cm 、側面の高さが 6.6cm

る様子が確認できる。

上部固体群の一部が外部固体群に変換されこぼれていの円柱相当（実際には多角柱）のフライパンと、また、

5.2

固体群を炒飯と想定している。落下固体群の様子の確実験システムを用いて、本提案モデルにおける、ハ

処理速度についての評価認を容易にするために、重力加速度を 1/10 程度に設

イトフィールドと存在確率フィールド の格子数と処理定している。ハイトフィールド 表面と、固体群粒子表

速度の関係について調べた。表 2 に各格子数におけ面をテクスチャマッピングにより描画している。ハイる描画更新速度の平均（小数点以下を四捨五入）を示

トフィールドと存在確率フィールド の格子数はそれぞす。表 2 より、本モデルはハイトフィールドと存在確

れ 、441 (212 ) 、12167 (233 ) に設定した。なお、予備率フィールド の格子数がそれぞれ 441 、12167 におい実験を行った結果、ハイトフィールド の格子数が 441て平均 297 FPS である。これは、対話操作を行うには点程度で固体群挙動が自然に感じられるとの評価が得日本バーチャルリアリティ学会論文誌 Vol.16, No.4, 2011















図 12 上部固体群から外部固体群への変換の様子
Fig. 12 Conversion of Upper GIB to Outside
GIB

図 13 固体群挙動についての評価
Fig. 13 Evaluation result of GIB movement’s
realism

表 2 処理速度についての実験結果
Table 2 Performance Results
ハイトフィールドの格子数

存在確率フィールド
の格子数

FPS(平均)441 (212 )
729 (272 )
1089 (332 )
1521 (392 )

12167 (233 )
24389 (293 )42875 (353 )
68921 (413 )

297
173
108
71

5.4

上部領域の固体群表現の評価

本モデルにおける外部固体群と上部固体群はともに計算量の削減のため、固体群同士の衝突は考慮していない。そのため、外部固体群と上部固体群を区別せずに、容器内部ではない空間においては全て、相互干渉を考慮しない自由落下粒子 (無干渉粒子) で表現することも考えられる。そこで、提案モデルの固体群表現

十分な処理速度であり、実験システムにとど まらず、法の有効性を評価するため、同一量に相互変換できる

様々な処理が必要となる応用システムにも十分、適用

外部固体群 (無干渉粒子表現の固体群) と上部固体群可能であるといえる。

(存在確立に基づく表現の固体群) を用意し 、それぞれ固体群挙動の自然さについての評価の挙動計算 (1 フレーム) にかかる時間の平均を計測し本提案モデルの固体群挙動について評価するため、被た。なお、無干渉粒子の挙動計算は、物理量の更新と験者 15 人に実験システムを体験してもらい、簡単なア

調理容器との衝突判定の計算と考え、存在確率に基づンケートを行った。ハイトフィールドと存在確率フィー

く固体群の挙動計算は、調理容器を考慮した変形超曲

ルド の格子数はそれぞれ、441 、17986 (23 × 23 × 34)

面の生成と超曲面による存在確率の遷移とした。実験

5.3に設定し 、「舞い上がり」や「全体的な固体群挙動」に結果を表 3 に示す。無干渉粒子 2,000 個に相当する固ついて 7 段階評価のアンケートに答えてもらった。処

体群量では、存在確率に基づく表現の方が挙動計算に

理速度に十分な余裕が確認できたため、ここでは存在

時間がかかるが 、4,000 個の時は存在確率に基づく表確率フィールドを立方体とせずに上方向に長い直方体

現の方が計算時間が若干短い。それぞれの量は、炒飯としている。評価の目安は、評価点 1 で「全く自然に

2 人前、4 人前を想定したものである（ 一般に茶碗 1見えない」、評価点 7 で「現実と同程度」とした。図

膳のご 飯は 150g 程度、米 3,000 粒程度と考え、炒飯

13 に実験結果を示す。双方の項目とも、3 分の 2 の被

1 人前は茶碗 2 膳程度とした ）。実際の応用システム

験者から評価点 4 よりも高い評価が得られている。こ

作成時には炒飯に限らず野菜などを含めた様々な料理のことから、本提案モデルではある程度の固体群挙動を対象とすることも考えられ、また、調理以外のシスの自然らしさを体験者に与える事ができると言える。

テムへの応用も考えられる。そのため、粒子同士の干しかし 、フライパンを素早く傾けた際などに固体群が渉を考慮する必要もあるかもしれない。本手法では変不自然に消えるような状況もあり、やや低い評価も無形超曲面を適切に設定することにより、干渉を考慮し視できない。パラメータの調整だけでなく、確率的にた挙動にも対応できる。計算時間が固体群量に依存し処理することによる問題点も合わせて精査する必要がない本手法は有効であると言える。

ある。

森井・上垣内・山本・舟橋 : VR 調理学習システムのための存在確率に基づく粒子による固体群の上下動の表現

表 3 挙動計算にかかった平均時間
Table 3 Average Time of Motion Calculationof Outside GIB and Upper GIB

固体群量(無干渉粒子換算)

無干渉粒子

存在確率

2,000 個4,000 個約 3.4 × 10−4 sec
約 7.3 × 10−4 sec

約 7.2 × 10−4 sec
約 7.2 × 10−4 sec

6

むすび

本研究では 、従来の固体群操作モデルでは困難であった「固体群を舞いあげて再び受け止める」、とい[6] Onoue, K., and Nishita, T: “Virtual Sandbox”,
In: Proc. of the 11th Pacific Graphics, pp.252-259,
2003.
[7] Stora D., Agliati P.O., Cani M.P., Neyret F., andGascuel, J.D: “Animating lava flows”, In: Proc. of
the Graphics Interface, pp.203-210, 1999.
[8] Amman C., Bloom D., Cohen J. M., Courte J.,
Flores L., Hasegawa S., Kalaitzidis N., Tornberg
T., Treweek L., Winter B., and Yang C:“The Birthof Sandman”, In: SIGGRAPH 2007 sketches,
2007.
[9] Harada T., Masaie I., Koshizuka S., KawaguchiY.,: “Massive Particles: Particle-based Simulations on Multiple GPUs”, In: SIGGRAPH 2008
Talks, 2008.
[10] Liu F., Harada T., Lee Y., Kim Y.J.,: “Real-timecollision culling of a million bodies on graphics processing units”, In: SIGGRAPH Asia 2010, 2010.

うような調理容器外における固体群上下動を、対話操(2011 年 5 月 27 日受付)

作性を維持しながら行うことができる固体群操作モデルを提案した。本モデルでは、調理容器周辺の空間
を 3 つの領域に分割し 、それぞれの領域に異なる固体［ 著 者 紹 介］

群表現を定義した。そして、異なる領域の固体群を組み合わせたり、状況に応じて固体群の変換を行うこと

森井 敦士 （ 学生会員）

により、調理容器外での上下動を表現した。また、32011 年名古屋工業大学大学院工学研究科修了。同年日本信号株式会社入社、現在に至る。在学中、バーチャルリアリ
ティに関する研究に従事。

つに分割した領域のうち、調理容器上部領域の固体群の挙動計算に、格子法モデルで用いた変形曲面を拡張
して取り入れることにより、高速な挙動計算を実現した。さらに、調理容器上部領域の固体群表現に、格子法モデルで用いている確率的な固体群表現を取り入れ

上垣内

翔太

る事により、視覚的な固体群挙動の自然らしさの向上

2011 年名古屋工業大学工学部卒業。同年、リンナイ (株) 入社、現在に至る。在学中、バーチャルリアリティに関する研究に従事。

を図った。今後の課題点としては、「中華鍋」などを想定した丸みを帯びた形状の調理容器への拡張、存在確率固体群粒子と「ヘラ」などの調理器具間の干渉モデルを提案することが挙げられる。また、VR 調理学
習システムの実現により様々な VR システムの家庭への普及が期待できる。

参考文献[1] 椎尾一郎, 浜田玲子, 美馬のゆり: “Kitchen of the
Future: コンピュータ強化キッチンとその応用”, 日
本ソフトウェア科学会誌コンピュータソフトウェア
Vol.23, No.4, pp36-46, 2006.
[2] 加藤史洋, 三武裕玄, 長谷川晶一: “体験型料理シミュ
レータ”, 日本バーチャルリアリティ学会第 15 回大会
講演論文集, pp.390-393, 2010.
[3] 舟橋健司, 小栗進一郎: “家庭での利用を目的としたVR 調理学習システムのための固体群操作モデルの検討”, 日本バーチャルリアリティ学会第 13 回大会講演論文集, pp.171-172, 2008.
[4] 森井敦士, 森愛絵, 山本大介, 舟橋健司: “VR 調理学
習システムのための剛体による固体群操作モデル ”,
日本バーチャルリアリティ学会第 15 回大会講演論文集, pp.346-349, 2010.
[5] Morii, A., Yamamoto, D., Funahashi, K: “Interactive Manipulation Model of Group of Individual
Bodies for VR Cooking System”, In: Proc. of the
ICEC2010, pp484-486, 2010.

山本大介
2003 年名古屋大学工学部電気電子・情報工学科卒業、2008 年同大学大学院情報科学研究科博士課程修了。同年、名古屋工業大学情報基盤センター助教、現在に至る。Web サービ スとマルチメディア、
e-Learning に関する研究に従事。情報処
理学会、日本データベース学会、人工知能学会、IEEE 各会員。博士 (情報科学)。

舟橋 健司 （ 正会員）
1993 年岐阜大学工学部卒業、1995 年
名古屋大学大学院工学研究科博士前期課
程修了、1998 年同博士後期課程修了。同年名古屋工業大学助手、講師、助教授を経て、現在、同大学情報基盤センター准教授。バーチャルリアリティ、コンピュータ
グラフィックスに関する研究に従事。バーチャルリアリティ学会、電子情報通信学
会、IEEE 各会員。博士 (工学)。