平成 21 年度 修士学位論文

対話性を重視した仮想液体操作モデルにおけるかき混ぜ動作の実現

指導教員
舟橋

名古屋工業大学大学院
博士前期課程平成 20 年度入学

棚橋

工学研究科

情報工学専攻20417566 番

拓也

健司

准教授

i

目次

第 1 章 はじめに

1

第 2 章 粒子・体積モデル

3

2.1

液体モデル

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2.2

容器モデル

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42.3

流出点，液位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.4

液面モデル

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.4.1

波の表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.4.2

液面の形成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

第 3 章 渦流の表現

8

3.1

擬似的な渦

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.2

液面表示法

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3

液面の高さ

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.4

9

3.3.1

流体力学における渦 . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.2

rankine の組み合わせ渦 . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3.3

本モデルへの適用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

渦の表現を考慮した仮想液体操作モデル . . . . . . . . . . . . . . . . . . . . 14

第 4 章 実験及び結果

16

4.1

液面表示モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.2

渦の表現における評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3

実験システムの構成

4.4

実験結果及び評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

第 5 章 むすび

27

謝辞

29

参考文献

30

発表論文リスト

32

1

第1章

はじめに

バーチャルリアリティ(Virtual Reality:以下 VR) とは，ＣＧなどによりただ表示しているというだけでなく，現実そのものではないが，現実の効力を有することにより現実そのもののように感じる仕組みや技術である [1]．そして VR の構成要件として必要なものは，体験可能な仮想空間 (virtual world) の構築，五感に働きかけて得られる没入感 (immersion)，対象者の位置や動作に対する感覚へのフィードバック (sensory feedback)，対象者が世界に働きかけることができる対話性 (interactivity) の四つとする考え方が存在し [2]，近年の VR 技術の発達によって，より現実感のある汎用性の高いシステムが多く提案されている．

VR 技術を使った一例として，震災シミュレーションを用いた防災教育システムがある [3].
これは地震等，災害発生時に適切に判断し行動するための防災教育システムであり，あらか
じめ疑似体験することによってより高い効果が得られる. 従来の防災教育といえば，小部屋などを実際に揺らすシステムが存在するが，その製作費用や体験時のけがの危険性など，多くの問題点があった. そこで VR 技術を用いることによりこれら問題を解消するとともに，より高い現実感を作り出すことで疑似体験としての効果も保証する. また，一つは没入型のVR 環境を用いることでより高い臨場感での疑似体験を実現し，もう一方で低レベルのシステムで再現性をテストすることでより普及可能な防災教育ツールの開発も行っている. これは，VR 技術では構成する全ての要件を高い基準で満たすことは難しいとされるためであり，システム等を構築する際には，何が必要とされているかということを考えることが重要となる.
このような VR 技術について，仮想空間における様々な対話操作の研究が行われてきた．
従来の対話操作の研究としては，剛体や弾性体を移動，変形させることを目的としたものが多く [4][5]，近年では仮想的な液体や気体を操作し，その挙動を観測する研究も盛んとなっている [6]．特に，産業や医学の分野では液体や気体の操作を行う場面があり，仮想的に体験したいという要望が多く存在するため，これら研究の応用が期待されている [7]．実際の液体ではなく仮想的に扱える利点として，実験コストの削減や貴重な物質の実験等をより容易に体験できる，ということが挙げられる．これらの仮想体験は主に，実際の正確な挙動を観測するという目的と，実験等の過程において液体や気体の操作をより臨場感のある状態で対話的に行いたいという目的の二つに大別できる．しかし，仮想液体における研究では，その挙動の厳密さを追い求めるほど処理時間が多くかかってしまうという問題が存在するため，
上記二つの要望を同時に満たすことは難しい．例えば，液体の表現に関して，流体力学に基

第1章

はじめに

2

づき挙動の計算を厳密に行うことにより水面や水しぶきを表現することが可能 [8] であるが，そのためには多くの計算時間が必要であり，リアルタイム処理には不向きである．
仮想液体の対話操作の研究において，Smoothed Particle Hydrodynamics(以下 SPH 法)を改良した手法が多く存在する [9][10]．SPH 法とは粒子法の一つであり，流体を粒子の集合としてとらえ，その粒子の挙動を計算し表現することで水面の大きな変形や水しぶきの表現を可能とした手法である．この手法は主に解析などの分野で用いられており，流体力学に基づいた計算に近い精度の挙動を実現することが可能である．井村らは SPH 法を取り入れた仮想流体の対話操作手法を提案し，流体としての表現に関してはとても優れた結果を残している．しかし，計算に膨大な時間を要するためその処理速度は決して速いものではない．
一方，当研究室では，仮想液体の操作におけるインタラクティブ性に重点をおいた研究を進めており，非常に速い処理速度で仮想液体操作を実現した [11][12]．本モデルは，液体を粒子と体積という二つの状態としてとらえ計算する新たなモデルであり，落ちてくる液体を容器で受け取る，容器内の液体をこぼす，容器内の液体を他の容器ですくう，という操作を実現している．本モデルを以下では粒子・体積モデルと呼ぶ．液体としての簡単な挙動を実現することで，操作者には液体を操作していると感じさせるとともに，処理速度の高速化を行った．また，粒子・体積モデルにおいて波や色の表現を行う手法の研究も行っている．これら提案手法では，比較的計算に時間のかからない波動方程式や拡散方程式を用いること
で，処理速度の高速性を保ったまま，液体操作における臨場感の向上を図っている．この研究での描画更新速度は平均 130fps を実現しており，対話操作に十分な処理速度を保っているといえる．
このように当研究室では，仮想液体の対話操作において処理速度の高速化，臨場感の向上を図る手法を提案してきたが，その挙動や操作はまだ限定的であり，特に，液体内部の表
現や流れの表現などに課題を残している．そこで本研究では，前述の粒子・体積モデルを基に，その液面における波の表現法に改良を加えることで仮想的な渦流を実現し，対話操作に十分な処理速度を保ちながら液体としての臨場感を向上させた仮想液体モデルを提案する．
本モデルは，従来通り実用的なシステムに用いることを目的としており，高速処理が可能で臨場感の高い仮想液体モデルである．応用例の一つとして，当研究室で開発している仮想実
験システムへの適用を予定している．これは例えば化学実験等の手順を仮想空間内で体感的に確認することが可能なシステムであり，液体の厳密な挙動を必要としない．しかし利用者
にとって，高い臨場感は直感的に手順を把握する手助けとなると考えている．

以下，2 章では提案モデルの基となる粒子・体積モデルの概略を説明する．また 3 章では

4 章では実験及び結果，5 章では本研究のまとめを述べる．

3

第2章

粒子・体積モデル

本章では，当研究室でこれまでに提案されている粒子・体積モデルについて述べる．詳し
くは文献 [11] を参照されたい．

粒子・体積モデルとは仮想液体の対話操作を非常に早い処理速度で実現したモデルである．
液体としての厳密な挙動の計算は行われていないが，落ちてくる液体を容器で受け止める，
容器内の液体をこぼす，容器内の液体を他の容器ですくう，という操作を実現することで液体としての高い臨場感を実現している．また，仮想液体の液面において波立たせる，色の広がりを表現する，ということを実現することでさらに臨場感を向上させている．

第2章

粒子・体積モデル

2.1

液体モデル

4

粒子・体積モデルでは，以下の 2 つの状態を考えることで液体を表現する．

状態 (1)・
・・自由落下状態 (水道の蛇口から落ちる水など)

自由落下状態の液体は粒子に基づく表現を行う．本研究での粒子表現では，大きさを考えず衝突も起こらない．これは，本モデルが厳密な挙動の実現より対話操作を重視していることよっている．各液体粒子は，重力と感性に従って移動する．各粒子の三次元仮想空間内での位置を Pi (t)(i = 1,2,...,N，N:粒子数) としたとき，それぞれの粒子は次式により計算される．

pi (t) = 2Pi (t − ∆t) − Pi (t − 2∆t) + g∆t2

(2.1)

ここで，g は下向きの重力加速度であり，∆t は描画更新間隔 (frames/second) である．空気抵抗による広がりを表現する場合は，式 (2.1) の右辺に微小乱数 Ri (t) を加える．

状態 (2)・
・・静止状態 (コップなどに溜まる水など)

静止状態では液体内部の対流などを考慮せず，体積のみで表現する．すなわち，ある時刻

t において仮想空間内に定義された容器内に液体が存在する場合，その容器内には体積 V(t)の液体が存在している，と表現する．
また，上記二つの状態は換算比 N[粒子数/体積] によって換算する．仮に容器内に体積 Vの液体が存在しそのすべてを落下させると，容器内の体積は 0 となり，NV 個の自由落下状
態の液体が発生する．

2.2

容器モデル

仮想空間に定義する液体との相互作用を考慮すべき容器としては，操作者が移動させることができるものと，空間内に固定されたものが考えられる．本モデルでは両者を同様に扱い，容器は凸形状 (容器と容器を内包する凸包が一致する) に限定する．図 2.1 に示すように，仮想空間内に存在する容器を内包する球を考え，その球の中心を C，半径を r とする．また，
図 2.2 に示すように C を原点とする容器座標系 (軸 XC ，YC ，ZC ) を設定し，図中のように角度を与える．

第2章

粒子・体積モデル

5

yc
d1
d2


d3

C



xc

r
C

virtual container
図 2.1: 仮想容器を内包する球

2.3

zc

図 2.2: 傾きの表現方法

流出点，液位

落下中の液体が容器の口を通過した場合，その液体は状態 (1) から状態 (2) へと変換する．
また，容器の形状，傾きから容器内に存在しうる容積を計算しておき，容器内の液体の体積がその最大容積を上回った場合，液体を状態 (2) から状態 (1) へと変換する．この時，液体が流れ出す点を流出点と呼ぶ．流出点は線分になる場合もあるが，本モデルでは計算量を減らすため容器の傾きによって一点のみを算出する．
容器内で静止している液体の液面の高さを液位と呼び，液位が最上位に達したときの体積を最大容積 Vm とする．液位は容器内に存在する液体の体積と容器の傾きによって与えられる．ここで本モデルでは，実験システム起動時にあらかじめ容器の様々な角度，液位に対応する体積求めておき，ルックアップテーブル (LUT) と呼ばれる配列に格納する．これにより，仮想液体操作時に液位の計算を逐次行う必要がなくなり，大幅な計算量の削減を行って
いる．

2.4

液面モデル

粒子・体積モデルの拡張として，静止状態の液体の液面における波，色を表現するモデルを提案している．これより，液面における波の表現を付加するための手法を述べる．色の表
現法については文献 [13] を参照されたい．

2.4.1

波の表現

この手法では，液面を直交の格子状に分割した平面として考え，各格子点において高さの計算を行う．このとき，各格子点は上下方向のみの移動可能とし，時刻 t における格子点

第2章

粒子・体積モデル6(i,j) の高さを h[i][j] とする．格子点の高さを二次元波動方程式を用い伝播することで，波の表現を実現する．ここで，二次元波動方程式は波の伝播を表す式であり，処理に比較的時間のかからないため対話処理を目的とする本研究に適している．次式に二次元波動方程式を
示す．

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

(2.2)

式 (2.2) における v は波が液面上を伝播する速度であり，座標 (x,y) における波の高さ z の関係を表す．この式を格子点間隔 d を用いて近似することで簡単化する．

(h[i][j](t + ∆t) − 2h[i][j](t) + h[i][j](t − ∆t))/∆t2= (h[i + 1][j](t) + h[i − 1][j](t) + h[i][j + 1](t) + h[i][j − 1](t) − 4h[i][j](t))v 2 /d2(2.3)
ここで，∆t に対して次式が成立するように v と d を設定する．

v 2 ∆t2
1
=
2
d
2

(2.4)

これにより，h[i][j] に関する漸化式を得る．実際には波の減衰を考慮する必要があるため，次の漸化式に示すように右辺に減衰係数 c を乗じる．

h[i][j](t + ∆t)= (h[i + 1][j](t) + h[i − 1][j](t) + h[i][j + 1](t) + h[i][j − 1](t))/2 − h[i][j](t − ∆t) ∗ c
(2.5)

2.4.2

液面の形成

上述のモデルは，直交格子状に区切られた各格子点において計算を行うため，その液面を表示する際は格子を連続して表示する必要がある．液面は，その容器の形の他に，液量や容器の傾きによって様々な多角形になると考えられるため，容器内の液面を表示するには，容器内に存在する格子だけを液面として表示する必要がある．
このモデルでは，多角形と各格子点について外積を用いた内外判定を行い，内側と判定された格子点を含む格子を表示する．液面を xz 平面で考慮するときの概略図を図に示す．

第2章

粒子・体積モデル

7z
point 1xxxxx
x x x x x x x x x point 5
xxxxxxxxxx
point2xxxxxxxxxx
xxxxxxxxxx
xxxxxxxxx
x x x x x x point4
x
point 3x
図 2.3: 格子状に区切られた平面と多角形液面
液面が図中の多角形で与えられた際は，×で示された格子のみを液面として表示することにより，任意の多角形液面の表示を可能とした．また，多角形の辺は仮想容器の液面に相当するため，辺上に存在する格子点は高さを常に 0 とすることで波を反射させるという特徴を持たせている．さらに液面と容器の境界付近においてアンチエイリアス処理を行うことにより，境界付近における表示の不自然さの低減させた．

8

第3章

渦流の表現

人は液体をコップなど容器で操作するとき，すくう，こぼすといった操作の他に，容器を振るという操作をすることで容器の中身が液体であると感じることが多い．また，容器の他にスプーンといった物体がある際，その物体を液体内に入れ，かき混ぜる等の操作をしたときの液面の挙動で液体であると感じる．このような操作による液面の挙動をリアルタイムで再現することは難しい．なぜなら，液面上での流れや液体内部の対流といった流体力学などに基づいた膨大な計算を行う必要があるためであり，液面の複雑な挙動を表現するには他の方法を考える必要がある．よって本研究では，渦流の表現を取り入れた仮想液体の対話操作モデルを提案する．
本研究では，実時間で計算可能な波動方程式を用いた液面の表示法を改良することで，粒子・体積モデルによる仮想液体操作システムにおいてより多くの操作を実現する．

第3章

渦流の表現

3.1

擬似的な渦

9

本研究では第 2.4 節で述べた液面表示モデルを改良し，液面の波を用いた渦流の表示手法を提案する．なぜなら，従来手法では液面を直交格子状に区切り，その各格子点において二次元波動方程式を用いた計算を行うことで波の表現を実現している．そのため，液面表示に多くの時間をかけることなく仮想液体操作を実現しており，対話操作を第一の目的とする本研究に適している．しかしこのモデルでは，液面を波立たせることのみを考慮しており，流れや液体内部の対流による液面表現には対応していない．本研究では，仮想容器，物体による仮想液体操作を目指しており，その液面表示における更なる表現方法の向上を図る．ここでは前述の液面表示モデルを改良し，渦のような流れを波で表現する手法を述べる．

現実の液体をかき混ぜ，渦を発生させた際，その液面は螺旋状に波が発生すると考えられる．本研究では，液体の厳密な挙動を再現することよりも，その対話操作性に重点を置いているため，流体力学に基づく計算を行うことなく渦流の表現を実現したい．そこで，液面表示のみで渦流の表現を行う．具体的には，従来，格子状に区切られ表現された液面を同心円状に区切ることにより，擬似的に螺旋状の波を表示させ，渦が発生しているように見せかける．
従来の仮想液体モデルでは，図 3.1 のように二次元の xz 座標上で格子状に区切られた液面を想定し，各格子点で波の計算を行うものであった．この格子の区切り方を直交状から同心円状に変更することを考える．次に同心円格子における直交格子との対応を示す．直交格子の xz 軸の最大値を X MAX，Z MAX とした時の格子を図 3.1 と表現すると，これに対応する同心円格子は図 3.2 のようになり，点 P(i,j) は図中のように対応する．

図 3.1: 直交格子状液面

図 3.2: 同心円格子状液面

また直交格子状の液面において図 3.3 のように平行に波が発生し伝播することを考える．
このとき，同心円状の液面では図 3.4 のように円弧方向へ波が伝播する．

第3章

渦流の表現

10

図 3.3: 直交格子状液面での波の伝播

図 3.4: 同心円格子状液面での波の伝播
以上のように波の伝播が円弧方向とすることで液面には螺旋状の波が作られ，擬似的な渦を表現することができる．このとき波の計算は従来のまま式 (2.3) を適応しているため，計算量に多く時間をかけることはない．また，渦の中心は液面の中心と限定することで計算量の削減を行っている．

3.2

液面表示法

仮想容器に入っている液体の液面は任意の多角形となりうる．前節のように液面を同心円状に区切る手法だけでは円形の液面に限定されてしまうので，液面表示における改良が必要である．ここでは多角形液面に対応可能で，通常の波と螺旋状の波を組み合わせて表示する
手法を述べる．
まず同心円格子上で極座標表現を行うため，直交格子上の点 (i,j) における極座標表現を考える．図 3.5 に二つの格子における点 P を重ねて示す．

第3章

渦流の表現

11

図 3.5: 二つの格子を重ねて表示
一般的に直交座標系の点 (x,y) は半径 r，角度 θ とすると，r =√x2 + y 2 ，θ = θx,y と表される．本研究では，各格子に二次元波動方程式を適応することを考慮し，半径 r，角度 θを以下の図 3.6，3.7 および式 3.1 のように設定する．

図 3.7: 同心円格子状液面

図 3.6: 直交格子状液面

r =b∗

√

i2 + j 2(3.1)

θ = c ∗ atan(i, j)
AX
ここで b，c は定数であり，本研究では b = 1，c = X Mとする．X MAX は図 3.1 に示
2πすように，直交格子状平面における x 軸の最大値を表す．
これにより直交格子上の点と同心円格子上の点の対応を取ることが容易にできるため，直交格子状平面において同心円格子と同じ計算を行える．

第3章

渦流の表現

3.3

液面の高さ

12

流れの強い渦では中心付近にかけて液面がへこむ現象が起こる．これは液体内部の対流や遠心力によるものである．本研究ではこのような挙動の実現も行う.

3.3.1

流体力学における渦

渦発生時における液面の高さを考える上で，渦のパターンについて考える必要がある. 流
体力学の分野において，渦は大きく強制渦と自由渦に分けられる. これら二つのパターンは
流れの速度の違いにより区別されるが，簡単に強制渦は容器内の液体をかき混ぜている時にできる渦であり，自由渦は浴槽の栓を抜いた時にできる渦であると表現できる. またこれらの他に rankine の組み合わせ渦と呼ばれる考え方がある. これは自然界に見られる渦が，渦の中心からの距離が小さいところでは強制渦に近く，大きいところでは自由渦に近くなるという現象をモデル化したものである. 本研究ではこの rankine の組み合わせ渦における考え方を用い，その液面の高さについての式を簡単化することで渦が生じた際の液面の様子を表
現する.

3.3.2

rankine の組み合わせ渦

ここでは前述の rankine の組み合わせ渦における液面の高さについて簡単に述べる. また
ここで述べる計算方法は数多くある解法のうちの一つである [14].
図 3.8 のように半径 R の容器内に液体が入っていることを考えた際，半径 a 内で一様の渦度 ω を持つ渦による水面の高さ z は，無限遠で z=0 とすると式 (3.2) で表される. ここで半径 a とは強制渦と自由渦の境界を表す.

図 3.8: rankine の組み合わせ渦

第3章

渦流の表現

13

 2
ω 2


(r − 2a2 ) (r < a)


 8g
z=

(3.2)




ω 2 a4
8g r2(r > a)

容器内の液体の体積は，静止時と攪拌時は同じという条件から，静止液面の高さを求め，
静止水面からのへこみを求めると，中心では

a2 ω 2z=
8g{
2−( a )2 ( 3Ra+ 2log
2
R

)}
(3.3)

となる. また，循環を Γ とすると，渦の外に位置する容器の壁 (r=R) での周速 q を用いて，Γ = 2πr と表される. ここで循環とは，流体が回転しているような流れにおいて，流れ場の回転の強さを示す値であり，周速とは回転している物体の最大半径位置における速さである．
これより，ω = Γ / πa2 = 2Rq / a2 が導かれ，式 3.3 に代入することで

q2
z=
2g

{ ( )
}
(a) 3
R 2
+ 2log
2
−
a
R
2

(3.4)

が得られる. 以上のように，rankine の組み合わせ渦の考え方により，液体の回転による凹みを考慮した液面の高さを計算することが可能である．

3.3.3

本モデルへの適用

本研究では仮想液体の対話操作を第一の目的とし処理速度に重点を置くため，液面の高さにおける計算を厳密に行わない. また，本モデルの基となる粒子・体積モデルでは流体の速度を考慮していないため，前述の計算式をそのまま用いることが出来ない. そこで，式 (3.2)
における ω と a について簡略化した値を与えることで，液体をかき混ぜた際の液面の高さについて実現を行う.
ここで渦度 ω とはある点での渦の回転の速さを示したベクトル量である. これは液体をかき混ぜることを考えると，そのかき混ぜる向きと勢いと言い換えることが出来る. よって本研究では ω を液体をかき混ぜる物体の移動方向と移動量によって定めることとする. また aは自由渦と強制渦の境界であり簡単に求められるものではないが，移動物体の平均位置から渦の大きさを定め，その渦の半径を a の値とする. これらにより渦発生時の液面の高さを計算することが可能である.

第3章

渦流の表現

3.4

渦の表現を考慮した仮想液体操作モデル

14

上述の渦に関するモデルを仮想液体操作モデルである粒子・体積モデルに適用する. 容器
や物体の操作による渦の発生に条件を設定し，条件を満たした際にその液面において渦を発生させる．
図 3.9 のように液面に移動物体が入り込んでいる状態を想定し，この移動物体が液面上を動くことによる渦の発生を考える.

図 3.9: 移動物体と液面
本来，液体内で物体が動くときはその移動回転方向や移動量には関係なく大小様々な渦が発生する. これは流体力学の分野ではカルマン渦と呼ばれ，その挙動を計算し表現することが可能である. しかし本研究では渦の発生条件を限定し，渦の中心を一定とすることで計算量を軽減させる. 渦の発生条件を以下の二点と設定する．

•

回転方向が一定である•

移動量が閾値以上である

この二点は，液体をかき混ぜるといった動作を行うとき，多くの人は同じ方向へある程度の時間かき混ぜると考えられるためである．この発生条件は，時刻ｔと ∆t，2∆t 秒前の移
動物体の極座標における位置により移動した回転方向，移動量を求め判定する．
液面上の移動物体が移動する様子を図 3.10 に示す．このとき，図中の θ1 ，θ2 で示される
角度を基に，発生条件を判定する．反時計まわりを正方向としたとき，θ1 ，θ2 がともに正，またはともに負ならば回転方向が一定であったとする．その後，回転角度の合計を移動量と考え，この移動量が閾値以上ならば渦の発生条件を満たし，かき混ぜ動作が行われたとする．
以上のように，移動物体を動かした際の渦の発生を判定し，条件を満たしたとき直交格子による波と同心円格子による波を合成させる．
ここで，各格子による液面を組み合わせる際は，かき混ぜ動作の時間によって液面の割合を変化させる．具体的には，初期状態では直交格子状液面と同心円格子状液面の割合が 10:0

第3章

渦流の表現

15

図 3.10: 物体の移動であるものを，かき混ぜ動作を行うことでその割合を最大 5:5 の状態まで段階的に変化させる．動作を止めた際は，逆に段階的に初期状態に戻す．
これにより，操作者が液体をかき混ぜた際の液面の挙動を実現する．

16

第4章

4.1

実験及び結果

液面表示モデル

まず，液面表示部分のみにおいてプログラムを構築し，モデルの挙動を実現した.
本節で示す図は，仮想液体における液面のみを表示したものである. 液面の xz 軸平面上の最大格子数はともに 150 に設定されており，操作者は仮想的な物体を動かすことで液面の波の挙動を観察することができる. なお処理速度は十分に速く，対話的に操作が可能である.

直交格子状の液面と同心円格子状の液面を図 4.1，4.2 に示す.

図 4.1: 直交格子状液面

図 4.2: 同心円格子状液面

第4章

実験及び結果17

擬似的な渦を表現した液面の様子を図 4.3 に示す. 同心円格子状の液面において，一定の波を発生させることで螺旋状の渦が生まれ，擬似的な渦の表現ができていることが分かる.

図 4.3: 擬似的な渦第4章

実験及び結果18

図 4.4 に直交格子状液面と同心円格子状液面を組み合わせた状態の液面を示す. ここでは，多角形の液面において通常の波と円弧方向へ伝播する波が同時に発生していることが確認できる.

図 4.4: 組み合わせた液面

第4章

実験及び結果19

最後に液面の高さを計算し，へこみを実現した様子を図 4.5，4.6 に示す.

図 4.5: 渦発生による液面のへこみ

図 4.6: 渦発生による液面のへこみ（真横視点）

第4章

実験及び結果4.2

渦の表現における評価20

本研究で提案する擬似的な渦の表現について評価するにあたり，まず渦についての簡単なアンケート調査を行った. 人がイメージする渦の様子を調査することで，本研究の妥当性と有効性を考察，評価を行う.
用意したアンケート用紙を図 4.7 に示す. 今回のアンケートでは，三種類の形をした容器に液体が入っているとし，この液体をかき混ぜた際に起こるであろう液面の様子を想像して図に描いてもらった. またこのとき，容器を真上，真横から見たときについても同様に描いてもらった. 被験者は 6 名. アンケートの解答例を図 4.8〜図 4.10 に示す.

図 4.7: 液体の渦に関するアンケート
アンケート調査の結果より，容器内の液体をかき混ぜた際，その液面には渦のような波が発生すると考えられていることがわかる. しかし，その液面の様子は被験者により形は異な第4章

実験及び結果21

図 4.8: 解答例 (1)第4章

実験及び結果図 4.9: 解答例 (2)22図 4.10: 解答例 (3)り，数名からはあまり想像できないという意見もあった. また，被験者全員が容器中央付近
で液面がへこむであろうと考えていることがわかった. これらから，現実で液体をかき混ぜることによる液面の様子を厳密に知っている，また覚えている，というわけではなく，人は現象を漠然ととらえており，一定のイメージを抱いているという現状がわかる．言い換える
ならば，より効果的な挙動，演出を行うことにより，正確な挙動よりも高い臨場感を出せる
可能性がある．
本研究では従来の仮想液体操作モデルにおいて，かき混ぜ操作を実現することによる臨場感の向上を目的としており，厳密な挙動の再現をすることなく目的を達成することができる．以上より，本研究で提案する渦の表現において螺旋状に波を発生させることと，液面の高さを計算し中央付近でへこむという挙動は妥当であり，有効的であることが示された．

第4章

実験及び結果4.3

実験システムの構成

23

上述のモデルに基づいた仮想液体対話操作のための実験システムを CPU：Pentium(R)Dual-Core CPU E5200 2.50GHz 上で実現した.
本実験システムでは，仮想液体が入れられる仮想容器を操作者が移動可能である移動容器と操作することは出来ない固定容器の二種類を実装する. 移動容器の位置と傾きは，低周波の磁界を利用したモーションセンサまたはマウスによって入力される. モーションセンサには POLHEMUS-3SPACE ISOTRAK II を用いた.
各仮想容器の形状は図 4.11, 4.12 に示すような凸形状 (容器と容器を内包する凸包が一致する) に設定され，固定容器にはあらかじめ仮想液体が入っているものとする．自由落下状
態の液体の粒子数と静止状態の液体の体積の換算率 N は 10 粒子数/cc と設定する．また，画面右上の仮想的な蛇口を作成する．この蛇口からは 1frame あたり 1cc 相当の液体が無限に流出させ，地面より下方に落下した液体は消滅させる．

図 4.11: 移動容器の例

図 4.12: 固定容器の例

第4章

実験及び結果24

実際に実験を行っている様子を図 4.13 に示す. モーションセンサをコップに取り付けることでコップ型のデバイスとし，操作者は感覚的に仮想容器を操作することが可能である.

図 4.13: 実際の実験の様子

第4章

実験及び結果25

固定容器内の液体について，直交格子と同心円格子の両方の液面によって波を計算することで，円弧方向への波の伝播を表現した様子を図 4.14 に示し，へこみを実現した様子を図

4.15 に示す．なお，図中では移動容器にスプーン型のものを用いている．

図 4.14: 円弧方向への波の伝播

図 4.15: 渦発生による液面のへこみ

第4章

実験及び結果4.4

実験結果及び評価

26

本モデルの処理速度を描画更新速度 (fps) の観点から評価を行う．速度の計測は，マウスにより操作した場合と，モーションセンサを用いたコップ型デバイスにより操作した場合の二つのケースを考慮する．各々について渦を考慮していない従来モデルを用いた場合と，かき混ぜ動作による渦を表現可能なモデルを用いた場合の仮想液体操作システムにおける処理速度を計測し比較する．結果を以下の表に示す．
表 4.1: 描画更新速度における実験結果
描画更新速度
マウス使用

渦なし
渦あり

平均 130fps
平均 130fps

モーションセンサ使用

渦なし
渦あり

平均 25fps
平均 25fps

提案手法は，従来モデルである二次元波動方程式を用いた波の表現法を改良しており，波の計算には従来の計算式を用いている．そのため，従来モデルと比べても液体操作における処理速度の違いは見られない．また，モーションセンサを用いたコップ型デバイスを使用した際の処理速度の低下は，本研究で使用しているセンサの更新速度の制限によるものと考えられる．一般的に，操作者が対話操作を実感するためには，約 15fps 以上の処理速度が必要と言われていることから，本モデルを用いた仮想液体操作システムは十分に対話操作が可能であるといえる．

実際に，数名の被験者に本モデルを用いた仮想液体のかき混ぜ動作を体験してもらったところ，擬似的な渦の発生や液面のへこみにより，かき混ぜているという実感が得られたという意見を頂いた．また，仮想容器によって液体を操作するにあたり，実物の容器を操作しているように感じるといった意見も多く得られ，第一の目的である対話操作も実現できたといえる．
しかし，渦の発生において直交格子状液面に同心円格子状液面を組み合わせる際や，液面のへこむ形において少々違和感があるという消極的な意見も頂いたので，これからの課題とし改良を加えていきたい．

27

第5章

むすび

本研究は仮想液体の対話操作を第一の目的とし，高速な処理速度を保ったままより多くの操作を可能とすることで臨場感の向上を図った．仮想液体の挙動を厳密に再現するには様々な方法が考えられるが，リアルタイムで処理をするための計算時間を考慮した場合，適用できるものは少ない．本研究では，仮想液体の対話操作を実現している粒子・体積モデルを基に，その液面について改良を加えることで，液体操作におけるかき混ぜ動作の実現した．具
体的には，従来研究での液面における二次元波動方程式を用いた波の表現に着目し，これまでは直交格子により波を伝播させていたものを新たに同心円格子を用いた波の伝播を考えた．これにより円弧方向へ波を伝播させ，擬似的な渦を作り出すことを可能とすることで、かき混ぜ動作を実現した．また，渦発生時の液面において，簡易的な計算を行い液面の高さを求めることで，液面に現れるへこみの表現も行った．
以上のモデルを適用した仮想液体の対話操作システムを構築した．本研究で提案する仮想液体のモデルを用いることで，自由落下してくる液体を仮想容器で受け止める，他の容器に入っている液体をすくう，容器内の液体をこぼす，という操作がリアルタイムで可能であり，その液面に関して操作に応じた擬似的な渦の表現が可能である．
だが，現在では渦の中心は液面の中心に限られていることや，波と液面のへこみによる表
現のみであるためこれから更なる臨場感の向上が期待される．
今後の課題として，次のようなことが挙げられる．

• 水しぶきの表現
液面に落下してきた液体や剛体が干渉した際に，その勢いに応じて水しぶきを発生させるといった挙動の実現と本モデルへの組み込み.

• 重さ情報を持つ仮想物体との相互作用容器だけでなく仮想空間内に操作可能な物体を作成し，それら物体が仮想液体に浮いたり沈んだりするような挙動の実現.

• 流れの表現本研究では波による渦の表現を行ったが，その他にも液体に浮いた気泡や物体が回転するなど，処理に時間のかからない流れの挙動の実現.

第5章

むすび

28

また、本研究で構築した仮想液体モデルを他の VR コンテンツへ組み込むことも今後の課題である. 当研究室で開発している VR 調理学習システムや VR 化学実験システムなどに，システムの一部として仮想液体を組み込むことを検討中である.

29

謝辞

本研究を進めるにあたって，日頃から多大な御尽力をいただき，御指導を賜わった名古屋
工業大学

舟橋健司 准教授に心から感謝致します．

また，本研究に関して御検討，御協力を頂きました名古屋工業大学 伊藤宏隆 助教，山本大介 助教，中部大学 岩堀祐之 教授，名古屋工業大学 中村剛士 准教授，愛知大学
福井信二 准教授に心から感謝致します．
最後に，本研究を進めるにあたり多大な強力を頂いた舟橋研究室諸氏に心から感謝致し
ます．

30

参考文献

[1] バーチャルリアリティ 人工現実感と人間のかかわりを考える，クバプロ社，1999 年．
[2] IT 用語辞典（e-Words），http://e-words.jp/[3] 大野隆造，添田昌志，柳在鎬，“没入型 VR 環境での震災シミュレーションを用いた防災教育ツールの構築”，首都圏大震災軽減のための実践的都市地震工学研究の展開

2005

年成果報告シンポジウム，pp.63-66，2006[4] 鈴木茂樹，山田雅之，宮崎慎也，長谷川純一，安田孝美，横井茂樹，“高速処理に適した
弾性プリミティブモデルによる仮想弾性物体とのリアルタイムインタラクション”，芸術科学会論文誌，Vol.2，No.1，pp.8-14，2003.

[5] X.Guo,J.Hua，H.Qin，“Touch-Based Haptics for Interactive Editing on Point Set Surfaces”，IEEE CG ＆ A，pp.31-39，2004.
[6] Shoichi Hasegawa, Yoshinori Dobashi, Mitsuaki Kato，“Real-Time Realistic Water
Simulation for Haptic Interaction”, ACM SIGGRAPH 2005 Emerging Technologies
Project, pp. ♯ 11, 2005.
[7] VR 医学会，http://www.jsmvr.umin.ne.jp/[8] 中林功一，伊藤基之，鬼頭修己，“流体力学の基礎 (1)”，コロナ社，1993.
[9] Matthias Muller， Simon Schirm， Matthias Teschner，“Interactive Blood Simulation
for Virtual Surgery Based on Smoothed Particle Hydrodynamics”，ACM Technology
and Health Care，Vol.12，No.1，pp.25-31，2004.
[10] 井村誠孝，天田崇，安室喜弘，眞鍋佳嗣，千原國宏，“複合現実環境における仮想流体とのインタラクション”，日本バーチャルリアリティ学会第１０回大会論文，p549-p552，

2005.
[11] 舟橋健司，岩堀祐之，“仮想容器による仮想液体の対話操作モデルと一実現法”，日本
バーチャルリアリティ学会論文誌，Vol.5，No.4，pp.1087-1094，2000.

[12] Takuya Tanabashi, Kenji Funahashi, Hirotaka Itoh, Yuji Iwahori “Representation of
Wave Surface on Virtual Water Manipulation”, SCIS ISIS 2008, pp.1625-1630, 2008．

31[13] 棚橋拓也，蒲将寛，舟橋健司，“色の表現を考慮した粒子・体積モデルに基づく仮想液体
操作システム”，日本バーチャルリアリティ学会第 14 回大会講演論文集，1C4-2(DVD-ROM)，2009．
[14] 株 式 会 社

ジャパ ン テ ク ノ メ イ ト，数 値 解 析 よ も や ま 話 ，

http://www.jtmcorp.co.jp/yomoyama/index.html．

32

発表論文リスト

1. Takuya Tanabashi, Kenji Funahashi, Hirotaka Itoh, Yuji Iwahori “Representationof Wave Surface on Virtual Water Manipulation”, SCIS ISIS 2008, pp.1625-1630,
2008．
2. 棚橋拓也，蒲将寛，舟橋健司，“色の表現を考慮した粒子・体積モデルに基づく仮想液体
操作システム”，日本バーチャルリアリティ学会第 14 回大会講演論文集，1C4-2(DVD-ROM)，2009．