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

粒子・体積ベース液体モデルを用いた VR 化学実験システム
VR chemistry laboratory system using particle and volume based liquid model
アンドレアス・リンドルース 1) , 夏目祐樹 1) , 菅瀬和弘 2) , 棚橋拓也 3) , 舟橋健司 1)

Andreas LINDROOS, NATSUME Yuki, SUGASE Kazuhiro, TANABASHI Takuya, FUNAHASHI Kenji
1) 名古屋工業大学 工学研究科（〒 466-8555 愛知県名古屋市昭和区御器所町, [andreas,natsume]@center.nitech.ac.jp, kenji@nitech.ac.jp）
2) 名古屋大学 大学院情報科学研究科
3) トーテックアメニティ株式会社
Abstract : We have researched an interactive manipulation model of virtual liquid. Expressinga vortex, a spinning ﬂow of liquid, simulating a stirring action of liquid, and coloring of the water
object through changing the surface color has been developed. In this paper we propose a virtualreality chemistry lab using these techniques. This system can be used for diﬀerent kind of purposes,
for example e-learning. E-learning oﬀers potentially cheaper education, increased accessibility andconvenience for users. Most existing systems rely on transmitting information through text material,
but by adding virtual reality content to the system the learning experience can surely be improved.
Key Words: particle and volume based liquid model, virtual reality, e-learning

1.

はじめに仮想液体のモデル

2.

高い臨場感のもとで仮想液体の対話操作を行い, その挙動液体シミュレーションのシステムの多くは, 粒子を用いてをリアルタイムに表現することは容易ではない. ナビエス

その運動を計算することで作成されている. より違和感のな

トークス方程式などを用いた手法による正確性の高いモデい表現をするには多数の粒子を用いる必要があるが, 3 次元

ル [1][2] は高い臨場感での液体の表現が可能であるが, GPU空間においてそれぞれの粒子の運動を計算する場合, 計算量やその他の特別なハードウェア無しでは, リアルタイムのシは非常に多くなってしまう. そのためリアルタイムのシミュミュレーションにおいては実用的ではない. 一方で, 体験シスレーションや対話操作を目的としたシステムにおいてはそテムやゲームなどのように厳密な挙動の再現を必要としないの利用は難しい. そこで当研究室では粒子・体積ベース仮想アプリケーションでは, 簡略化された計算モデルが必要とさ液体対話操作モデルを提案している. このモデルでは液体れている. 我々の提案している液体操作モデルは, e-learning

を粒子と体積に分けて考える.

やゲームなど, 具体的には VR 化学実験体験システムに焦点2.1粒子としての液体を合わせたものである. このシステムでは対話操作実現のた容器からこぼれ落ちる水や蛇口から流れ出る水などの自め, 液体の挙動の表現やレンダリングに関して簡略化された

由落下状態にある液体は, 粒子としての液体により表現する.

モデルを用いる. この種のアプリケーションにおいては, 2計算量を減少させるため, 粒子同士での衝突といった相互作種もしくはそれ以上の液体同士の相互作用を表現すること用は起きないものとする. 粒子としての液体が体積としてが可能なモデルを作成する必要がある. 例えば化学実験などの液体 (次節参照) に接触した場合, 換算比 N[粒子数/体積]において, 液体をかき混ぜるような操作は不可欠であり, そに基づいて体積を増加させる. 粒子としての液体は標準的の場合, 一つの容器内で 2 種類の液体が混ざりあう様子を表なビルボードレンダリングテクニックによりそれぞれの粒現しなければならない. 以下 2 章では, 当研究室で従来より子をポリゴンで描くことで表現する.

提案している仮想液体対話操作モデル [3] の概略について,2.2

体積としての液体

3 章では液面における色の拡散表現モデル [4] とそれを応用

容器の中に蓄えられた静止状態にある液体は体積としてした液体内部での色の拡散の表現方法, 4 章では混ぜる動作の液体で表現する. ある体積 V の静止状態の液体が容器かとそれにともない生じる液面の渦の表現, 5 章では作成したら流出した場合, 先述の換算比 N にもとづき, NV 個の粒子

VR 化学実験体験システムについて述べる.

を自由落下させる. 体積としての液体は液面および複数の側面を描画することにより表現する. 粒子としての液体や容器との相互作用により液面には波が発生し, その様子が変化する. 波の表現は, 格子状に分割した液面を考え, 以下の式

(1) に示す 2 次元波動方程式を用いることで行う. この式は座標 (x,y) における波の高さ z の関係を表しており, v は波が水面上を伝播する速度である.

∂2z∂2z∂2z= v2 ( 2 +)2∂t∂z∂y 2(1)

この式を格子点間隔 d で中心差分で近似し, さらに任意の減図 1: 液体内部表現に用いる格子状平面での色の拡散衰係数を乗じることで, ある時刻 t での各格子点の高さを計算することができ, 液面における波の表現が可能となる. た全ての側面それぞれに対して計算を行う代わりに, 1 度のだし, 側面については波の発生は考えないこととする.

計算で済ませることで, 計算時間を大きく減少させることが3.

できる.

色の拡散表現
容器内に存在する体積としての液体に異なる色の液体が流入した場合, 容器内で液体が混ざり合い, 色が拡散する. 色

4.

かき混ぜ動作と渦の表現の拡散を液面 (液面自体は 2 次元であるが, 色の拡散表現に実世界において, 液体を混ぜるという操作は化学実験を含奥行き感をもたせるために, 若干の厚みを持つ 3 次元格子とめ様々な場面で行われる基本的な操作であるため, 仮想液体して定義する.) において考えることで, よりリアリティの高操作モデルにおいても実装する. 高い臨場感のもとで混ぜい液面の表現が可能となる. 各格子点には色の情報 C と色る操作を行うためには, 液面に生じる渦の様子を表現する必の伝播を実現するための重みを表す変数 P を持たせる. 液要があると考えられる. 一般に渦の流れを正確に表現する面における色の拡散表現は以下の式 2 に示す 3 次元拡張しには流体力学にもとづいた計算を行うが, それでは計算量がた拡散方程式により P を拡散させることで行う. D は拡散非常に多くなってしまう. そこで, 対話操作を第一の目的と係数であり, 粒子が拡散する速度を調整する定数である.

した本研究では, 螺旋状の波と液面のへこみを組み合わせた擬似的な渦による表現を行う. まず, 液面において従来の直∂P (x, y, z, t)∂t=∂ 2 P (x, y, z, t)∂ 2 P (x, y, z, t)+2∂x∂y 22∂ P (x, y, z, t)+)(2)
∂z 2
D(交格子に加えて同心円格子を考え, 同心円格子を伝播する波により螺旋状の波を表現する (図 2).

格子点間隔を d とする. P の拡散に伴い, 各格子点がもつ色の値 C を以下の式 (3) により決定する.

(C[i][j][k](t + ∆t) − C[i][j][k](t))
d2D∆tC[i + 1][j][k](t) × P [i + 1][j][k](t)×P [i][j][k](t + ∆t) ×=+C[i − 1][j][k](t) × P [i − 1][j][k](t)+C[i][j + 1][k](t) × P [i][j + 1][k](t)+C[i][j − 1][k](t) × P [i][j − 1][k](t)

図 2: 同心円格子での波の伝播と螺旋状の波
また, 液面の高さに関する式 4 を適用して液面のへこみを表現する (図 3).

+C[i][j][k + 1](t) × P [i][j][k + 1](t)+C[i][j][k − 1](t) × P [i][j][k − 1](t)−6P [i][j][k](t)(3)

各格子点において, 時刻 t での色 C を用いて時刻 t + δt

z=

8 2
ω
>>
(r2 − 2a2 )>
>
< 8g>
>
2 4>
>
: ω a
8g r2

(r < a)(4)(r ≥ a)での色 C を生成し, それを液面に表示させることで色が徐々上述の式 4 は rankine の組み合わせ渦と呼ばれる考え方に拡散していく様子を表現する. また, 側面における色の拡によるものであり, 自然界における渦の現象をモデル化した

散表現は以下の方法により行う. まず, 図 1 左のように, 容ものである. ω は渦度, a は強制渦と自由渦の境界, r は渦器中央に y 軸に平行な 1 枚の格子状平面を用意する. この面の中心からの距離を表している. 強制渦と自由渦とは流れにおいて液面と同様にして色の拡散表現を行い（図１右）,の速度の違いにより区別されるものであり, a の値は簡単に側面にマッピングすることで液体内部における色の拡散をは求められない. また, 渦度 ω は流れの様子を表す値である表現する.

が, 粒子・体積モデルでは流体の速度を考慮していないため,

図 3: 組み合わせ渦による液面のへこみの様子
式３をそのまま用いることができない. そこで, 液体をかき混ぜている物体の平均位置より渦の大きさを定め, その渦の半径を a とし, ω は物体の移動方向と移動量より決定する.
上述の螺旋状の波と液面のへこみを組み合わせることで擬似的な渦による効果的な表現を行うことができる. 渦は液面中央を中心として発生するものとする. 混ぜる動作にともなう物体の動きの方向が時計回りか反時計回りかを調べ,一定方向であればその向きの渦を発生させる. 物体の動きの方向と渦の方向が同じであるならば ω の値を増加させ, 反対方向であるならば ω の値を減少させる. もし反対方向に混ぜる動作が一定の時間続いた場合, 一度渦を消滅させ, 今までのものとは反対方向の新たな渦を発生させる. また, かき混ぜる動作が行われているときは, 液面および液体内部における色の拡散の速度を速くする.

5.

実験および結果
上述のモデルにもとづいて実験システムを実装した. ソフトウェアの作成は C 言語で行い, レンダリングには OpenGL
図 4: 液面および液体内部での色の拡散の様子を用いた.
まず, 液体内部を色が拡散していく様子を図 4 に示す. 茶

表 1: 提案モデルにおける描画更新速度

色い液体の中に白い液体が流入し, そこから徐々に茶色と白の液体が混ざりあっていく様子を確認できる. つづいて液体操作

描画更新速度液面には螺旋状の波が発生している. また中心のへこみが次操作無し / 待機60 fps

第に拡大しており, 渦の様子を確認することができる. これ

液体を注ぐ

47 fps

液体をかき混ぜる

47 fpsをかき混ぜている様子を図 5 に示す. 混ぜる動作にともないらのモデルを用いて化学実験体験システムを構築した. 実験
時の全体の様子を図 6 に示す. 操作者は実際に手を動かすことで化学実験を体験することが可能である. 図 7 は化学実験の一連の様子である. ビーカーの液体に試薬を入れ, ガラス棒でかき混ぜることで化学反応が起きている様子が確認できる. このように操作者は高い臨場感の中で化学実験を体験することができる.

6.

むすび
本研究では液体内部の色の拡散表現と液面の擬似的な渦の表現を提案し, 簡単な化学実験を高い臨場感において体験

本提案モデルの有用性を確認するため, 描画更新速度を表可能なバーチャル化学実験体験システムを構築した. 提案す1 に示す. この実験システムでの処理速度は, 液体操作時にるモデルは計算量が削減された非常にシンプルな表現方法

おいて約 47fps であった. 人が対話操作であると実感できるであり, リアルタイム性を重視したアプリーケーションにも最低限の描画更新速度は 10 から 12fps 程度であるとされて容易に適用することができると考えられる. 本研究では対話おり, このシステムは対話操作に十分な処理速度を保ってい操作に重点をおいているため, 渦流の表現は物理法則にもとる. また容器を伝う液体の表現といった他の計算の追加も十づいた正確な方法ではなく, 擬似的なものである. そのため分行うことができると考えられる.

正確な挙動を示すわけではなく, 未知の実験への適用などは困難である. しかし, 既知の実験を体験するための, VR 技術を用いた e-learning システムとしての利用が期待できる.

図 7: 化学実験を行っている様子
図 5: かき混ぜる動作により生じる渦の様子

参考文献[1] Matthias Muller, David Charypar, Markus Gross,“Particle-BasedtiveFluidApplications”,

Simulation

Proceedings

forofInterac-Eurograph-ics/SIGGRAPH Symposium on Computer Animation(2003), pp. 154-159, 2003.
[2] Masataka Imura, Takashi Amada, Yoshihiro Yasumuro, Yoshitsugu Manabe, Kunihiro Chihara,“Synthetic Representation of Virtual Fluid for MixedReality”, Proceedings of 8th International Conference
on Virtual Reality, pp. 135-142, 2006
[3] Takuya Tanabashi, Hirotaka Itoh, Kenji Funahashi,
Yuji Iwahori, “Representation of Wave Surface on
図 6: 実験全体の様子

Virtual Water Manipulation”, SCIS & ISIS 2008, pp.

また, 今後の課題としては, 容器を伝う液体の表現, 氷の浮か[4] 棚橋拓也, 蒲将寛, 舟橋健司, “色の表現を考慮した粒子・ぶ水のような剛体を含む液体操作時における剛体と液体の体積モデルに基づく仮想液体操作システム”, 日本バー挙動モデルの構築などが挙げられる.

チャルリアリティ学会第 14 回大会講演論文集, 1D4-1

1460-1465, 2008.

(DVD-ROM), 2009.