平成 24 年度 修士論文

仮想液体操作モデルにおける鍵粒子と包絡面による落下液体表現

Falling Water with Key Particle and Envelope Surface
for Interactive Manipulation of Virtual Liquid

指導教員
舟橋

名古屋工業大学大学院

工学研究科

平成 23 年度入学

宮下

情報工学専攻23417620 番

隼輔

健司

准教授

i

目次

第 1 章 はじめに

1

第 2 章 粒子・体積に基づく仮想液体モデル

4

2.1

液体モデル

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

5

2.2

容器モデル

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

6

2.2.1

容器の表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.2.2

容器内における液体の流出点，液位 . . . . . . . . . . . . . . . . . . .

7

液体と容器の相互作用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.3

2.4

2.3.1

自由落下状態の液体と容器の相互作用

2.3.2

容器内状態の液体と他の容器との相互作用 . . . . . . . . . . . . . . . 10

2.3.3

容器からの液体流出 . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

. . . . . . . . . . . . . . . . . 10より臨場感の高い容器内状態の液体表現 . . . . . . . . . . . . . . . . . . . . 11

2.4.1

液面における波や渦の表現 . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4.2

色の拡散 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.4.3

凹形状容器と容器内の流れ . . . . . . . . . . . . . . . . . . . . . . . . 16

第 3 章 鍵粒子と包絡面による落下液体表現

18

3.1

落下液体の表現方法

3.2

鍵粒子による挙動の計算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.1

落下液体鍵粒子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.2

鍵粒子の生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.3

落下液体の分割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3

包絡面描画

3.4

容器内の状態へ変換. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

ii

3.5

水しぶき . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.5.1

水しぶきの表現法方の検証 . . . . . . . . . . . . . . . . . . . . . . . . 30

3.5.2

水しぶきの発生条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.5.3

水しぶきの発生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

第 4 章 実験と結果

36

4.1

実験システムおよび実験の様子 . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2

鍵粒子と包絡面モデルの確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.3

従来モデルとの比較. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.4

水しぶき発生の確認. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.5

処理速度と評価実験. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

第 5 章 むすび

45

謝辞

49

参考文献

50

発表論文リスト

53

1

第1章

はじめに

バーチャルリアリティ(Virtual Reality: 以下 VR) 技術の発展や応用に伴い，我々の生活にとって VR はより身近な存在となっている．例えばアトラクション施設において，巨大ス
クリーンに映像を流すことで迫力を出したり，スクリーンの映像に合わせて座席を振動させることで，没入感の高いコンテンツを提供している．また他にも，ヘッドマウントディスプ
レイやデータグローブなどのデバイスを用いた，訓練用のシミュレーションシステムなど数多くの分野において VR の技術は活躍している．
バーチャルとは，みかけや形は原物そのものではないが，本質的あるいは効果としては現実であり原物である，という意味である．現実世界において我々は普段，視覚や触覚などの五感を通じて物事の認識を行う. そして，それら五感から得られた感覚の特徴に基づき対象物を識別する．つまり VR とは，我々が普段意識している現実の特徴を抽出し提供すること
で，みかけは現実そのものではないが，あたかも現実のような感覚を与えるということである [1]–[3]．VR では，実際にはその環境や物体は存在しないため，操作者が期待する現実の特徴をいかに適切に表せるかが重要となる．そのため，前述したデバイスを用いることは，操作者に現実のような感覚を与えるうえでは非常に有効である [4]．

VR 技術を用いることで医療や教育，産業などさまざまな分野において危険な作業中に生じる怪我や事故の回避，作業支援，また実験や訓練におけるコストの削減が可能となる．例
えば産業分野では，人体へ危険を伴うような環境下 (高温，高圧，放射線物質の発生など)
において，作業現場から離れて安全に作業を行えるように遠隔操作型作業ロボットの研究を行っている．このシステムでは，操作中ロボットアームに生じる感覚情報を操作者にフィードバックさせることで，実際に作業現場で操作をしているような感覚を操作者に与えることができる [5][6]．また医療分野では，手術を支援する研究がなされている．例えば，体内のどこに異変があるか，どこに重要な器官があるかなど人が通常見られない部分を可視化することで，メスを用いて切開する範囲を最小限に抑え，手術にかかる時間の短縮や患者への負

第1章

はじめに

2

担を減らす効果がある．さらに手術シミュレーションを用いた手術の訓練や，手術計画の立案といった応用も挙げられる．
上述の作業支援やシミュレーション環境を VR 技術で構築する上で基礎となるのが，液体や固体，気体などの挙動を再現する研究である．これらの研究は，厳密な挙動の再現に重点をおくか，それとも対話操作に重点をおくかに大別できる．前者では，いかに対象物を物理法則に基づいて厳密な挙動を再現できるかに着目し，液体であれば流体力学に基づいて液体の流れを追う，固体であれば弾性力や空気抵抗などを逐次計算する．厳密な挙動の再現が重視される分野としては，災害のシミュレーションが挙げられる．また後者では，操作者がリ
アルタイムに対話操作することに着目する．そのため，操作者が期待する挙動を再現することに重点をおき，厳密な挙動の計算を極力抑えることで高い処理速度を保つことが必要となる．対話操作を重視する分野としては教育用システムが挙げられる．例えば当研究室では，

e-learning コンテンツの一つとして VR 化学実験体験システムを考案している [8]．本システ
ムでは，化学実験における手順や化学反応を実際に手を動かしながら学ぶことを目的としているため，操作者がリアルタイムに液体をこぼす，混ぜるなどの対話操作を重視している．
また一般への普及を目指して Web ベースアプリケーションや携帯端末への導入も視野に入れているため，高い処理速度を維持する必要がある．
液体に関する研究の場合，Smoothed Particle Hydorodynamics(以下 SPH 法) などの粒子法を用いて液体を表現する研究が F. Losasso らにより行われている [9]–[11]．本手法では液体全体を粒子の集まりと考え，個々の粒子において挙動の計算，また粒子間における衝突などを逐次計算するため，液体の厳密な挙動の再現ができる．しかし，計算量が膨大になるため対話操作には向かない．また，並列計算によるリアルタイム処理も試みられているが，一般への普及を考えると実用的ではない．
そこで，当研究室では対話操作に重点をおき，厳密な挙動の再現ではなく操作者の印象に着目した液体の表現方法として，粒子・体積ベース仮想液体操作モデルを提案している [12][13]．
本手法では，あらゆる状況での液体の挙動や操作に対応するモデルではなく，操作者が容器などを用いて液体をすくう，混ぜるといった操作を対象とする．そこで，本モデルでは液体を容器内の状態と自由落下の状態に分けて考える．容器内の状態では液体を体積に基づいて表現する．液体は固体のような１つの対象ではないが，容器内においては１つの対象として扱うことで，液体全体を粒子で厳密に表現する手法に比べて処理速度を高速にできる．この

第1章

はじめに

3

状態では容器内の対流などは考慮しないが，容器を揺らした場合や落下液体が流入したときに波を発生させたり，棒などで液体をかき混ぜる際に生じる渦の表現，また液面や容器側面に色の混合や拡散を実現している [14]– [16]．また，さまざまな形状の容器を表現するた
めに容器モデルを拡張したり，容器内における流れの表現をすることで，臨場感を高めている [17] [18]．一方, 自由落下状態の液体は粒子に基づいて表現する．挙動の計算においては
粒子間の干渉は考慮しないことで処理を高速化している．しかし描画においては単純に粒子の位置に四角形の半透明ポリゴンを表示するのみであったため，液体らしさが十分ではな
かった．そこで，Marching Cubes 法 [19] を簡略化した手法を用いて，落下液体を包絡面で覆うモデルを提案した [20]．本手法により，上記問題を解決しつつ液体の奥行きや陰影の表現が可能となったが，一方で描画更新速度は約 30fps であった．この数値は対話操作をしている感覚を得るために必要である 10–12fps を越えてはいるものの，さらなるシステムの拡張や低スペックの携帯端末への導入を考えると，より高い処理速度を実現する必要がある．
そこで本論文では，高い処理速度を維持しつつ，落下液体の描画の質を向上するための新たなモデルを提案する．本モデルでは，落下液体も容器内の液体と同様に，あるまとまりにおいて１つの操作対象と考え，従来モデルにおける自由落下液体粒子に代えて新たに導入する
少数の鍵粒子により落下液体の挙動を計算する．そして，その鍵粒子の影響範囲に対する包絡面を落下液体の表面として描画する．本モデルにより，文献 [20] 以前のモデルにおける描画の質の問題を解決しつつ高速な処理速度を実現できる．
以下，2 章では粒子・体積ベース仮想液体操作モデルについて説明する．また 3 章では本提案モデルである包絡面と鍵粒子による落下液体の表現, およびその応用として水しぶきの表現方法について説明する．4 章では提案手法の実験及び結果，そして 5 章では本研究のまとめを述べる．

4

第2章

粒子・体積に基づく仮想液体モデル

本章では，当研究室がこれまで提案してきた粒子・体積ベース仮想液体操作モデルについて説明する [12][13]．当研究室では，液体をすくう，こぼす等の対話操作を実時間で行うことに重点をおいている．そのため，計算量が大きくなりがちな粒子法をそのまま用いることは困難である．そこで本モデルでは，液体を容器内の状態と自由落下の状態に分け，自由落
下状態の液体のみ粒子に基づいて挙動の計算を行う．容器内の液体に関しては１つの対象としてみなし，これを体積に基づいて表現することで処理を簡略化する．本モデルにより高い処理速度を維持できるため，臨場感の高い液体操作が可能である．

第2章

粒子・体積に基づく仮想液体モデル

2.1

液体モデル

5

粒子・体積モデルでは，以下の２つの状態により液体を表現する．

(1) 容器内の状態 (コップなどの容器に溜まる液体)(2) 自由落下の状態 (容器や水道の蛇口などから落ちる液体)状態 (1) の液体は体積に基づいて表現する．この状態では容器内の対流などは考慮しない．
すなわち，ある時刻 t において，仮想空間上に定義された容器内に液体が存在する場合，その容器内には体積 V (t) の液体が存在していると表現する．上記２つの状態間での状態の遷移があった場合には，換算比 N [粒子数/体積] により換算を行う．例えば容器内に体積 V の液体が存在するとし，それをすべて容器外へ落下させた場合は，容器内の液体体積は 0 になり，自由落下状態の液体の粒子数は N V 増加する．
状態 (2) の液体は粒子に基づいて表現する．本モデルでは対話操作に重点をおいているため，各粒子の大きさは考慮せず，粒子間での衝突などの干渉はおこらないものとする．各粒子の３次元仮想空間上での時刻 t における座標を P i (t)(i = 1, 2, ..., N ; N : 粒子数) とし，それぞれの粒子は重力および慣性に従い移動する．移動量と重力による加速を考慮すると，P i
は式 (2.1) により決定される．

P i (t) = 2P i (t − ∆t) − P i (t − 2∆t) + g∆t2

(2.1)

ここで，g は下向きの重力ベクトルであり，∆t は描画更新間隔，すなわち描画更新レート(frames/sec.) の逆数である．空気抵抗による広がりを表現する場合，式 (2.1) 右辺に微小乱数値 Ri (t) を加える．また落下液体の描画においては，視点方向に対して面法線が向くように四角形の半透明ポリゴンを粒子の位置に表示する (図 2.1)．

第2章

粒子・体積に基づく仮想液体モデル

6



図 2.1: 自由落下液体

2.2

容器モデル

本節では容器の基本形状が凸形状である場合について説明する．凹形状容器は凸形状に分割することで対応可能である [17]．本モデルでは，容器の移動，回転といった操作が可能である．そのため液体をすくう，流出させるといった操作が可能である．

2.2.1

容器の表現

本モデルでは，図 2.2 のように容器を内包する球を考える．なお，容器が球に内接する必要はない．球の中心を C ，半径を r とし，容器の世界座標系における位置をベクトル C により扱う．また，容器の回転を考えるために，容器座標系 (軸 xc , yc , zc ) を図 2.3 のように設定する．容器の傾きは，軸 yc と球との交点 (図 2.3 の d1 ) の位置の変化 (極座標的な表現) により表現する．具体的には，xc を軸として点 d1 が点 d2 に移動するように容器を角度 φ だ
け回転し，更に zc を軸として点 d2 が点 d3 に移動するように角度 θ だけ回転する．これにより θ, φ の２つのパラメータで容器の傾きを表現することが可能である．例えば値が θ, φ ともに０の時には，容器は傾いていない状態であることになる．また，容器の方向の変化として yc を軸として角度 ψ だけ回転を行うが，ψ の角度変化により容器の流出点の高さが変わ第2章

粒子・体積に基づく仮想液体モデル

7

ることはないため，容器内に満たしうる液量の変化はない．C, θ, φ, ψ はそれぞれの容器ごとに設定し，移動可能な容器については時刻 t の関数として表す．

Cr

図 2.2: 仮想容器を内包する球

図 2.3: 傾きの表現

2.2.2

容器内における液体の流出点，液位

仮想容器の各パラメータを図 2.4 に示す．容器内に入りうる液体の最大量を最大容積 Vm ，
液体の体積が容器の最大容積を越えた場合に液体が溢れ出る点を流出点 F とする．厳密には液体の流出箇所が線分で表される場合もあるが，実際にはそのようなことはまれであるた

第2章

粒子・体積に基づく仮想液体モデル

8

め，流出は一点により行われるものとする．流出点 F を点 C を基準とする相対的なベクトル F として式 (2.2) により表す．

F = f (θ, φ, ψ)(2.2)

容器内で静止している液体の液面の高さを液位と呼ぶ．ある時刻 t において，容器内に存在する液体の体積が V (V ≥ 0) であるとき，液位は C から鉛直方向へ H の位置とする．H は式 (2.3) により表す．

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

液位 H の存在範囲は，容器が球に内包されているため −r < H < r となる．容器の形状や傾きによっては F が変化するため，H はさらに狭い範囲に存在することとなる．また，最大容積 Vm を越える体積が与えられた場合は，液面は世界座標系に対して水平になる性質と容器の流出点の関係から H = Fy (Fy はF の鉛直成分) とする．式 (2.3) を体積 V について変形することで式 (2.4) を得る．

V = v(θ, φ, H)(2.4)

式 (2.4) において容器よりも下方の H を引数として与えた場合は V = 0，点 F よりも上方にH を引数として与えた場合には V = v(θ, φ, Fy ) = Vm (θ, φ) となる．これは Fy が容器の角
度 ψ に依存しないことによる．また，仮想容器と他の容器の液体が干渉したときのために，
液位 H のとき，液面より下方の容器の厚みも考慮した体積を式 (2.5) として扱う (図 2.5)．

V + = v + (θ, φ, H)
容器の厚みを考慮しない場合は V + = V として扱う．

(2.5)

第2章

粒子・体積に基づく仮想液体モデル

9

F
C

H

V
図 2.4: 仮想容器のパラメータ

V

+

V

図 2.5: 仮想容器の厚みの考慮

2.3

液体と容器の相互作用

本節では，自由落下状態の液体と容器内状態の液体および仮想容器との相互作用について説明する．本モデルでは，異なる容器間における容器内液体や容器との干渉も考慮している．

第2章

粒子・体積に基づく仮想液体モデル

2.3.1

自由落下状態の液体と容器の相互作用10

自由落下状態である液体の粒子が液面に達した場合，その液体を状態 (2) から状態 (1) に変換する．つまり，粒子から体積に変換する必要がある．体積に変換すべき粒子が n 個 (n ≥ 0)の場合，その容器内の時刻 t における液体の体積を式 (2.6) により表す．

V (t)(0) = V (t − ∆t) +

n
N

(2.6)

次項で述べる容器内状態の液体と他の容器との干渉がなければ，時刻 t における容器内の体積を V (t)(0) = V (t)(1) とし，液位を式 (2.7) により表す．

H(t) = h(θ, φ, V (t)(1) )

2.3.2

(2.7)

容器内状態の液体と他の容器との相互作用

操作者が自由に移動や回転ができる容器（容器 1）と移動させられない容器（容器 2）の液面との相互作用について説明する．式の添字 1,2 はそれぞれ容器 1,2 に対応している．時
刻 t において式 (2.8) が成立する場合，容器 1 と容器 2 内の液体は干渉しているものとする．
(0)

C1y − r1 < C2y + h2 (θ2 , φ2 , V2 )(2.8)

ここで，Cjy は容器 j の位置 Cj の鉛直方向の成分である．このとき，容器 2 内の液体の液位が容器 1 により上昇させられている体積は式 (2.9) により表す．

U21 = v1+ (θ1 , φ1 , C2y + H2 − C1y )(2.9)

よって，容器 2 内の液体が他のすべての容器 j により上昇されている体積は式 (2.10) とする．

U2 = Σj U2j(2.10)

容器と液体が干渉しており，かつ式 (2.11) が成立するとき，容器 1 の流出点よりも下の部分と容器 2 の液面が干渉している．
(0)

C2y + h2 (θ2 , φ2 , V2+
) < C1y + F1y+ V(m1)(2.11)

上式が成立しない時は，容器 2 内の液体内に容器 1 の流出点が入り込んだと見なし，容器 1に容器 2 内の液体を流入させる．

第2章

粒子・体積に基づく仮想液体モデル

2.3.3

容器からの液体流出

11

容器同士の干渉や容器の傾きにより，時刻 t において式 (2.12) を満たす場合は液体が容器から流出する．

V (1) + U > Vm

(2.12)

流出する液体の体積は式 (2.13) である．

Vf = V (1) + U − Vm

(2.13)

よって，N Vf 個の粒子を点 F から流出させる．また，時刻 t における容器内の液体の体積
は式 (2.14) により決定する．

V (t) = Vm − U

2.4(2.14)

より臨場感の高い容器内状態の液体表現

本節では，前述のモデルをベースにこれまでに提案した，液面における波や渦の発生，液面や容器側面における色の拡散，またさまざまな形状の容器を表現するために凸形状のみではな
く凹形状の容器を表現する方法や容器内での流れの表現方法について説明する (図 2.6–2.10)．
なお，より詳しい手法は各項で紹介する文献を参照されたい．

図 2.6: 波の発生

図 2.7: 渦の発生

第2章

粒子・体積に基づく仮想液体モデル

図 2.8: 色の拡散12

図 2.9: 凹形状容器の表現

図 2.10: 容器内における流れの表現

第2章

粒子・体積に基づく仮想液体モデル

2.4.1

液面における波や渦の表現

13

本モデルでは，容器内で安定した状態の液面を基準に，波の表現を行うことを考える．そこでまず，この基準の液面を直行格子状に分割した平面として考える (図 2.11)．各格子点
は上下方向のみに移動可能であり，この格子点の波の伝播を，2 次元波動方程式を差分方程式として解くことで波を表現する [12]–[14], [22]．

図 2.11: 波の表現方法

また渦に関しては，前述の直行格子に加えて同心円格子を考える．直行格子上の任意の点と対応する同心円格子上の点を求めることで，波の伝播が円弧方向となり，渦を表現できる(図 2.12)．ここで，自然界における渦の現象をモデル化した rankine の組み合わせ渦と呼ばれる考え方を用いることで，さらに渦による液面のへこみを実現する [23]．

図 2.12: 直行格子状液面と同心円格子状液面の対応

第2章

粒子・体積に基づく仮想液体モデル

2.4.2

色の拡散

14

色の拡散においても，液面を直行格子状に区切った平面として扱う (図 2.13)．ただし，色の拡散表現に奥行きを持たせるために，数層の液面格子を準備する (図 2.14)．各格子点には色の情報として，色のベクトル値 (RGBA 値) と色の重みを持たせる．そして，拡散方程式
を用いて色の重みを拡散させ，ある格子点における ∆t 秒前の色と現時刻で拡散してきた色を, 重みの割合にしたがい混合することで液面における色の拡がりを表現する [15], [24]．

図 2.13: 液面における色の拡散のための直行格子

図 2.14: 数層の液面格子

また，容器側面における色の拡散に関しては，容器中央に, 鉛直方向に平行な直行格子面を用意する (図 2.15)．そして，この格子面において液面と同様に色の拡散を行い，その後,格子面を分割して容器の側面にマッピングする (図 2.16) [16], [25]．

第2章

粒子・体積に基づく仮想液体モデル

図 2.15: 容器側面のための直行格子面

図 2.16: 側面へマッピング

15

第2章

粒子・体積に基づく仮想液体モデル

2.4.3

凹形状容器と容器内の流れ

16

2.2 節で示した容器モデルは容器が凸形状であることを仮定しているが，液体操作をする場面ではフラスコなど凹形状の容器も表現する必要がある．そこで，凹形状容器を複数の凸形状の容器の組み合わせとして考え，各凸形状容器間での液体の移動を考えることで，凹形状容器内における液体操作を実現する (図 2.17) [17], [26]．

図 2.17: 凹形状容器の表現

また，複数の凸形状の組み合わせとすることで，各凸形状間で液体が移動する．そこで，容器内で流れる液体を容器内状態の液体と自由落下の状態の液体の中間的な状態として扱う．ここで，容器内で移動する液体を２つに分けて考える．ひとつは容器の壁面を沿って流れる液体であり，フラスコの筒の部分を伝い流れる液体が当てはまる (図 2.18)．この状態
を伝い流れと定義し，流れる液体の体積や伝う斜面の傾き，また流れ開始時からその挙動が継続する時間よりその時刻における流れの様子を決定し描画する．もう一方は容器内を落下する液体である．この状態は計算処理を簡略化するために自由落下状態の液体と区別して扱
い，容器内を流れる液体として落下流れと定義する (図 2.19)．落下流れは，伝い流れにおいて地面に対して垂直な壁面を伝う場合として挙動の計算をする．実際には容器との摩擦力
や空気抵抗により，容器を伝う液体と落下する液体では挙動に違いが出るが，容器内に限定

第2章

粒子・体積に基づく仮想液体モデル

17

しているためその差は極めて少ない．そのため，伝い流れと落下流れは同等の処理として扱う [18], [27]．

図 2.18: 容器内での伝い流れ

図 2.19: 容器内での落下流れ

18

第3章

鍵粒子と包絡面による落下液体表現

2.1 節で述べたように，これまで当研究室が提案する仮想液体操作モデルでは，自由落下
状態の液体を互いに干渉しない多数の粒子により挙動を計算していた．しかし描画においてはスプラッティング法 [21] を簡略化した手法により，単純に粒子の位置に四角形の半透明ポリゴンを表示するのみであったため，図 2.1 のように液体らしさが十分ではなかった．より多くの粒子を用いたり，各ポリゴンの大きさ変えることで描画の質は向上させられるが，高い処理速度を維持するのは困難である．そこで本章では，計算量を抑えつつ描画の質を向上するための新しい手法を提案する．ここで，落下液体というと容器や蛇口から流れる小規
模のものもあれば，滝のような大規模のものもあるが，本研究では人が日常的に行う液体の操作を想定しているため，前者の落下液体を対象とする．この条件のもと，本手法では落下液体の挙動を少量の鍵粒子で計算し，描画においては鍵粒子を包絡面で覆う．代表的なサーフェスレンダリング手法として Marching Cubes 法がある．この手法では三次元空間をボクセルに分割し, 対象のボクセルにポリゴンを表示するため，あらゆる状態の液体に対して液面の細かな凹凸の表現が可能である．しかし本研究では限定的な状況を想定しているため，
より簡易的な手法で鍵粒子の周りに包絡面を覆うことで高速な処理速度で落下液体を描画
する．

第3章

鍵粒子と包絡面による落下液体表現

3.1

落下液体の表現方法

19

本提案モデルでは，落下液体の挙動を従来の自由落下液体粒子に代えて，新たに少数の鍵粒子を用いて計算する．そして描画においては，鍵粒子の影響範囲に対して包絡面を作成することで落下液体を表現する (図 3.1)．従来モデルよりも少ない粒子で挙動を計算し，また少ないポリゴンで包絡面を作成することで，高速で描画の質の高い落下液体の表現を目指す．

図 3.1: 提案手法の概要

3.2

鍵粒子による挙動の計算

本節では，鍵粒子の生成方法や管理方法について説明する．

3.2.1

落下液体鍵粒子

本モデルでは対話操作を重視しているため，従来の落下液体粒子と同様に，鍵粒子間での干渉はおこらないものとする．従来手法では，落下液体を生成する際，一度に複数の粒子を生成し得たが，本手法では, 一度の粒子生成処理においては１つのみ鍵粒子を生成することとする．時刻 t における各鍵粒子 i のパラメータは，鍵粒子の位置座標 P i (t), その鍵粒子の管理する液体体積 Vi (t) および色 C i (t)(i = 1, 2, ..., N ; N : 鍵粒子数) である．鍵粒子発生時の P i (t) は液体の流出座標 F (式 (2.2)) により決定し，時間経過により式 (2.1) に従って座標は変化する．従来手法では，各粒子が管理する液体体積は変換比 N [粒子数/体積] に基づき

第3章

鍵粒子と包絡面による落下液体表現

20

一律であったが，提案手法の鍵粒子では一律とは限らない．例えば，3.2.2 項で示すように，落下の過程で体積 Vi (t) が増減することもある．
本手法では，鍵粒子をセグメントごとに管理する．これは，包絡面を描画する際にどの鍵粒子同士をひとまとまりの液体として包絡するかの判断を容易にするためである．例えば
図 3.2 のように落下液体が発生した場合，鍵粒子を２つのセグメントで管理しておけば，描画の際、セグメント単位で鍵粒子を包絡面で覆うことで２つの途切れた液体を表現することができる．以降，各鍵粒子を pi,j ( i はセグメント番号，j はセグメント i における鍵粒子番号．鍵粒子の生成した順に 0 から割り振っていく) と示す．

p1,1 p1, 2 p1,3

p2, 2 p p2,1 2, 2
p2,1
p1,3
p1, 2
p1,1
図 3.2: セグメントごとに管理

3.2.2

鍵粒子の生成本手法では，鍵粒子数を最小限に抑えるために，液体が継続して容器などから流出している場合には，各処理フレームにおいて，鍵粒子を生成するか否かの判定を行う．具体的には，ある時刻 t において，鍵粒子 pi,k (k はセグメント i の最も新しい鍵粒子番号) の座標 P i,k (t)を求める．また，時刻 t に流出する液体の体積を Vf とする．続いて P i,k (t) と液体の流出
点 F とのユークリッド距離 d を求める．この距離が閾値 D を越えていない場合には，新たな粒子は生成しない (図 3.3 右下)．このとき，鍵粒子 pi,k の管理する体積を式 (3.1) により

第3章

鍵粒子と包絡面による落下液体表現

21

更新する．

Vi,k (t) = Vi,k (t − ∆t) + Vf

(3.1)

一方，閾値 D を越えた場合には，新たな鍵粒子 pnew を生成し，その鍵粒子が管理する体積を Vf とする (図 3.3 右上)．ここで，新たな鍵粒子を生成する場合において，時刻 t − ∆t における液体の流出がなかった場合には，別のセグメントとして新たな鍵粒子は pi+1,1 として扱い，Vi+1,1 を Vf とする (図 3.4 右下)．そうでない場合は，pi,k と同じセグメントで pi,k+1として扱う (図 3.4 右上)．このことから，セグメント内において隣り合う鍵粒子間のユーク
リッド距離は最小で D だといえる．以上のようにセグメントを切り分けることで，ひとまとまりの連なった落下液体や途切れた落下液体が表現できる．なお，閾値 D は経験的に定
めている．

d D

F

pi ,k

d
pi ,k

pnew

d <D
pi ,k

図 3.3: 閾値による鍵粒子生成の判定

第3章

鍵粒子と包絡面による落下液体表現

22

pi ,1

pi ,k pi ,k +1

pi ,1

pi ,k

pnew
pi ,k
pi ,1

pi ,k

pi +1,1

図 3.4: 新たな鍵粒子を管理するセグメント

3.2.3

落下液体の分割

落下中の液体を容器ですくうことで図 3.5 の pi,4 のようにセグメント内のある鍵粒子が消滅した場合，消滅した鍵粒子を境にセグメントを分割することで落下液体を 2 分割する必要がある．つまり，隣り合う鍵粒子が離れた場合，セグメントを分割する必要がある．また，
図 3.6 に示すように，容器などですくい取らなくても，液体の落下の過程において液体が分割することがある．この場合，図 3.6 と 3.7 を見比べて分かるように，蛇口からの流出量が少ないほど，短い落下時間で液体が途切れる．つまり，本モデルでは隣り合う鍵粒子同士が離れているほど，そして管理する体積が少ないほど，液体を途切れやすくする必要がある．
そこで，ある変数 s を用意する．隣り合う鍵粒子のユークリッド距離が大きいほど、また体積の合計値が小さいほど s の値を大きくし，逆にユークリッド距離が小さいほど，また体積の合計値が大きいほど s の値を小さくする．そして，s が経験的に求めた閾値 S を越えた場
合，図 3.8 のようにセグメントを分割する．

第3章

鍵粒子と包絡面による落下液体表現

23pi , 6pi ,5pi , 4pi , 6pi ,5pi , 6
pi ,5

pi ,3

pi ,3

pi ,3

pi , 2

pi , 2

pi , 2

pi ,1

pi ,1

pi ,1

pi , 4
図 3.5: 落下液体の分割

図 3.6: 流出量が少ない場合

図 3.7: 流出量が多い場合

第3章

鍵粒子と包絡面による落下液体表現

pi ,1 pi , 2 pi ,3 pi ,5 pi , 6
pi ,3 pi ,524

pi ,1 pi , 2 pi ,3
pi +1,1 pi +1, 2
pi ,5 pi , 6

図 3.8: セグメントの分割

3.3

包絡面描画

本節では，包絡面の描画方法について説明する．小規模の落下液体の場合，液体の形状は
図 3.9 で示すような細長い筒状になる．そこで本モデルでは，多角錐台を組み合わせる事で包絡面を作成する．また，鍵粒子セグメントに対して包絡面を描画することでセグメント毎に落下液体を表示する．

図 3.9: 落下液体の形状

具体的な描画手順は以下のとおりである．

第3章

鍵粒子と包絡面による落下液体表現

25

1. 落下液体の両端に丸みを持たせるために，描画制御頂点 mf , mr を算出する (図 3.10(1))．
2. 各鍵粒子を起点にして正多角錐台の頂点を算出する (図 3.10(2))．
3. 手順 1 と 2 で求めた頂点をもとに，包絡面を描画する (図 3.10(3))．
ここで，正多角錐台とは，底面が正多角形である多角錐台のことを示す．手順 1 における描画制御頂点の算出方法は，pi,0 と pi,k (k はセグメント i の最も新しい鍵粒子番号) の移動方向の単位ベクトルをそれぞれ ui,0 , ui,k とすると，式 (3.2) により決定する．

mf = P i,0 + aui,0
mr = P i,k − bui,k(3.2)

なお，a, b は経験的に定めている．ここで，容器や蛇口から流出中である場合は，図 3.11 に示すような, 一定の距離をおいてから次の鍵粒子が生成されることによって発生する隙間をなくすために，流出が途切れるまで mr = F とし，流出中は常に落下液体を容器または蛇口とつなげる (図 3.12)．また，落下液体の流入中，鍵粒子間の距離が離れていることによりできる図 3.13 のような不自然な隙間をなくすために，液面や地面に流入し始めた場合，流入が終わるまで mf の y 座標成分を水面と同じ高さの値とする．mf は同じセグメントの次の鍵粒子が流入するタイミングでその都度，高さの値を更新する (図 3.14)．なお，この処
理は鍵粒子の影響範囲がすべて液面流入した場合 (3.4 節における a = A の場合) のみ行う．
手順 2 では，まず pi,j において，同じセグメント内で１つ前の鍵粒子 pi,j−1 (pi,1 の場合はmf ) との線分が法線となるような面を考える (図 3.15)．そして，その面上に pi,j を中心とする正多角形の頂点を求める (図 3.16)．ここで，中心から各頂点までの距離 r について，落下液体セグメントの各部分で太さの違いを出すために，各鍵粒子が管理する体積に応じて rの大きさを変える．また，図 3.7 に示すように，図の上部の蛇口付近に比べて，下部の方が落下液体の太さが細くなっている．つまり，本モデルでいうと，流出開始時からの時間経過に伴い，重力加速度の影響により鍵粒子間の距離が開くのに応じて，r も小さくするということである．そして，最後に求めた頂点を元に包絡面を描画する．

第3章

鍵粒子と包絡面による落下液体表現

mr
pi ,3

pi , 2pi ,1mf

図 3.10: 包絡面の作成手順

mrmf
図 3.11: 落下液体と容器との隙間

26

第3章

鍵粒子と包絡面による落下液体表現

mr

mr

mf
図 3.12: 落下液体と容器口との接合

mrmf

図 3.13: 落下液体と液面との隙間

27

第3章

鍵粒子と包絡面による落下液体表現

28

mr

mf
mf

mf

図 3.14: 落下液体と液面との接合

pi , jpi , jr
pi , j 1
図 3.15: 頂点の求め方 1

pi , j 1
図 3.16: 頂点の求め方 2

第3章

鍵粒子と包絡面による落下液体表現

3.4

容器内の状態へ変換

29

落下液体が容器内液面に達した場合，自由落下の状態から容器内の状態へ変換する必要がある．本手法では変換の際，3.3 節の手順 2 で求めた頂点を用いる．ここで，図 3.17 のように各頂点を呼ぶこととする．mi,j,a(a = 1, 2, ..., A; A : pi,j が管理する総頂点数) は，鍵粒子

pi,j が管理する頂点であることを示す．ここで，ある時刻 t において pi,j が管理する頂点のうち a 個が容器内状態の液体に流入したとする．この時，容器内の液体の体積 V (t)，および pi,j が管理する液体の体積 Vi,j (t) は式 (3.3) のように変化する．

V (t) = V (t − ∆t) +Vi,j (t) =aVi,j (t − ∆t)A

A−aVi,j (t − ∆t)
A

(3.3)

ここで，すべての頂点が液体内に流入している場合は a = A であり，Vi,j (t) = 0 となるため，pi,j は消滅する．また消滅の際, pi,j がそのセグメント内において先頭でも最後尾でもない場合，3.2.3 項の分割処理を行う．

mi , j , 6

mi , j ,1

mi , j , 2

mi , j ,5pi , jmi , j ,3mi , j , 4

図 3.17: 鍵粒子が管理する頂点

3.5

水しぶき

e-learning システムにおける化学実験など，丁寧な液体操作を要する場合には，操作者に対して，その操作が荒いのか丁寧なのかを視覚的に伝えると学習効果が高くなると考えられる．つまり，現実世界において同じ操作を行った場合，怪我をする恐れがあるかどうかを学ぶ事ができる．そこで，本研究では落下液体が着水もしくは着地した際の水しぶきの表現を

第3章

鍵粒子と包絡面による落下液体表現

30

鍵粒子モデルを用いて行った．なお，本節では落下液体の着水時に発生する水しぶきを中心に説明するが，地面などに着地した際にも, 得に断りのない限りは同様の処理で水しぶきを発生させる．また，着水時に発生する粒子全体を水しぶきとよび，それを構成する多数の要
素をそれぞれ水滴と呼ぶこととする (図 3.18)．

図 3.18: 水しぶきモデルの呼称

3.5.1

水しぶきの表現法方の検証

処理速度を高速化するためには，各水滴を鍵粒子とみなし，各鍵粒子に対して挙動の計算を行う (図 3.19) のではなく，多数の水滴を一つの塊，すなわち群として扱い，挙動の計算
はその群の中心点 (群制御粒子と示す) に対してのみ行い，描画の際に群制御粒子の支配する領域に多数の水滴を表示することで，少ない計算量で水しぶきを表現できると考えられる (図 3.20)．
しかし群として扱った場合，状況によっては特別な処理を行う必要もある．例えば図 3.21のように，水しぶき群が下降し容器の縁に衝突した場合，容器内に入る水しぶき群，容器外で落下する水しぶき群の２つに分割する必要がある．

第3章

鍵粒子と包絡面による落下液体表現

p2, 2

31

p1,1 p1, 2 p1,3

p1,1 p1, 2 p1,3

p2,1 p2, 2

p2,1 p2, 2
p3,1

p2,1

p4,1

p1,3

p5,1

p1, 2
p1,1

p3,1
p4,1

p5,1

図 3.19: 水しぶきを鍵粒子として扱う場合

p2, 2
p2,1

p1,3
p1, 2
p1,1

図 3.20: 水しぶきを群として扱う場合

第3章

鍵粒子と包絡面による落下液体表現32

図 3.21: 群の分割処理

一方，鍵粒子として扱う場合，個々の粒子に対して挙動の計算を行うため，容器への流入判定なども各粒子で行う．つまり, 群として扱う場合のような例外処理を行う必要もなく，単純な構造のモデルを構築することができるため，将来的なモデルの拡張が行いやすい．
そこで本研究ではまず，群として扱うべきか鍵粒子として扱うべきかの方針を決める為に，処理速度の比較実験を行った．なお，本章冒頭でも示したように，本モデルはビーカーなどの容器や蛇口から流れるような小規模の環境を想定している．そのような環境では，水しぶきが大量に発生したとしても高々，図 3.22 に示す程度の規模である．そこで本実験は，
図 3.22 のような水滴数となる状況で行った (表 3.1)．

図 3.22: 大量に水滴を発生させた様子

なお，本実験では，一つの群に対して水滴を 100 個描画している．つまり，表 3.1 におけ第3章

鍵粒子と包絡面による落下液体表現

33

表 3.1: 処理速度の比較実験

水滴数
処理速度

群

鍵粒子

500 個
約 92fps495 ∼ 545 個
約 92fps

る群の水滴数 500 個は，実質 5 個の群に対してのみ挙動の計算を行っていることを示す．本
比較実験により，群として扱う場合と鍵粒子として扱う場合とで，処理速度に大きな違いはないことが分かった．そこで，本提案モデルでは水しぶきを鍵粒子で表現することとする．

3.5.2

水しぶきの発生条件

落下液体の着水時，水しぶきを発生させるか否かの判定を行う．実世界において，水しぶ
きは着水した瞬間のみ激しく水滴が飛び散り (図 3.23 左)，その後の流入中は小規模の水滴が断続的に発生する (図 3.23 右)．これを本研究で表現するために, 着水した鍵粒子 Vi (t) を

図 3.23: 実世界における水しぶきの発生の様子
用いて水しぶきを発生させるかどうかを判断する．具体的には，Vi (t) が閾値を越えている
場合のみ水しぶきを発生させる．ここで，閾値を Msmall と Mbig (Msmall < Mbig ) の２種類用意する．あるセグメントにおいて，初めて鍵粒子が着水した場合は Msmall を用い，それ以降の流入中の鍵粒子に対しては Mbig を用いて生成判定を行う．例えば図 3.19 の場合，先頭の p1,1 のみ Msmall を閾値として水しぶきの発生判定を行い，その他の p1,2 と p1,3 に関しては Mbig を用いて判断する．こうすることで，着水時は水しぶきを発生しやすくし，それ第3章

鍵粒子と包絡面による落下液体表現

34以降は発生しにくくする．また，着水時に発生する水しぶきに関しては，水滴数を増やしたり水滴が飛び散る範囲を広くする (3.5.3 項における式 (3.4) の係数 j の値を大きくする) な
どの処理を行うことで，水しぶきの規模の違いを表現する．

3.5.3

水しぶきの発生

前項の判定により水しぶきを発生させる場合，鍵粒子の着水点を起点に水しぶきを生成す
る．このとき，図 3.24 上部のように楕円柱の枠を想定し，この枠内に鍵粒子を生成する．なお，生成する鍵粒子は 1–2 個ごとに新たなセグメントに格納し管理する (図 3.19)．楕円柱の形状は，着水した鍵粒子の移動ベクトルに応じて，図 3.24 下部のように，底面や高さの拡大縮小，および y 軸 回転させる．ここで，楕円柱の底面は，世界座標の X − Z 平面 と並行となるようにする．着水した鍵粒子の移動ベクトルを u とし，u の x, z 成分 ux と uz のうち，大きさが大きい方を ubig , 小さい方を usmall とおくと，楕円柱における底面の長軸および短軸の半径は次式により算出する．
長軸の半径 = j|ubig |短軸の半径 = j|usmall |高さ = j|uy |(3.4)

係数 j は鍵粒子の管理する体積や，3.5.2 項で述べた先頭の鍵粒子か否かに応じて変化させる．また，水しぶきの発生場所が地面であるか液面であるかによっても水しぶきの規模に違いを出すために，水しぶきが地面で発生した場合は j の値は小さくし，液面で発生した場合は大きくする．そして，式 (3.4) により定めた楕円柱の長軸が，X − Z 平面 において，u と同じ方向を向くように回転する (図 3.25)．
水滴として生成した各鍵粒子 i のパラメータは 3.2.1 項に示したとおりである．水滴発生時の体積 Vi (t) は一律で w(0 < w) とする．本手法では着水した鍵粒子の体積の 1 割分を水しぶきとして発生させるので，着水した鍵粒子の体積が Vj (t) である場合の水滴発生数 n は
式 (3.5) で求まる．

»

1
1
Vj (t)
n=
10
w

¼
(3.5)

第3章

鍵粒子と包絡面による落下液体表現

35

ここで，d e は天井関数であり，式 3.5 右辺を a とおくと，実数 a 以上の最小の整数を意味す
る．こうして求まった n 個の鍵粒子をランダムに上記の楕円柱内に生成する．以上により，
水しぶき発生点 (鍵粒子の着水点) を中心に，楕円柱状に水しぶきを発生させる．

y

x
z

z

z
x

z
x

x

図 3.24: 水しぶきを生成する範囲

Y

Y

u
X

X
Z

Z

図 3.25: 楕円柱の回転方向

36

第4章

4.1

実験と結果

実験システムおよび実験の様子

本提案モデルに基づいて，仮想液体に対する対話操作が可能な実験システムを計算機 (Pen-tium(R) Dual-Core CPU E5200 2.50GHz) 上に C 言語により実装した．本実験システムでは仮想容器を 2 つ用意した． ひとつは操作者が移動や回転などの操作が可能である位動容器であり，もう一方は机上に固定された容器である．移動容器はモーションセンサまたはマウスを用いて移動させる．本実験ではモーションセンサとして，POLHEMUS 社の 3SPACEISOTRAK II を用いた．本センサはリアルタイムに対象物の 3 次元座標やオイラー角を計測できるため，移動容器をデバイスの操作に合わせて移動や回転させることができる．
図 4.1 は実験を行っている様子である．操作者は移動容器を操作してモニター右端の水源から液体をすくい，左端の固定容器に液体を移している．

図 4.1: 実験の様子

第4章

実験と結果

4.2

鍵粒子と包絡面モデルの確認

37

本提案モデルである，鍵粒子と包絡面による落下液体の操作の様子を示す．図 4.2 より，セグメントごとに鍵粒子を包絡面で覆うことで液体の途切れが表現できていることが分かる．また図 4.3 では，水源から流出する落下液体を容器ですくうことで, 液体を落下の途中で分割できていることが確認できる．

図 4.2: セグメントごとに包絡面を作成していることの確認

図 4.3: 落下液体の分割の確認

第4章

実験と結果

38

図 4.4–4.7 では，容器で水源から流出する液体をすくう量を徐々に増やしている．これらの図から，3.4 節で示した落下状態の液体から容器内の状態への変換がきちんと行われていることや，各鍵粒子が管理する体積に応じて包絡面を構成する正多角錐台の太さが変化している事が確認できる．

図 4.4: 移動容器への流入量の変化 1

図 4.5: 移動容器への流入量の変化 2

図 4.6: 移動容器への流入量の変化 3

図 4.7: 移動容器への流入量の変化 4

第4章

実験と結果

4.3

従来モデルとの比較

39

本節では，従来の落下液体モデルと本提案モデルの比較を示す．各図において左が従来モ
デル，右が本提案モデルである．図 4.8 により，従来モデルと同等の液体操作ができている
ことがわかる．また，図 4.9 のように近くで落下液体を確認することで，従来モデルとの描画の質の違いがよくわかる．包絡面で液体を描画することにより，ひとまとまりの液体らしさが表現できている．

図 4.8: 比較実験の全体像

図 4.9: 近くで確認した場合

第4章

実験と結果

4.4

水しぶき発生の確認

40

水しぶきの飛び散り具合の違いを図 4.10–4.18 にしめす．着地した瞬間のみ広い範囲に水滴が飛び散り (図 4.10–4.12)，それ以降は小規模の水しぶきが発生しているため (図 4.13–4.15)，
図 3.23 のような状況が再現できていることが分かる．また，図 4.13–4.15 と図 4.16–4.18 を見比べることで，水しぶきの発生源が地面か，あるいは水面かにより，水しぶきの規模に違いを表せられていることが分かる．

図 4.10: 着地した瞬間の水しぶき 1

図 4.11: 着地した瞬間の水しぶき 2

図 4.12: 着地した瞬間の水しぶき 3

第4章

実験と結果

41

図 4.13: 着地以降の水しぶき 1

図 4.14: 着地以降の水しぶき 2

図 4.15: 着地以降の水しぶき 3

第4章

実験と結果

42

図 4.16: 着水時の水しぶき 1

図 4.17: 着水時の水しぶき 2

図 4.18: 着水時の水しぶき 3

第4章

実験と結果

4.5

処理速度と評価実験

43

落下状態の液体における従来モデルと本提案モデルの処理速度の比較を描画更新速度を確認することにより行った．その結果は表 4.1 の通りであり，本提案モデルを用いることで描
画更新速度が向上したことが確認できる．また，一般的に操作者が対話操作をしている感覚を得るために必要となる処理速度は 10–12fps と言われているため，本モデルは対話操作に向いている事が分かる．提案モデルに加えてさらに水しぶきを取り入れた場合でも高い処理速度を維持しているため，十分に対話操作が可能である．
表 4.1: 描画更新速度の比較
処理速度
従来モデル

約 65fps

提案モデル (水しぶきなし)

約 124fps

提案モデル (水しぶきあり)

約 117fps

また描画の質に関して従来モデルと比べた場合，どの程度の違いを操作者が感じるのかを確かめるために，数名の被験者による従来モデルと本提案モデルの比較実験を行った．まず肯定的な意見は以下の通りである．

• 従来は粒が断続的に落下しているように見えるのに対し，提案モデルでは液体らしい
連続的な流れを確認できる．

• 液体表面が滑らかになったため，容器内状態の液体との見た目の差異がなくなった．
次に，本モデルにおける問題点の指摘は以下の通りであった．

• 流れ落ちている様子は従来モデルの方が分かりやすい．
• 3.3 節で示した，流入もしくは流出中により mf , mr が固定されている場合，落下液
体がどの方向に流れているのかが分かりにくい．
また，水しぶきに関しては以下のような意見が出た．

• 落下液体に躍動感がでた．

第4章

実験と結果

44

• 提案モデルの欠点であった，「落下液体がどの方向に流れているのかが分かりにくい」という問題を解消できている．
以上より，描画の質に関して本提案モデルは液体らしさが向上したといえる．また流れ落ちている様子が分かりにくいなどの欠点もあるが，水しぶきを発生させることで問題が解消される事が分かった．被験者からの提案として，落下液体の着水点もしくは着地点でのみ水しぶきを発生させるのではなく，落下液体の全体から所々水しぶきを発生させることでより臨場感が増すのではないかという意見もあったので，今後の課題として考慮したい．

45

第5章

むすび

本論文を通じて，落下液体を高い処理速度を維持しつつ描画の質を向上する手法を提案した．近年，計算機の高速化や大容量化が進む一方で，低スペックではあるが，より扱いやす
く身近な存在としてモバイル端末が普及してきている．そのような状況において実時間での対話操作が可能なコンテンツを提供する為には，処理速度を維持するために計算量を抑えることは必要不可欠である．そのため，本論文で新たに提案した高速処理が可能な落下液体モ
デルは非常に有用であるといえる．
今後さらなる臨場感の向上を目指す上で必要と考えられる課題を以下に示す．

• VR 化学実験体験システムで実現すべき機能の検証
当研究室が提案する VR 化学実験体験システム (図 5.1–5.5) において，どのような化学実験を対象とするか，どのようなユーザインタフェースにすれば使いやすいかなどを評価実験を交えながら検証する．

• 気泡の表現
液体が沸騰した場合や容器内状態の液体に物体が流入した場合に気泡を発生させることで，液体に変化が起きたことが操作者に伝わりやすくなると考えられる．

• 液体越しに見える背景の屈折
容器内の状態や自由落下の状態の液体越しに見える背景を屈折させる．
上記課題を解決しつつ，VR 化学実験体験システムをモバイル端末や Web を介して普及できるように，液体操作モデルにおける処理速度や臨場感の向上を目指していきたい．

第5章

むすび

46

図 5.1: pH の実験 1

図 5.2: pH の実験 2

第5章

むすび

47

図 5.3: 学習

図 5.4: 実際に操作しながら復習 1

第5章

むすび

48

図 5.5: 実際に操作しながら復習 2

49

謝辞

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

50

参考文献

[1] 舘日章，佐藤誠，廣瀬通孝，日本バーチャルリアリティ学会 (編)，“バーチャルリアリティ学”，日本バーチャルリアリティ学会，2011．

[2] 第 13 回「大学と科学」公開シンポジウム組織委員会 (編)，“バーチャルリアリティ 人工
現実感と人間のかかわりを考える”，クバプロ，1999.

[3] 服部桂，“人工現実感の世界”，工業調査会，1991.
[4] 舘日章，佐藤誠 (編)，“バーチャルリアリティの基礎 2 人工現実感の設計”，培風館，2000.

[5] 日高俊明，“VR 革命 仮想を現実とした技術者たち”，オーム社，2000.
[6] 兵庫県立工業技術センター, “Hint to Hint 第 11 号”, 兵庫県立工業技術センター, 2001.
[7] 舘日章，伊福部達 (編)，“バーチャルリアリティの基礎 4 人工現実感の評価”，培風館，2000.

[8] アンドレアス・リンドルース, 夏目祐樹, 菅瀬和弘, 棚橋拓也, 舟橋健司，“粒子・体積ベース液体モデルを用いた化学実験体験システムの提案”, 日本バーチャルリアリティ学会第15 回大会講演論文集, 2C2-7 (DVD-ROM), 2010.
[9] F. Losasso, J.O. Talton, N. Kwatra and R. Fedkiw, “Two-Way Coupled SPH andParticle Level Set Fluid Simulation”, IEEE TVCG, Vol.14, No.4, pp.797–804, 2008.
[10] M. Muller, D. Charypar and M. Gross, “Particle-Based Fluid Simulation for Interactive Applications”, Eurographics/SIGGRAPH Symposium on Computer Animation,
pp.154–159, 2003.
[11] M. Muller, S. Schirm and M. Teschner, “Interactive Blood Simulation for Virtual
Surgery Based on Smoothed Particle Hydrodynamics”, Technology and Health Care,
Vol.12, No.1, pp.25–31, 2010.

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

[13] K. Funahashi and Y. Iwahori, “Representation of Swinging Liquid on Virtual Liquid
Manipulation”, Proc. ICAT2001, pp.179–184, 2001.
[14] T. Tanabashi, H. Itoh, K. Funahashi and Y. Iwahori，“Representation of Wave Surface on Virtual Water Manipulation”, SCIS & ISIS 2008, pp.1460–1465, 2008.
[15] 棚橋拓也, 蒲将寛, 舟橋健司，“色の表現を考慮した粒子・体積モデルに基づく仮想液体
操作システム”，日本バーチャルリアリティ学会第 14 回大会講演論文集, 1C4-2 (DVD-ROM), 2009.
[16] Y. Natsume, A. Lindroos, H. Itoh and K. Funahashi，“The Virtual Chemical Laboratory Using Particle and Volume Based Liquid Model”, Proc．SCIS & ISIS 2010,
pp.1354–1359, 2010.
[17] 夏目祐樹, 伊藤宏隆, 舟橋健司，“粒子・体積ベース仮想液体操作モデルにおける凹形状容器での液体操作の実現”，日本バーチャルリアリティ学会第 15 回大会講演論文集,

3C1-6 (DVD-ROM)，2010．
[18] 夏目祐樹, 伊藤宏隆, 舟橋健司，“粒子・体積ベース仮想液体操作モデルにおける流れる液体の表現”，日本バーチャルリアリティ学会第 16 回大会講演論文集, 32C-7 (DVD-ROM),2011.
[19] W.E. Lorensen and H.E. Cline, “Marching Cubes: A High Resolution 3D Surface Construction Algorithm”, ACM SIGGRAPH Computer Graphics, Vol.21, No.4, pp.163–
169, 1987.
[20] S．Miyashita and K．Funahashi，“Envelopment Surface Rendering of Falling Water
for Particle and Volume Based Virtual Liquid Manipulation Model”，Proc. NICOGRAPH International 2011, P02 (CD-ROM)，2011．
[21] 藤本忠博，今野晃市，千葉則茂，“ポイントグラフィックス概説”，芸術科学会論文誌，Vol.3，No.1，pp.8–21, 2004.

52[22] 棚橋拓也，“粒子・体積モデルに基づく仮想液体操作システムにおける波の表現”，平成
19 年度名古屋工業大学卒業研究論文，2008.
[23] 棚橋拓也，“対話性を重視した仮想液体操作モデルにおけるかき混ぜ動作の実現”，平
成 21 年度名古屋工業大学修士論文，2010.

[24] 蒲将寛，“粒子・体積モデルに基づく仮想液体操作システムにおける色の表現”，平成20 年度名古屋工業大学卒業研究論文，2009.
[25] 菅瀬和弘，“VR 化学実験システムのための仮想液体モデルにおける側面描画”，平成 21
年度名古屋工業大学卒業研究論文，2010.

[26] 夏目祐樹, “粒子・体積ベース仮想液体操作モデルの凹形状容器への対応”，平成 21 年
度名古屋工業大学卒業研究論文，2010.

[27] 夏目祐樹, “粒子・体積ベース仮想液体操作モデルにおける液体の流れの表現”，平成 23
年度名古屋工業大学修士論文，2012.

53

発表論文リスト

1. S．Miyashita and K．Funahashi，“Envelopment Surface Rendering of Falling Water
for Particle and Volume Based Virtual Liquid Manipulation Model”，Proc. NICOGRAPH International 2011, P02(CD-ROM)，2011．
2. 宮下隼輔，舟橋健司，“仮想液体操作モデルにおける落下液体の鍵粒子と包絡面による表現”，日本バーチャルリアリティ学会第 17 回大会講演論文集，13E-2 (DVD-ROM)，

2012．
3. S．Miyashita and K．Funahashi，“Falling Water with Key Particle and Envelope
Surface for Virtual Liquid Manipulation Model”，Proc. ACM VRST 2012, p.197，
2012．