第 14 回日本バーチャルリアリティ学会大会論文集 (2009 年 9 月)

VR 調理学習システムのための格子・粒子法による固体群操作モデル
Grid and Particle Based Model of Group of Individual Bodies
for VR Cooking System森井 敦士 1) ，山本 大介 2) , 舟橋 健司 2)

Atsushi Morii , Daisuke Yamamoto and Kenji Funahashi1) 名古屋工業大学 大学院研究科 情報工学専攻
2) 名古屋工業大学 情報基盤センター
Abstract : We have proposed a new manipulation model of a group of individual bodies (GIB) for
VR cooking system. In this model, GIB is represented with grid and treated as one object becauseof eﬃcient calculation. In this paper, we introduced a particle system into GIB manipulation
model. One particle is treated as some of individual bodies. Using this model, We realized natural
movement of GIB such as spilling from container.
Key Words: a group of individual bodies, VR cooking system, home use

はじめに

1.

うに容器が傾いていて, 固体群が容器の中央にある場合, 容当研究室ではこれまでに, VR 調理学習システムのための器の下部に曲面 (変形曲面) を生成して, 固体群に加算する.

固体群操作モデルを提案している [1]. ここで固体群とは,その後, 全体を押し下げることで体積を一定に保ち, 固体群

例えば砂やご飯のように, 細かな固体の集合のことと定義すを容器の下の方 (図 1 中, 容器左側) へ移動させる. 発生さる. 一般的に固体群の挙動計算は, 個々の固体の干渉を計算せる曲面は計算の簡単化のため, 半楕円柱とする. 詳細は文することにより行うが, 提案モデルでは固体群をひとつの操献 [1] を参照されたい.

作対象として扱うことにより計算時間を削減し対話操作を実現する.

変形曲面は容器の傾き, すなわち固体群の受ける力 (重力)に応じて決定する (図 2). 容器が加速 (a) している場合に具体的には固体群を格子と粒子によるハイブリッドモデ

は, 中身の固体群は反作用 (加速度 r) を受けると考え, 重力ルにより表現し, 格子表現による高速性と粒子表現による高(g) との合力 (g 0 ) に応じて変形曲面を決定する. ただし, 合い再現性を実現する. なお, 本モデルは挙動の正確さよりも力が上向きとなるような状況は考慮していない.

対話操作を第一の目的としている.
文献 [1] では格子表現によるモデルのみ実現されており,調理容器からの「こぼれ」や「舞い上がり」などの挙動は表現できない. 本論文では粒子表現とのハイブリッド化による, より自然な固体群の挙動の実現について述べる. 格子表

図 1: 変形曲面による形状変化

現と粒子表現は完全に独立な物ではなく, 状況に応じて互いに遷移する物である. 一般に粒子法は計算量が多く対話操作には向かないが, 格子法とのハイブリッド化で粒子数を押さえることにより対話操作性が維持できる.

2.

固体群操作モデル2.1

格子による固体群の表現

格子表現による固体群は, 平面に格子状になるように配置された頂点群の高さを定めることにより定義する. 固体群の形状変化は、曲面モデルに基づき行う. 例えば図 1 のよ図 2: 容器の加速による疑似的な傾きの算出

2.2

粒子による固体群の表現方法

コンを使用した. 調理容器をフライパンとし, 固体群は炒飯

粒子表現においては, 個々の固体をそれぞれ 1 つずつのを想定している. 格子表現による固体群の頂点数, 表面粒子粒子として表現するのではなく, 一定量の固体群を 1 つの粒の総数と衝突判定に組み込まれた粒子の平均数ごとの処理子として表現する. また描画においては図 3 に示すように,速度を表 1 に示す. なお, 平均数であるのは, 容器の傾きに格子表現による固体群と統合して描画表面を生成し, テクス応じて, 衝突計算に組み込まれる粒子数が常に変化するからチャマッピングにより描画する.

である. また, 頂点数が 2 乗した値でないのは, 容器が円形2.3粒子表現による固体群の挙動をしているためである. 描画頂点数 331 で [1] のモデルより粒子表現による固体郡の挙動は剛体の粒子法 [2] を用いても自然であるとの評価が得られた. 以上より, このモデルは計算する. このとき, 図 4 のように格子表現による固体群や対話操作性を維持しつつ, より自然な固体群の挙動を表現で容器の表面に粒子 (表面粒子) を配置し, この粒子との衝突きていると言える.

を, 粒子による固体群と格子による固体群の衝突とみなす.
これらの表面粒子は衝突により移動しない.

図 3: 粒子による固体群の表現 図 4: 表面粒子の配置例
表面粒子の数は, 格子表現による固体群の格子の間隔に依存するよう設定し, 粒子表現による固体群は基本的に容器内のみを移動させるようにする. また, 粒子表現による固体郡の描画表面を生成する前にこれらの衝突計算を行う. さらに, 計算量削減のため, 容器が傾いている方向に位置する表
図 6: 実験システム

面粒子のみ, 粒子表現による固体群と衝突計算をする.

2.4

粒子表現と格子表現の固体群の遷移

格子表現による固体群が容器の傾きで決定される変形曲

表 1: 処理速度の実験結果

面に応じて移動しているとき, 一部が移動しない場合がある(図 5). このとき移動していない格子表現固体群のうちの一頂点数

表面粒子の総数

平均粒子数

FPS331179567020

づき容器内を移動し, 容器の端に達した粒子は順に格子表現

6313523

130018

固体群に変換, 統合される. ただし, 容器の端における格子8174603

170015定量を粒子表現固体群に変換する. 粒子は, 減少した格子表現固体群の表面に生成する. また前述の剛体の粒子法に基表現固体群の量が多い場合や, 格子表現に変換されていない粒子表現固体群が多数ある場合など, 状況に応じて粒子は容器の外へと移動し, 自由落下する. 格子表現固体群に接していない粒子はその周囲に描画表面を生成し, テクスチャマッピングにより描画する.

4.

むすび
本研究では, 固体群を格子と粒子によるハイブリッドモデルにより表現する, 固体群操作モデルを提案した. 格子表
現による高速性を維持しつつ, 粒子表現による, より自然な挙動の表現や, 調理容器からの固体群の「こぼれ」の表現が可能である. 今後の課題としては, 固体群の受ける力が上向きの場合の格子表現と粒子表現間の遷移を実現し, 固体群の「舞い上がり」などの表現を実装する予定である.

参考文献[1] 舟橋健司, 小栗進一郎, “家庭での利用を目的とした VR
図 5: 格子表現から粒子表現への変換

調理学習システムのための固体群操作モデルの検討”, 日
本バーチャルリアリティ学会第 13 回大会講演論文集,3.

実験および結果
前述のモデルを用いて計算機 (1.86GHz, 1GB) 上に実験システム (図 6) を構築した. 入力装置には任天堂 Wii リモ

pp. 171-172, 2008[2] 越塚誠一 : 「粒子法シミュレーション 物理ベース CG入門」 pp.67-92, 培風館, 2008