TVRSJ Vol.8 No.3, 2003

基礎論文

物理法則を考慮した流れる仮想液体の表現と対話操作
舟橋健司∗1 岩堀祐之 ∗1
Interactive Manipulation for Virtual Flowing Liquid Considered Physical Parameters
Kenji Funahashi∗1

andYuji Iwahori∗1

Abstract– In this paper, a model to realize an interactive manipulation of virtual
liquid using a virtual vessel is described first. Then, we extend this model for the liquid
flow. We consider that a liquid vessel is separated into a grid and define the density andthe average velocity of liquid in each grid. We decide the movement of a liquid using
these value, then we can realize an interactive manipulation of the flowing liquid. Our
system with this proposed model makes it possible to catch the liquid, then to flow andspill the liquid by tilting it.

Keywords : virtual liquid, interactive manipulation, liquid vessel, liquid flow, densitychange model

1.

はじめに

操作モデルを提案している [7-9]. このモデルでは仮想空間内に液体との干渉を判定すべき仮想の容器を定義

現在, 工学分野のみならず, エンターテイメント分

し, 容器と液体との相互作用についてのみ考え, 以下の野などにおいてもバーチャルリアリティ(VR) 技術のような動作を可能としている.

研究は行われている. この VR 技術に対する要望のひ・落下して来る液体を容器で受け止める

とつに仮想空間中における対話操作の実現がある. こ・容器内の液体を別の容器ですくいとる

れまでは主に, 仮想空間に存在する固体 (剛体や弾性・容器から液体を落下させる

体) を対話的に移動, 変形する研究が行われて来ている

また, このモデルを拡張することにより, 流れの状態に[1,2]. しかし医療やアートの分野などにおいて, 固体
だけでなく, 液体や気体に対する対話操作が仮想空間

法では流れている状態の仮想液体を粒子に基づいて表で実現されれば, より高い応用を期待できる.

現する. 粒子個々の挙動を追うのではなく, 一定領域内

液体や気体の流れを対象とする学問として流体力学

ある仮想液体の表現手法も提案している [10-12]. 本手にある液体粒子の密度と平均速度を定義する. そしてがある. 流体力学は液体などの挙動の厳密な計算には

この 2 つの値を隣接する格子間で変化させる事により適しているが, 計算量が多いため, リアルタイム処理を

液体の移動を表現する.

行う必要がある対話操作には直接適用することは出来

本論文では, さらに圧力やエネルギーを物理法則にない. 一方, コンピュータグラフィックス (CG) や VR

基づいて考慮することにより, より現実感の高い液体の分野においても液体, 気体に関する研究は行われての流れの表現を実現する. なお, このモデルは対話操いる [3-5]. しかし, これらの研究も, 主にリアリティの作を第一の目的としたものであり, 挙動の厳密な再現

高い CG を作成することを目的としているため, 対話を主な目的とはしていない. CG によるリアリティの操作には向いていない. 例えば Stam は流体アニメー

高い映像のリアルタイム生成は, 今後の課題としたい.

ション作成の高速な手法を提案している [6]. Navier-Stokes 方程式をもとに, テクスチャマッピングを利用しているこの手法は, 対話的にアニメーションを作成可能である. しかし, 入れ物を用いた液体に対する, すくう, こぼす等の操作への直接的な適用は難しい.

2.

粒子体積に基づくモデル

本節では, これまでに提案した任意形状の容器による液体の対話操作を実現するための仮想容器, および,
仮想液体のモデルについて述べる.

我々はこれまでに, 仮想空間における任意な形状のこのモデルでは液体を以下の 2 つの状態で考える.

容器による液体の対話操作を実現する新たな仮想液体●自由落下 現実では, 空から降って来る雨, 水道の蛇口から流れ落ちる水などがある. ここでは, 液体を粒子*1：名古屋工業大学 情報メディア教育センター*1：Center for Information and Media Studies, Nagoya Instituteof Technologyに基づき表現する. 本研究では微妙な動きよりも対話操作を目的としているため, 各粒子は大きさを考えな日本バーチャルリアリティ学会論文誌 Vol.8, No.3, 2003

いものとする. また, 粒子同士の干渉は起こらず,2 つの粒子が衝突して 1 つになるという現象も起こらないものとする. これらの粒子は重力と慣性によって移動する.
●静止状態 現実では, コップの中の水などがある. こ3density
4
1

3

2

3

3

3

2

velocity

こでは, 容器内の対流などを考えず, 完全に静止した液体として扱い, 体積により表現する. すなわち, ある時

図 1 流れている液体のモデル
Fig. 1 Model of ﬂowing liquid

刻 t において液体が仮想空間内の容器に存在している
場合, 上述の粒子の性質は一切考慮せず, 容器の中に体積 V (t) の液体が存在していると表現する.

に見れば液体が流れているような動作を実現する. 多

上記の 2 状態間の換算には換算比 N [粒子数/体積]

くの液体は気体のように圧縮されることはないため,を用いる. 仮に容器内に体積 V の静止状態の水がある

液面付近以外では液体粒子の密度は一定になるはずでとして, その全体積をこぼすと N V 個の粒子と体積 0ある (このときの液体の密度を N と定義する, 格子内の静止状態の水となる. このモデルに基づき作成したの液体の粒子数は N d3 である). しかし, 本手法では実験システムでは, 落下してくる液体を操作者が自由液体を隣接する格子間で液体を漸次移動させる方法でに動かすことのできる仮想の容器で受け止め, 容器のあるため, 一時的に液体粒子の密度 D が一定の範囲内中に溜めることが可能である. また, 操作者が容器を傾けることにより, 容器内の液体をこぼすことも可能である. さらに, 他の容器内の液体をすくう操作も可能である. 相対的静止状態など, 詳しくは文献 [7-9] を参照
されたい.

3. 3

処理の流れ

ある時刻 t における状態から t + ∆t の状態を求めるには以下に示す処理を行う. その処理を繰り返し行
うことにより液体の流れを表現する. 以降, それぞれ

3.
3. 1

で増減することを認める.

密度変化モデル

液体の流れの表現方法

流れている状態の液体は現実では, 川の水や雨樋をの処理について説明する.
(1) 密度の変化の実行(1.a) 各格子内の密度の変化量の計算 まず始めに,
時刻 t から t + ∆t に状態が変化する際に各格子から流れる水などがある. Lagrange の方法により液体を他の格子へ移動する液体の粒子数を計算する. 考え方

粒子に基づく方法で表現しようと考えた場合 (図 1 左),は, 格子内に一様分布している液体粒子を平均速度分

液体粒子それぞれの位置や速度をもとに全体の液体のだけ移動させる, というものである. 時刻 t において,挙動を考える必要があり, 計算量が多くなる. そのため,

座標 (i, j, k) の位置にある格子 L(i,j,k) 内の液体粒子のリアルタイム処理を考える際には個々の液体粒子の挙密度を D(t)(i,j,k), 平均速度を v(t)(i,j,k) と定義した時,動を考えるという手法を直接用いることはできない.

移動する液体の密度は以下の処理を行うことにより求

そこで, 前述した 2 つの状態の中間的な状態を考える. まず, Euler の方法の考えに基づき, 液体の流れを考慮する部分を予め格子状に区切っておく. この格子内の液体粒子それぞれの挙動を見るかわりに, この領
域内では液体粒子が一様に分布していると仮定して,まる.

step1 立方体の想定 格子 L(i,j,k) 内の液体が密度(i,j,k) 3
N であったときの体積は D(t) N d であらわせる.
次に, 格子 L(i,j,k) と重心が同じ座標にあり, 体積がD(t)(i,j,k) d3の立方体を定義する (図 2(a) 点線部分). こN

一定領域内に含まれる液体粒子の個数, つまり液体のの立方体は格子内にある液体を想定するものである.

密度と平均速度を考える (図 1 右). この 2 つの値を,

これを次のステップ以降で変形, 移動した後の位置を有限体積法の考え方を参考に、隣接する格子間で変化

基準に L(i,j,k) から隣接する格子に移動する液体の量させることによって液体の流れを表現する.

を決定していく. なお, 簡単のために 2 次元の図で表3. 2容器のモデル

現しているが, 実際の処理は 3 次元で行う.

辺の長さが d , 容積 d3 の格子状に区切っておく. そし

step2 圧力を考慮した形状の変形 注目している格子内の液体密度に対して隣接格子内の液体密度が高い場合, 圧力により注目格子の外へ移動する液体は少て区切られた格子それぞれについて, 液体の平均速度

なくなる. 逆に注目格子に対して隣接格子内の液体密を v, 格子内にある液体粒子の密度を D [粒子数/容積]

度が低い場合には外へ移動する液体は多くなる. とと定義する. この速度と密度を隣接する格子間で変化

ころで運動と位置, 圧力によるエネルギーは保存されさせるという処理を繰り返し行うことにより, 全体的る. また非圧縮性流体の場合には, 圧力は密度, 重力

以下では容器内における液体の流れを考える. 液体の流れを考える容器 (以下, 単に容器と呼ぶ) を予め一

舟橋・岩堀 : 物理法則を考慮した流れる仮想液体の表現と対話操作と深さの積により考えることができる. これらを考D(t)(i,j,k)NY慮して step1 で求めた立方体の形状を変形する. 立(i,j,k)方体の各面の変化量は D(t)(−1,0,0)(0,1,0)m(i,j,k)Ym(i,j,k)(1,0,0)m(i,j,k)と, 周囲の格子内の(0,−1,0)m(i,j,k)

液体の密度 D(t)(i+p,j+q,k+r) (ただし,step2 においては (p, q, r) = (−1, 0, 0), (1, 0, 0), (0, −1, 0), (0, 1, 0),(0, 0, −1), (0, 0, 1) の, 面で隣接する 6 通り) をそれぞれ比較し, その差と, 液体の鉛直方向の位置の差に応じ(p,q,r)て決定する. 立方体の各面の位置は m(i,j,k) だけ変化

X

(a)
Y

X

(b)
(i−1,j−1,k)Y B(i,j,k)∆tv(t)(i,j,k)(i,j,k)B(i,j,k)させる (図 2(b) 破線部分).
(p,q,r)m(i,j,k) =ρ1 (D(t)(i,j,k) − D(t)(i+p,j+q,k+r) ) + ρ2 r
ρ1 , ρ2 : 比例定数

X

(c)

X

(d)

ここで ρ1 , ρ2 は上述のエネルギーが保存されるように決定する. 本式および, パラメータの詳細は 3.5 節において述べる.

図 2 格子内密度の変更量の計算
Fig. 2 Calculation for amount of densitychangestep3 直方体の移動 次に step2 によって変形された
直方体を格子内の液体の平均速度 v(t)(i,j,k) を用いての密度を更新する. ある格子 L(i,j,k) に注目した時, 液移動させる (図 2(c) 太線部分). これは時刻 t におい

体を移動させた後の密度は次式で示される.

て格子 L(i,j,k) にあった液体が流れる様子を表している. 直方体の移動距離は ∆tv(t)(i,j,k) で表せる.

step4 移動する密度の計算

D(t + ∆t)(i,j,k) =(i,j,k)T(i+p,j+q,k+r)

p,q,r=−1

step3 の処理により移動した直方体が, どの格子の中にどれだけの割合で含ま1

れているかを計算する. この割合が, L(i,j,k) から移動

(2) 速度の変更(2.a) 液体の移動に伴う速度の変更 液体のもともとする液体 (粒子) の割合となる. 直方体のうち,L(i,j,k)の速度による液体の移動や, 液体の圧力差による液体の近傍の格子内部に含まれる部分の体積を, それぞの移動を行ったことに伴い, 各格子内の液体の平均速(i+p,j+q,k+r)

れ B(i,j,k)とする (図 2(d) 斜線部分). ただし,step4 においては p, q, r のとる値はそれぞれ −1, 0, 1のいずれかである. 直方体のうち, 格子 L(i,j,k) の内(i,j,k)部に含まれている部分の体積は B(i,j,k) であらわせ(i,j,k)る. このようにおいた時, Lから単位体積の格子(i+p,j+q,k+r)

L(i+p,j+q,k+r) に移動する液体の粒子数 T(i,j,k)は以下の式で求まる. 他の格子へ移動せず元の格子に(i,j,k)留まる液体は T(i,j,k) , すなわち p = q = r = 0 により求まる.
(i+p,j+q,k+r)
B(i,j,k)(i+p,j+q,k+r)(i,j,k)T(i,j,k)= D(t)
1(i+u,j+v,k+w)
u,v,w=−1 B(i,j,k)

ただし, 液体の移動先の格子内の密度が設定されたしきい値よりも高い場合は, その格子へ液体が移動して更に(i+p,j+q,k+r)= 0と密度が高くなるのを防ぐために, B(i,j,k)

度も変更する必要がある. ある格子 L(i,j,k) において,(i,j,k)密度の更新を行った後の平均速度 v(t)Tを以下の通りとする.

1(i,j,k)u,v,w=−1 vm T(i+u,j+v,k+w)
1(i,j,k)p,q,r=−1 T(i+p,j+q,k+r)vT =(i,j,k)(i+u,j+v,k+w)

vm = v(t)+m(i+u,j+v,k+w)∆t(2.b) 液体の加速 液体の流れを考えている容器が移動する際, 容器内の液体は元の位置に留まろうとするので, 容器に加えられた力とは逆向きに反作用の力がかかる. 時刻 t における容器の中央の座標を C(t) とすると, 液体にかかる加速度 a(t) はa(t) = −C(t) − 2C(t − ∆t) + C(t − 2∆t)∆t2

して計算する. また, 直方体の移動先が容器の壁面よりである. また, 液体には常に重力加速度 G がかかって(i+p,j+q,k+r)も外部に出てしまった場合も同様に B(i,j,k)=0

いる. これらにより, 格子 L(i,j,k) 内の液体の速度は以として計算する.

下のようになる.

以上の step1 から step4 までの処理を全ての格子について行うことにより, 液体の移動量を計算する.

= v(t)T + ∆tG + ∆ta(t)v(t)(i,j,k)a(1.b) 全格子の液体密度の変更 前述の方法により各(3) 例外処理

格子について密度の変化量を計算した後, 全ての格子(3.a) 壁面における液体の反射 容器の壁面 (底面) 部

日本バーチャルリアリティ学会論文誌 Vol.8, No.3, 2003
(i,j,k)v(t)h(i,j,k)v(t)r

要があるためである. つまり, 液体の最高速度 |vmax |(i,j,k)v(t)rは時間 ∆t の間に格子の 1 辺の長さ d だけ進む速度と(i,j,k)する. 格子 L(i,j,k) の速度が v(t)r(i,j,k)−ηv(t)p(i,j,k)v(t)p(i,j,k)(i,j,k)

v(t)a

v(t)p

(i,j,k)

v(t)a
図3


v=

(b)

(a)

の時, 調整をおこなった後の速度 v(t + ∆t)(i,j,k) は次式で表せる.
(i,j,k)v(t)r(i,j,k)v(t)r|vmax |
(i,j,k)|v(t)r|(i,j,k)(|v(t)r| > |vmax |)(i,j,k)(|v(t)r|<= |vmax |)壁面部分における液体の反射

Fig. 3 Reﬂection of liquid in wall surface

容器の大きさを考慮して格子の大きさを設定することにより, 一般に扱う液体に関しては問題は小さいと考分においては, 液体の速度の壁面に垂直な方向成分はえられる.

反対方向へ反射する. 本手法では液体を減衰率 η で非3. 4

弾性衝突させる (図 3(a)). ただし振動を抑制するため

ここでは自由落下状態の液体が容器に入り, 流れのに, 壁面に対して垂直な方向の速度成分が一定のしき状態になる時, 逆に流れの状態から自由落下状態の液

自由落下状態の液体と容器

い値 f 以下の時は反射は行わず, 垂直方向の成分を 0体になる時の遷移モデルについて説明する.

(i,j,k)とする (図 3(b)). 格子 Lの速度が v(t)aの(i,j,k)時, 壁面に対して垂直な方向の速度成分を v(t)p,(i,j,k)平行な方向の成分を v(t)hとすると, 壁面での反射(i,j,k)を考慮した後の速度 v(t)rは以下のようになる.

自由落下状態から流れの状態へ 自由落下状態の液体(i,j,k)(i,j,k)(i,j,k)− ηv(t)p v(t)h(i,j,k)
vr =
v(t)h


(i,j,k)v(t)a(i,j,k)(ある粒子) が容器の内部にあった場合, その液体を粒子としては消滅させ, その粒子の存在した座標を含む
格子内の液体の密度を増加させる. また速度の更新時に粒子の最終速度を考慮する.

(f < v(t)p)(i,j,k)(f >)= v(t)p

流れの状態から自由落下状態へ 容器の口を構成する(壁面以外)

動した液体の密度に比例した量だけ自由落下状態の粒(3.b) 容器の底面付近での処理 容器の底面付近の格子では, 重力により下向きの速度をもった液体が常に流れ込んでくる. そのため, 密度が高い状態が続いてしまい, 時間が経過しても容器内の液体の密度は均等には成らないという状況が生じる. この問題を改善するため, 容器の底面の方では例外的な処理を行う.
条件 1: 格子内の密度がしきい値より大きい.
条件 2: 格子の下方 3 方向が容器の壁面であるか, こ
こで示す例外処理が行われている状態であり, 下方へ

格子内の液体の移動先が, 容器の外部であった場合, 移子を作成する.

3. 5

圧力とエネルギーの考慮

本節では, 3.3 節 (1.a) Step2 における式および, パ
ラメータについて述べる. まず, 鉛直方向の長さ d, 底
面積 d2 の液体部分に作用する圧力と重力によるつり合いを考える. 上下両底面の圧力を p, p + ∆p, 液体の密度を D, 重力加速度を G とすると、圧力による力は pd2 − (p + ∆p)d2, 重力による力は DGd2 d であるから, つり合いの式は以下となる.

と液体が流れてはいけない状況である.

∆p = DGd

条件 3: 1,2 を満たす状況が一定時間継続している.
以上の条件を満足した格子について, 格子の各面を容この式より, つり合いの状態では圧力は下方に向かっ器の壁面と同様の扱いにする. つまり, 隣接する他のて増加し, 増加率は液体の密度 D に比例することが格子からこの格子へ移動してこようとしてくる液体に分かる.

ついては, 移動させず, 平均速度についてはこの格子

また, 流れの中に微小断面積を有する流管を考える.

の面に垂直な方向に反射させる. ただし, この格子か高さが z1 である断面 1 から z2 である断面 2 へ, 流ら他の格子へ移動する液体については通常どおり移動

体が速度 u1 で流入し u2 で流出しているものとする.

させる. このような処理を条件 1,2 を満たさなくなる

断面 1 でのエネルギー e1 は, 断面に流入する単位時までの間, つまり格子内の密度が一定値以下になるか,間あたりの質量を M1 , その断面に作用する圧力を p1 ,下方へと液体が流れて行ける状態になるまで続ける.

断面積を A1 , 重力加速度を G とすると次式で与えら(3.c) 速度の制限 最後に, 液体の速度が限界値を超れる.

えないように調整を行う. このモデルでは速度 v は一定速度 |vmax | 以上にはならないものとしている. これe1 =1
M1 u21 + M1 Gz1 + p1 A1 u1
2

は v が大きくなりすぎると, 単位時間の間に隣接する流体の密度を N とすると質量は m1 = N u1 A1 であ格子よりも遠方まで液体が移動することを考慮する必るため, 単位質量当たりのエネルギー (比エネルギー)

舟橋・岩堀 : 物理法則を考慮した流れる仮想液体の表現と対話操作

は次式で与えられる.

あった. 対話操作においては一般に, ユーザがカップ

u2
p1
e1
= 1 + Gz1 +M1
2
N
エネルギーの保存則より e1 = e2 が成り立つ (ベルヌーイ式) ため, dp = p1 − p2 , dz = z1 − z2 とし、流入については 3.3 節 (2.a) で別途考慮しているため,
ここでは考えずに u1 = 0 とすると次式が得られる.

u22
2

=

dp
+ Gdz
N

の移動などを行ってから 10–12 fps 程度でその結果が反映されれば, ユーザは自身において映像中の操作を行ったと認識すると言われている.
次に, 液体の流れを考えている容器をすこし左側に傾けた時の様子を連続画像として 図 6 に示す. 容器を傾けたことによって液体が左側へと流れて行き, 容器
から外に出た液体が自由落下状態の粒子となっている.
液体が少ない時の様子を同様に 図 7 に示す. ここでは容器が左手前方向に傾いていて, 少量の液体が溜まっ注目している立方体格子の面の位置の変化量を m とている状態から容器を右奥方向に傾けた時の液体の動すると u2 = m/dt であるので次式が得られる.

作を示している. 左前方に溜まっていた液体が広がり

2dt2
dp + 2dt2 Gdz
Nm=

ながら流れて行き, 最終的に右奥方向に向かっていく
様子が分かる.
実際に研究室内の数名の学生に体験実験をしてもここで, dp =dDGd であると考え, 鉛直方向の変化量

らったところ, 本当に液体を扱っているように感じる,

dz を r(−1, 0 または 1) と考えると次式を得る.

液体が流れているように見える, などといった積極的m=

2dt2 Gd· dD + 2dt2 G · rN

なお, 本モデルは物理法則の一部を参考にしてはいるが, 物理法則に従ったものではない. 対話操作を目的として, 現実感の感じられる液体の流れを表現するものである.

な意見を頂いた. 従来のシステム [12] との比較においても, 体験者の主観的であるが, 以前よりもさらに液体の流れが自然に感じられる, との評価を頂いた. また計算機科学分野を専門としない学生に対して, 詳細な説明無しに入力装置としてのカップを渡したところ,
自身の動作に対する画面の変化から状況を把握し, 自由に液体の操作を行うことが可能であった.

4.

実験および結果

上述のモデルに基づいた仮想液体操作のための実験システムを, グラフィックワークステーション SGIOCTANE2 上で C 言語により実現した. 液体の流れを考える仮想容器は操作者が自由に移動することが可能で, 容器の位置と傾きは Polhemus ISOTRAK II により入力される. 液体の流れを考慮する容器の形状は
縦横 20 [cm], 高さ 6 [cm] を想定している. また, 格子の一辺の長さは 1 [cm], 容積 1 [cc] とする. 液体粒子
は 1 個 0.1 [cc] として扱う, すなわち換算比 N = 10

[粒子数/cc] である. 限られた画面内で実験を行うために, 重力加速度を 1 [m/s2 ] に設定する.
描画方法に関しては次の通りである. 2 節で述べた
静止状態の液体は水平面である液面を半透明表示し,相対的静止状態の液体の液面も平面として半透明表示
する. 自由落下状態の液体は, 粒子を小さな正方形として半透明表示しており, 流れの状態にある液体は, 格子内の液体密度から液面の位置を計算し, 液体の深さから半透明の係数を決定してポリゴン表示している.
本システムを使用して実際に操作している例を 図 4に示す. 体験者がセンサの取り付けられたカップを操作することにより, 仮想容器で仮想液体を操作可能なことがわかる. 操作時の画面全体は 図 5 に示す通りである. この時, 描画更新速度は毎秒 20 frame 程度でそこで，以下に示す実験を行い，アンケートに答えていただいた．被験者は 10 代後半から 40 代前半にわたる男女 32 名であり，工学分野を専門としない被験者も含んでいる．被験者への指示は次の通りである．
・本論文で提案するシステムと従来システム [12] の両方を体験してもらう
・被験者ごとに体験してもらう順序を変更し，被験者にはその順序を伝えない
・両方とも体験してもらった後に，各システムに対する評価（5:良〜1:悪）をしてもらう
結果を表 1 に示す．従来システム (旧) よりも提案シ
ステム (新) を高く評価した被験者が半数を超えた．2
段階高く評価した被験者は 1 名であった．また逆に，
提案システムを低く評価した被験者は 2 名であり，いずれも 1 段階低い評価であった．この結果から，本論文で提案するモデルにより，以前よりも自然に感じさせる液体の流れを表現できていると考えられる．
このモデルの現状の問題点としては, 液体の量が少ない時, 液面が完全に水平にはならない, ということが挙げられる. 例として, 容器の底面が水平方向と平行
で, 容器の底面にある格子内の液体の密度が低く, 各格
子内の液体の速度が全て 0 であるような状況を仮定する. この時, 密度変化を考える際に使用する直方体 (図2(c) の太線部分にあたる直方体) がもとの格子の内部

日本バーチャルリアリティ学会論文誌 Vol.8, No.3, 2003
評価 (旧) (新) − (旧)
4.3
3.8
0.47
分散
0.60
0.58
0.45
標準偏差
0.78
0.76
0.67
最大値
5
5
2
最小値
3
2
-1
表 1 実験結果
Table 1 Experimental result
評価 (新)

究の一部は, 堀情報科学振興財団研究助成による.

平均に含まれてしまい, この格子内の液体は他の格子へ移らない. そのため, 液面が水平にならない状態のままで安定してしまうという問題が存在する.

5.

むすび

本研究では, 液体の流れを考える容器を格子状に区切り, 局所的に一様に分布する粒子を想定した密度変化モデルを用いて, 仮想空間における流れの状態にある液体の表現を実現した. さらに, 圧力やエネルギーを物理法則に基づいて考慮することにより液体粒子の移動をより自然なものとした. 上述の提案に基づいたシステムでは容器を傾けることにより流れている状態の液体を自由に操作することが可能であり, さらに自由落下してくる液体を受け止めること, 逆に流れている状態から液体をこぼして自由落下状態にすることも可能である.
実験システムにより, 圧力やエネルギーに関するパラメータを物理法則に基づいて考慮した密度変化モデ
ルが, 操作を対象とした液体の流れの表現に有効であることが確認できた. 本モデルは液体の厳密な挙動の再現を目的としたものではないため, 全ての用途に応用できるものではない. 作業手順の確認や学習, イン
タラクティブアートのような「水の存在」自体が意義のある目的への応用が期待できる.

参考文献[1] 舟橋健司, 安田孝美, 横井茂樹, 鳥脇純一郎: “仮想空間における仮想手による道具操作のための知識とモデル”, 日本バーチャルリアリティ学会論文誌, Vol.3,

No.3, pp.167-176 (1998)[2] 藤本英雄, 佐野明人, 磯部玄, 胡摩心一郎, 竹内博良:“ マイクロドームシステムを用いた力覚縫合シミュレー
タ”, SICE SI2001 講演論文集, pp.405-406 (2001)[3] Michael Kass, Gavin Miller: “Rapid, Stable Fluid
Dynamics for Computer Graphics,” Proc. SIGGRAPH 90, pp.49-57 (1990)[4] N. Chiba, S. Sanakanishi,
K. Yokoyama,
I. Ootawara: “Visual Simulation of Water Currents Using a Paticlebased Behavioural Model,”The Journal of Visualization and Computer Animation, Vol.6, pp155-171 (1995)[5] Jim X. Chen, Niels da Vitoria Lobo, Charles E.
Hughes, J. Michael Moshell: “Real-Time Fluid
Simulation in a Dynamic Virtual Environment,”
IEEE CG&A, Vol.17, No.3, pp.52-61 (1997)[6] Jos Stam: “Stable Fluids,” Proc. SIGGRAPH 99,
pp.121-128 (1999)[7] 舟橋 健司, 岩堀 祐之: “仮想容器による仮想液体の対
話操作モデルと一実現法”, 日本バーチャルリアリティ
学会論文誌, Vol.5, No.4, pp.1087-1094 (2000)[8] Kenji Funahashi, Yuji Iwahori: “Virtual Liquid
Manipulation Using General Shape Vessel,” Proc.
IEEE VR2001, pp.283-284 (2001)[9] Kenji Funahashi, Yuji Iwahori: “Representation of
Swinging Liquid on Virtual Liquid Manipulation,”
Proc. ICAT2001, pp.179-184 (2001)[10] 宇佐美健一, 舟橋健司, 岩堀祐之, 岩田彰: “格子モデルを用いた流れる液体に対する対話操作の検討”, SICE
SI2001 講演論文集, pp.403-404 (2001)[11] 舟橋健司, 宇佐美健一, 岩堀祐之: “仮想液体操作−
密度変化モデルによる流れの表現”, 第 18 回 NICOGRAPH 論文コンテスト論文集, pp.9-14 (2002)[12] 舟橋健司, 宇佐美健一, 岩堀祐之: “仮想液体操作における密度変化モデルによる流れの表現”, 芸術科学会
論文誌, Vol.2, No.1, pp.1-7 (2003)

今後の課題として, 問題となっている液面が完全に［著 者 紹 介］

水平にはならない状況を解決する必要がある. 静止画
では確認が困難であるが, 流れの状態における粒子の分布が速やかに収束せず過渡的に液面が不自然になる場合もあるため, この問題を解決する必要もある.

舟橋

健司 （正会員）
1998 年名古屋大学大学院情報工学専
攻修了，同年名古屋工業大学情報処理教育センター助手，2000 年同情報メディア
教育センター助手，2002 年同センター
講師，現在に至る．人工現実感に関する研究に従事（工学博士）．

格子の大きさや液体の粒子との換算比, 時間間隔 ∆tなどに関しても, 本システムでは経験的に設定しているため, 実験, 考察しなければならない. これらはハードウェア技術の進歩に伴う計算時間の短縮も考慮して検討したい. アート等の分野への応用を考えた場合,
液体の挙動を考慮するだけでなく, 付加的な臨場感を高める必要もある. CG による表現方法の向上や波の音などの表現についても取り組んでいきたい.
謝辞
最後に, 本研究を進めるにあたり有益な議論を頂いた本研究室諸氏, および卒業生に感謝する. なお本研

岩堀祐之
1988 年東京工業大学大学院電子工学専攻修了，同年名古屋工業大学情報処理
教育センター助手，1992 年同センター
助教授，2000 年同情報メディア教育セ
ンター助教授，2002 年同センター教授，
現在に至る（工学博士）．

舟橋・岩堀 : 物理法則を考慮した流れる仮想液体の表現と対話操作

図 4: 実際の操作の様子

図 5: 操作時の画面表示

Fig.4: Appearance of proposed system

Fig.5: Initial state

図 6: 実験結果の連続画像

図 7: 液体が少ないときの動作

Fig.6: Experimental result

Fig.7: Situation with few liquid