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

粒子・体積ベース仮想液体操作モデルにおける凹形状容器での液体操作の実現
An Interactive Manipulation Model of Virtual Liquid with Concave Containers
夏目祐樹 1) , 伊藤宏隆 2) , 舟橋健司 3)

NATSUME Yuki , ITOH hirotaka and FUNAHASHI Kenji
1) 名古屋工業大学 大学院工学研究科 情報工学専攻（〒 466-8555 愛知県名古屋市昭和区御器所町, natsume@center.nitech.ac.jp）

2) 名古屋工業大学 情報基盤センター（〒 466-8555 愛知県名古屋市昭和区御器所町, ht-itoh@nitech.ac.jp）

3) 名古屋工業大学 情報基板センター（〒 466-8555 愛知県名古屋市昭和区御器所町, kenji@nitech.ac.jp）
Abstract : We have proposed the model for virtual liquid manipulation based on particle andvolume enables us to manipulate virtual liquid interactively. This model support only convex
containers because of simpliﬁcation of calculation. However, there are many concave containers
in real life. In this paper, we propose a method for manipulating liquid in a concave container.
This is helpful for recreating more scenes from the real world and improve the feeling of liquid
manipulating. First of all,we partition the concave container into convex parts, and then consider
an interaction between the liquids in each parts. Our model enables us to use concave containerswith a low cost of computations. Using this model, we can manipulate virtual liquid with concave
container like glasses which is narrow in the middle or ﬂasks used in chemichal experiments.
Key Words: virtual liquid, interactive manipulation, concave containers

1.

はじめに重点的に表現することにより, 操作者はたしかに液体を扱っ

近年のバーチャルリアリティの研究は, 固体や弾性体, 液ていると実感でき, 同時に非常に速い処理速度を実現してい体と様々な物質を対象としている. 一般的に液体は固体や弾る. このモデルは従来, 容器が凸形状であることを条件に簡性体と比較してその挙動が複雑である. そのため液体を扱う略化していた. しかし, 実世界には飲み物のグラスやフラス場合には, 厳密な挙動の再現もしくは対話操作のどちらかにコなどのくびれのある形状 (凹形状) の容器も多数存在する.

重点をおく必要がある. 前者では主に流体力学に基づいて計そこで本論文では粒子・体積モデルにおいて, 高速な処理速算するので計算量が非常に多く, シミュレーションなどで有度を維持しつつ, 容器を凹形状へと対応させる手法を提案す用であるが, 対話操作には向いていない. 一方で, 対話操作をる. 本提案モデルでは, 一つの凹形状容器を複数の凸領域に目的とした研究としては SPH 法を用いたものがある [1][2].

分割し, 各分割凸領域間での液体の移動を考えることで凹形SPH 法は比較的, 自然な挙動を再現しつつ, 実験システムに状容器への対応を実現する. 本モデルは液体操作の臨場感

おいては対話操作が可能であるが, 最低限の処理速度を保っを向上させるとともに, 当研究室で提案している VR 化学実ている程度である. そのため, 何らかのアプリケーションに験体験システムなどの VR コンテンツの構築にも利用でき適用するために他物体との相互作用のための計算処理などる. 以下 2 章では粒子・体積モデルの概要, 3 章では凹形状を追加することは難しい. そこで, 当研究室ではより対話操対応の方法, 4 章では実験とその結果について述べる.

作性に重点をおいた粒子・体積ベース仮想液体操作モデルを提案している [?]. このモデルでは液体を粒子と体積の 22.

粒子・体積ベース仮想液体操作モデル

つの状態に分けて考えることにより, 液体を容器で受け止め

2.1

仮想液体のモデル

る, 容器からこぼす, 他の容器からすくうといった操作が可

まずこのモデルでは, 液体を自由落下状態と静止状態の 2能である. 人間が無意識に期待している液体の挙動の特徴をつの状態に分けて考える. 自由落下状態の液体は粒子とし

凹形状容器での液体操作モデルて表現する. ただし対話操作を第一目的としているため, 粒3.

子の大きさや粒子同士の衝突は考慮しない. 粒子は重力お3.1

凹形状容器の分割

よび慣性に従い 3 次元空間内を移動し, 時刻 t における座標

本研究の目的は, 高速な処理速度を保ちつつ, 花瓶やフラPi (t) (i = 1, 2, ..., N ; N は粒子数) は次式 (1) により決定さスコのような凹形状容器での仮想液体対話操作を実現するれる.

ことである. まずはじめに, 一つの凹形状の容器を全てが凸Pi (t) = 2Pi (t − ∆t) − Pi (t − 2∆t) + g∆t2(1)形状領域となるように分割する. ただし, 本論文で扱う凹形状容器は口が一つのみであり, 枝分かれのような分岐構造はここで, g は下向きの重力加速度ベクトルであり, ∆t は描画更新間隔である. 静止状態の液体は体積に基づいて表現する. 時刻 t においてある容器内に存在する液体は Vt で表す.
二つの状態間での液体の遷移は, 換算比 N[粒子数/体積] によって行う.

2.2もたないものとする. また, 現段階では凸領域への分割は手動で行う. 分割により生じた各凸領域をそれぞれ容器の口に近いものから, 分割領域 a, b, …, とする (図 2). つまり分割領域 a は容器の口を含む部分である. 分割された面は口と区別して接続面とし, 各領域間の接続面を接続面 ab, bc, …,仮想容器のモデルとする. これら分割領域内に存在する液体の領域間の移動

仮想空間内に存在する容器はモデルの上では全て平行移動, 回転可能なものである. 容器を内包する球を考え, その中心を C, 半径を r とし, 容器の位置はベクトル C により表現する. 容器座標系 (軸 Xc , Yc , Zc ) を設定し, Xc を軸としを考えることで, 凹形状容器での液体操作を実現する. 以下の説明は分割により生じた凸領域は分割領域 a, b の二つとして行うが, 分割領域が三つ以上の場合においても同様の考え方で実現可能である.

た回転角 φ および Zc を軸とした回転角 θ により容器の傾きを表現する. また, Yc を軸とした回転角 ψ により容器の方向の変化を表現する (図 1).

図 2: 凹形状容器の凸領域への分割

3.2

分割領域のモデル

容器から容器外へ液体が流出する点が流出点であるが, あ

図 1: 仮想容器を内包する球と傾きの表現

る分割領域から別の分割領域へ液体が流出する点を接続面
容器から液体が流出する場合, ある 1 点よりこぼれ出すも流出点とする. 各分割領域の最大容積は流出点もしくは接続のとしてその点を流出点と呼ぶこととする. また, ある時刻

面流出点を用いて計算する. ある分割領域について, 全てのでの容器内に入りうる液体の最大量を最大容積 Vm とする.

容器の口および接続面を構成する頂点の中で, 世界座標系でV > Vm であれば, V − Vm の液体を粒子に換算して流出さの鉛直方向 y 座標が最小の点から流出点または接続面流出せる. これら流出点および最大容積は容器の傾きにともな点を決定し, 最大容積を計算する (図 3(a),(b)). ただし, 接い変化する.

続する分割領域の最大容積と液体体積が等しい場合, 接続面2.3

液位および液面の描画流出点は存在しないものとし, その分割領域への液体の流出ある容器において, 液面の存在する位置を液位とし, 容器は液位の統一 (3.4 節参照) により計算する (図 3(c)). このの内包球の中心 C から H の位置にあるとする. 液位 H はときの分割領域 b のように, 流出点, 接続面流出点がともに容器の回転角 θ, φ および容器内液体体積 V を用いて次式存在しないならば, 最大容積はその分割領域全体の体積と等(2) で表す.

しいものとする.

H = h(θ, φ, V )(2)

求めた位置に液面を描画することで体積としての液体を表現する. 容器を凸形状と限定し, ある体積の液体の様子を一意に決定することによりモデルを簡略化している. しかし,花瓶などのようにくびれのある凹形状の容器においては, 一
つの容器内で液体が複数箇所に分かれ, それぞれが異なる液位で存在することがある. この場合, ある体積の液体の様子は一意に定まらないため, この方法では表現できない. そのため容器は凸形状のものに限定されていた.

図 3: 容器断面図, 分割領域 a の最大容積 Vma の計算3.3

分割領域からの液体の流出

本実験システムでは, 操作者が自由に移動, 回転操作可能なある時刻 t のとき, 分割領域内の液体体積が最大容積を越移動容器と移動不可能な固定容器の二つの仮想容器を用いえているならば液体が領域外へ流出する. このとき液体の流る. 移動容器はモーションセンサを用いたコップ型デバイス

出先は容器外もしくは別領域の二通りが考えられる. 前者は,またはマウスにより操作する. モーションセンサには POL-

その分割領域が容器の口を含み, かつ鉛直方向 y 座標におい

HEMUS 社の 3SPACE ISOTRAKII を用いた.て, 流出点よりも値が小さい接続面流出点が存在しない場合

実験時の全体の様子を以下の図 6 に示す.

である. この場合, 分割領域内の液体体積 Vα (α = a, b, …)と最大容積 Vmα の差 Vα − Vmα の液体を粒子として容器外へ流出させる (図 4(a)→(b)). 上記以外の場合においては,Vα − Vmα の液体を接続面流出点の存在する接続面を共有している分割領域へ体積として流出させる. つまり, Vα − Vmαの値を対象となる分割領域内の液体体積に加算する (図 4(a)→(c)).

図 6: コップ型デバイスを用いた仮想液体操作の様子
凹形状容器による仮想液体操作と容器内での液体の挙動を
図 7, 8 に示す. 図 7 では容器を傾けることで液体が容器外
図 4: 容器断面図, 分割領域からの液体の流出へと流出 (図 7-A), もしくは容器内を移動して分割領域 b へと流入している (図 7-B). 図 8 では容器への液体の流入にと

3.4

液位の統一もない分割領域 a の液位が上昇し, 最大容積を越えたところ接続面を共有する二つの分割領域 a, b を考える. 鉛直方
向 y 座標に関して, どちらの液面も接続面を構成する頂点の最下点の高さ以上の位置に存在するならば, 容器内の液体体積は保存しつつ, 分割領域間で液位の統一を行う (図 5).

で分割領域 b へと流入している. また, 一つの容器内において液体が二箇所に分かれてそれぞれが異なる液位で存在していることも確認できる.
従来の凸形状容器による仮想液体操作時と処理速度について比較することで, 本研究におけるモデルの有用性を検証する. それぞれについて描画更新速度を計測した結果を表 1に示す. ただし, この結果はマウスによる操作時のものである.

表 1: 提案モデルでの描画更新速度についての実験結果

描画更新速度

図 5: 領域間での液位の統一
分割領域を内包する球の中心の y 座標を Cy , 液位統一後の液体体積を V 0 とする. 添字 a, b はそれぞれ分割領域 a, b を凸形状容器平均約 850fps

凹形状容器

平均約 820fps0表している. 以下の連立方程式 (3) を V について解くことで, 統一後に各分割領域内に存在すべき液体体積を求める.

{

Cya + Ha (Va0 , θa , φa ) = Cyb + Hb (Vb0 , θb , φb )Va + Vb = Va0 + Vb0

この結果より, 非常に高速な処理速度を維持したまま, 凹形(3)これにより容器内の液位を統一し, 液体の移動を表現する.

状容器による仮想液体対話操作が実現されたと言える. コップ型デバイスを使用した際には描画更新速度が 30fps 程度となるが, これはモーションセンサの更新速度の制限によるものである. また, 実際に数名の被験者にも体験してもらっ

4.

実験および結果
以上のモデルに基づいた仮想液体の対話操作の実験シス

テムを以下の環境で実装した.

CPU:Dual-Core AMD Opteron(tm)Processor 1210 1.8GHz

たところ, 容器内での液体の移動の様子が特に注目され, 液体を違和感なく操作でき, その挙動を確認できたという評価が得られた.

図 7: 容器を傾けたときの分割領域からの液体の流出

5.

図 8: 液体の流入にともない液位が変化する様子

参考文献

むすび
本研究では処理速度に重点をおきつつ, 容器の形状につい[1] Matthias Muller, David Charypar, Markus Gross,て着目し, 凹形状の容器を凸形状領域に分割して, 領域間で“Particle-Basedの液体の移動を適切に行うことで, 実世界の様々な凹形状のtive

容器による仮想液体対話操作の実現と臨場感の向上を図っ

ics/SIGGRAPH Symposium on Computer Anima-

た. 実験結果からわかるように非常に高速な処理速度での対話操作が可能であり, 液体と他物体との干渉などの実装も十分可能であると考えられる. 今後の課題としては,FluidApplications”,Simulation

ProceedingsforofInterac-Eurograph-tion(2003), pp. 154-159, 2003.
[2] Masataka Imura, Takashi Amada, Yoshihiro Yasumuro, Yoshitsugu Manabe, Kunihiro Chihara,• 容器を伝う液体の表現“Synthetic Representation of Virtual Fluid for Mixed• 剛体を含む液体かき混ぜ操作の実装と液体の流れReality”, 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などがある. また, 現在は本モデルや, 複数色の液体が混ざ

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

り合う様子を簡易的に表現する手法を用いて, VR 化学実験

1460-1465, 2008.

体験システムといった臨場感の高い VR コンテンツの構築を行っている.