平成 22 年度 卒業論文

粒子・体積ベース仮想液体操作モデルにおける落下液体の包絡面描画

指導教員
舟橋

名古屋工業大学

工学部

平成 19 年度入学

宮下

情報工学科

19115147 番

隼輔

健司

准教授

i

目次

第 1 章 はじめに

1

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

4

2.1

液体モデル

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

5

2.2

容器モデル

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

7

2.2.1

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

7

2.2.2

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

8

2.3

液面のモデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.1

波の表現 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.2波の形成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.3

容器揺動時の液面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

第 3 章 落下液体の包絡面描画

3.1

包絡モデル

3.1.1
3.2

3.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Marching Cubes 法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

包絡面作成

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.1

仮想空間の格子分割 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2.2

各格子に粒子が存在するかど うかの判定 . . . . . . . . . . . . . . . . 17

3.2.3

隣接関係による描画面の決定. . . . . . . . . . . . . . . . . . . . . . 18

粒子判定の補間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

第 4 章 仮想スポイト

4.1

13

26

仮想スポイトのモデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.1.1

液体の滴下 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.1.2

液体の吸い上げ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1.3

吸い上げ速度の調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

ii

第 5 章 実験と結果

31

5.1

実験システムの構成

5.2

実験の様子

5.3

包絡面の確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.4

仮想スポイトの操作確認 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.5

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

第 6 章 むすび

41

謝辞

43

参考文献

44

1

第 1 章 はじめに

近年，バーチャルリアリティ(Virtual Reality:以下 VR) に関する研究が盛んに行われている．バーチャルとは「みかけや形は原物そのものではないが，本質的あるいは効果としては現実であり原物であること」である．つまり VR 技術によってコンピュータが人間の視覚や聴覚や運動感覚に訴える人工的な空間を作りだし，人間があたかもその環境の中にいるような感覚で機械と対話することができる．そして，そのような対話を経て得た経験や知識を現実世界に反映することも可能である [1]-[3].
例えば VR 技術は産業分野において，遠隔操作型作業ロボットに関する研究がなされている．この研究では，操作者が作業現場から離れた場所から遠隔操作でロボットアームを操作することを目的としている．遠隔操作の際，ロボットアームに発生する聴覚，触覚などの感覚情報を操作者に効率的にフィードバックさせることで，実際に操作者が現場で作業しているような感覚を与えることができる．また，遠隔操作の際，ロボットアームで隠れて見えな
くなる部分に関しては，その部分を透過した画像を操作者に与えることで作業効率を向上させることも可能である．このように現場から離れて遠隔地から作業を行うことで，放射性物質が発生する場所などといった人体へ危険を伴うような環境下での作業を安全に行うことが出来る [4]．
また医療分野においては，手術を手助けするシステムに VR 技術が利用されている．例
えば，どこに病変があるか，どこに重要な器官があるかなど 人が通常見られない部分を可視化する技術がある．その結果，メスを用いて切開する範囲を最小限に抑えられるため，手術にかかる時間の短縮，切開部が早く回復する等の効果がある．医療を受ける側にとっては，

VR 空間を介して患部を可視化する事により病態のスムーズな理解につながり，また遠隔医療により医者が医療現場にいなくても，現場から送られる患部の映像，遠隔操作用のロボッ
トアームを用いることで手術を行えるため，地域格差なく治療を受けることができる [5][6]．
このように，VR 技術は医療や産業等の分野においてさまざまな研究がなされている．こういった需要の背景に，実験コストの削減や危険な作業中に生じる怪我や事故の回避につながる，貴重な資源の消費を抑えるなどといったものがある．また，料理の手順を学ぶための仮想的な料理体験システムや娯楽の分野など ，我々の日常生活に身近な環境を対象とした研第 1 章 はじめに2

究もされている．
これら VR 技術の研究においては，主に２つの点のどちらかに対して重点をおくことになる．ひとつは，いかに対象物を物理法則にしたがって厳密な挙動を再現できるかという点である．液体であれば流体力学に基づいて液体の流れを追う，剛体であれば接地面との摩擦や空気抵抗，弾性力などを逐次計算してより現実世界の挙動に近い動きを再現することにな
る．厳密な挙動の再現が重視される分野としては , 飛行機の翼にかかる風圧を計算する際などに用いる数値流体力学などがあてはまる．もう一方は，ユーザが操作するということに着目し，対話操作に重点をおくという点である．この場合は高い処理速度を保つことが重要となる．例えば，ユーザがある操作を行ってから数秒後にその操作に対する応答が返ってくる
のではとても対話操作を行っているとは言えず，デバイスとの間に違和感を生じてしまう．
対話操作が重視される分野として教育用システムがある．例えば，当研究室では，情報技術を用いて学習を行う e-learning のコンテンツの一つとして，化学実験体験システムを考えている．本システムでは液体を混ぜるなどの対話操作を考慮している．またインターネット上
で他者と協力して実験を行うことも考えているため，計算速度の遅いコンピュータでも十分に対話操作が可能である処理速度が必要となる．
液体の挙動の再現を目的とした研究として，Smoothed Particle Hydorodynamics(以下SPH 法) という手法と流体力学で用いる Navier Stokes 方程式を組み合わせた研究が F.
Losasso らにより行われている [7]．SPH 法とは粒子法の一種であり，対象物を粒子の集合体と考え，各粒子はそれぞれ物理法則に基づいて個々に計算し，全体として正確な挙動を再現する手法である．この研究では，液体の厳密な挙動を再現しているが，計算に膨大な時間を要している．また，他にも液体の挙動に注目したさまざ まな研究がなされている [8]-[11].
そこで，当研究室では対話操作に重点を置いた仮想液体の操作に関する研究を進めており，非常に速い処理速度で仮想液体の対話操作を実現している [12][13]．本モデルでは対話操作を重視しているため，計算量を抑える必要がある．すべてを粒子によって表現すると計算量が膨大になり，上記の対話操作の条件に適さない．そこで，本システムにおいては，液体を二つの状態に分けて考えることとする．ひとつはコップに溜まる水のような静止状態として考え，これは体積により表現する．もう一方は蛇口から流れる自由落下状態の液体で，これは粒子により表現する．この際，粒子間での衝突や分子間力などは考慮しない．このよ
うに，液体を２つの状態に分けて考えることで処理速度を高速化しており，描画更新速度は
約 130fps を実現している．以上より本システムは対話操作が十分可能なシステムとなっている．また，さらに剛体との干渉やその他さまざまな効果を導入する際にも，このように高い描画更新速度を保っていることは対話操作を考える上で優れているといえる．本モデルに

第 1 章 はじめに

3

おいて操作者は，落下液体を容器で受け取る，容器内の液体をこぼす，別の容器ですくうなどが可能であり，我々が日常生活で行う操作の実装されている．
これまで当研究室では，静止状態の液体について，液体表面における波の表現 [14]，液体
表面における色の拡散 [17]，棒などで液体をかき混ぜた時に生じる渦の表現，および容器側面からみた液体の色の表現 [15]，そして容器形状の拡張 [18] などの研究を行ってきた．そこで本研究では，自由落下状態の液体に注目し，その臨場感の向上を目指す．具体的には，仮想空間上に存在する液体粒子を Marching Cubes 法を簡略化した手法を用いて包絡面で覆うことで，奥行きや光の反射，落下液体のうねりなどを表現するモデルを提案する．本提案モデルの応用例として，当研究室で研究している VR 化学実験体験システム [16] への応用が考えられる．蛇口から落下する液体や容器からこぼす液体に提案モデルを用いることで，より臨場感の高い移しかえが可能になると考えている．
また，化学実験での液体の落下といえば，ある容器から別の容器への液体の移しかえに加えてスポイトによる滴下がある．そこで，化学実験体験システムのための研究として仮想ス
ポイトを従来の容器モデルを拡張することで実装した．
以下，2 章では提案モデルの基になる粒子・体積モデルの概略を説明する．また 3 章ではそれらのモデルにおける落下液体に対して包絡面で描画する手法を説明し，4 章では仮想ス
ポイトの説明をする．5 章では提案手法の実験及び結果，6 章では本研究のまとめを述べる．

4

第2章

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

本章では，当研究室でこれまでに提案されている仮想液体操作における粒子・体積モデルの概要を述べる [12][13]．
液体の挙動の表現として，液体全体を粒子により扱う手法があるが，計算量が大きくなる問題がある．そこで，本モデルでは液体を自由落下状態と静止状態に分けて考え，自由落下
状態の液体のみ粒子により扱うことで処理速度が速いモデルを実現している．また，液体の描画だけでなく，実際にユーザが容器で液体をすくうなどの操作を可能とするため，より対話性の高いモデルを実現している．

第2章

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

2.1

液体モデル

5

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

(1) 自由落下状態 (水道の蛇口などから落ちる液体)(2) 静止状態 (コップなどの容器に溜まる液体)状態 (1) の液体は粒子に基づいて表現する．本モデルでは対話操作に重点をおいているため，各粒子の大きさは考慮せず，粒子間での衝突や分子間力による影響はおこらないものとする．各粒子の３次元仮想空間上での時刻 t における座標を P i (t)(i = 1, 2, ..., N ; N : 粒子数) とし，それぞれの粒子は重力および慣性に従い移動する．移動量と重力による加速を考慮すると，P i は次式により決定される．

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 のように各粒子は正方形で表される．一方，視点を初期位
置から 45◦ 回転して粒子を見た場合，図 2.2 のように各粒子はひし形で表される．このように，各ポリゴンの面法線の方向を一定にしてしまうと，粒子を見る視点の位置によって，あるときは隙間なく粒子が敷き詰められ，あるときは粒子間に隙間が生じてしまうなどの問題が起こる．そこで，本モデルでは常に視点方向に対して各粒子の面法線が向くようにすることで，上記問題が発生しないようにする．
状態 (2) の液体は体積に基づいて表現する．この状態では容器内の対流などは考慮しない．
すなわち，ある時刻 t において，仮想空間上に定義された容器内に液体が存在する場合，その容器内には体積 V (t) の液体が存在していると表現する．また，先述した粒子としての性質は一切考慮しないこととしている．上記２つの状態間での状態の遷移があった場合には，換算比 N [粒子数/体積] により換算を行う．例えば容器内に体積 V の静止状態の液体が存在するとし，それをすべて容器外へ落下させた場合は，容器内の液体体積は 0 になり，自由落
下状態の液体の粒子数は N V 増加する．

第2章

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

図 2.1: 正面から見た場合

図 2.2: 視点位置を変えた場合

6

第2章

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

2.2

容器モデル

2.2.1

容器の表現

7

本節では容器の基本形状が凸形状である場合について簡単に説明する．凹形状容器は凸形状に分割することで対応可能である [18]．本モデルでは，容器の移動，回転といった操作が可能である．そのため液体をすくう，流出させるといった操作が可能である．
まず本モデルでは，図 2.3 のように，容器を内包する球を考える．なお，容器が球に内接する必要はない．球の中心を C ，半径を r とし，容器の世界座標系における位置をベクトル

C により扱う．また，容器の回転を考えるために，容器座標系 (軸 XC , YC , ZC ) を図 2.4 のように設定する．容器の傾きは，軸 YC と球との交点 (図 2.4 の d1 ) の位置の変化 (極座標的な表現) により表現する．具体的には，XC を軸として点 d1 が点 d2 に移動するように容器を角度 φ だけ回転し，更に ZC を軸として点 d2 が点 d3 に移動するように角度 θ だけ回転する．これにより φ, θ の２つのパラメータで容器の傾きを表現することが可能である．例えば
値が φ, θ ともに０の時には，容器は傾いていない状態であることになる．また，容器の方向の変化として YC を軸として角度 ψ だけ回転を行うが，これらの角度変化による流出面の法線方向は変わらないため，容器内に満たし うる液量の変化はない．C, φ, θ, ψ はそれぞれの容器ごとに設定し，移動可能な容器については時刻 t の関数として表す．

Crvirtual container
図 2.3: 仮想容器を内包する球第2章

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

d2
d3

d1
θ

8

yC

φ ψ

xC

C
zC
図 2.4: 傾きの表現

2.2.2

流出点，液位

仮想容器の各パラメータを図 2.5 に示す．容器内に入りうる液体の最大量を最大容積 Vm ，
液体の体積が容器の最大容積を越えた場合に液体が溢れ出る点を流出点 F とする．厳密には液体の流出箇所が線分で表される場合もあるが，実際にはそのようなことはまれであるた
め，流出は一点によりして行われるとする．流出点 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章

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

9

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

V + = v + (θ, φ, H)(2.5)

容器の厚みを考慮しない場合は V + = V として扱う．

F
C

H

v

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

liquidv

V +container

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

第2章

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

2.3

液面のモデル

2.3.1

波の表現

10

波は，静止状態の液体の液面において表現する．そのため，液面を格子状に分割した平面として考える．各格子点の移動可能範囲は鉛直方向のみとし，図 2.7 のように時刻 t における格子点 (i, j) の高さを h[i][j] と表す．このモデルでは各格子点による波の伝播を，２次元波動方程式を差分方定式として解くことで表現している．式 (2.6) に，２次元波動方程式を示す．なお，２次元波動方程式は，リアルタイムで計算可能なため，対話処理を目的とする
本研究に適している．
2
∂2z
∂2z
2 ∂ z
=
v
(
+
)
∂t2
∂x2 ∂y 2(2.6)

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

(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.7)
ここで，∆t に対して式 (2.8) が成立するように v と d を設定すると仮定する．

v 2 ∆t2
1
=
2
d
2

(2.8)

これにより，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.9)

2.3.2

波の形成

液面における波の表現では，格子状に区切られた各格子点において計算を行うため，その液面を表示する際は格子を連続して表示する必要がある．そのため，正方形，長方形の液面のみに対応している．しかし，液面は，その液量や容器の傾きの変化に応じてさまざまな多第2章

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

11Z
h [ i ][ j ]jiX

図 2.7: 波の格子点角形になると考えられるため，容器内の液面を表示する際には，容器内に存在する格子だけを液面として表示する必要がある．また，このモデルでは，仮想空間内の仮想容器の基本形
状は凸形状のものを考えているため，液面は凸多角形として考えている．
このモデルでは，凸多角形の液面の表現を可能にするために，凸多角形と各格子点について外積を用いることで内外判定を行い，内側と判定された格子点を含む格子を表示している．つまり，図 2.8 の×印で示された格子のみ液面を表示する．また，凸多角形の辺は仮想容器の壁面に相当するため，辺上に存在する格子点には高さを常に０とすることにより波を反射させるという特徴を持たせている．また，液面と容器の境界付近において，アンチエイ
リアス処理を行うことにより，境界付近における表示の不自然さを軽減させている．

ZX

図 2.8: 波の作成範囲

第2章

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

2.3.3

容器揺動時の液面12

現実世界で液体の入った容器を振るなどの力を加えると，容器の動きに応じて中の液体も揺れ動く．これは，容器が移動した際の加速度により生じる力のためである．この加速度で仮想容器に生じさせている下向きの重力加速度 g を擬似的に変更することにより，容器内の基準液面は平らのままであるが揺れ動くという挙動を実現している．また，この操作と共に，簡単なベクトル計算をすることで液面に波を発生させている．
時刻 t において基準液面 (コップなどの移動容器) が動いた方向ベクトルを d とし，容器が移動し |d| > 0 となったとき，液面において挙動を変化させる．波の発生地点は，容器の移動方向において後ろに当たる辺を計算し，その辺から波を発生させている．つまり，図 2.9のように d 方向に移動した場合，図 2.9 の (a) の辺から波を発生させる．また，この研究では厳密な挙動の再現よりも対話操作を実現するための高速な処理に重点をおいているため，経験的な値により波を発生させている．これらの計算はとても単純なものであるため，対話操作に重点をおく本研究に適している．

図 2.9: 容器揺動時の波の発生位置

13

第3章

落下液体の包絡面描画

粒子・体積ベース仮想液体操作モデルにおいては，2.1 節で述べたように，蛇口やコップから落下する液体は粒子により表現している．その際，粒子は視点方向から見て四角形となるようなポリゴンで表示していた．それらは視点から粒子までの距離や位置に関係なく全ての粒子を同じ大きさのポリゴンで表現しており，またポリゴンの法線がすべて一定であっ
た．そのため，光源による液体の反射の度合いに変化が付けられなく，奥行きや立体感による視覚的効果が少なくなっていた．また，落下液体に視点を近づけてみると，ポリゴンの間に隙間が生じてしまい不自然な描画となっていた．
そこで本研究では，これまで粒子により表現していた落下液体に対して包絡面を作成することで上記の問題を解決し，より臨場感の高い液体の表現を行う．

第3章

落下液体の包絡面描画

3.1

包絡モデル

14

本研究では，2.1 節で述べた，粒子により表現している液体に対して包絡面を作成するモデルの提案をする．包絡面により落下液体の表面を作成することで液体表面に凹凸が生じ ，その結果さまざまな角度の反射が起こり，落下液体の奥行きの表現，液体表面のうねり等の効果を強調させることで，より臨場感の高い落下液体の描画を目指す．
その際問題となるのが，仮想空間上にまばらに存在する粒子に対して，どこからどこまでの粒子を包絡するかである．また，どこまでをひとまとまりの液体とするか，どの位置でどの様な面を形成するのかという問題もある．そこで，本研究では Marching Cubes 法 (以下MC 法)[20] の考え方を参考に上記の問題を解決することとする．ただし，MC 法をそのまま利用するとなるとボリュームデータの管理や計算などが増加することになるので，本研究では MC 法の簡易版として少ない処理で包絡面を作成する手法を提案する．

3.1.1

Marching Cubes 法

本節では，包絡面を作成する際に参考とした手法である MC 法について説明する．MC 法とは，ボリュームデータの表面をレタリングする手法の一種である．この手法の利点として，
アルゴ リズムが分かり易い, 表面の再現率が高いなどが挙げられる．MC 法では，図 3.1 のように三次元データを小さな複数のボクセルに分割する．それにより各ボクセルはそれぞれ濃度などのボリュームデータを持つこととなる．MC 法においては各ボクセルの頂点において，各頂点の値に対してあらかじめ設定した閾値以上か否かで２値化を行う (図 3.2)．その結果，一つのボクセルの中だけで見ると，８つの頂点がとる２値のパターンは 28 通りとなる．しかし，２値のパターンにおいて対称性や回転を考えると実際には１４通りの組み合わせとなる．よって，その１４通りの雛形を作成し，それを回転，対称化することで対応することが出来る．例えば，図 3.2 は８つの頂点のうち，１つの頂点のみが０である場合に描くポリゴンの雛形である．このように描画の際には８つの頂点がとる２値のパターンに応じてあらかじめ作成した雛形を各ボクセルに採用する．その結果に応じてそれぞれのボクセルごとにポリゴンを生成することで，全体としてサーフェスレンダリングを行う．以下の節では，
上記 MC 法の考えを元に本研究の包絡面作成法を提案する．

第3章

落下液体の包絡面描画15

図 3.1: 空間をボクセルに分割

1

1

0

1
1

1
1

1
図 3.2: 各頂点の２値化

第3章

落下液体の包絡面描画

3.2

包絡面作成

16

本提案モデルにおける包絡面作成の手順は以下のようになる．

(1) 仮想空間の格子分割(2) 各格子に粒子が存在するかど うかの判定(3) 各格子において粒子の隣接関係を調べて描画するパターンの決定
各手順の詳しい説明に関しては以下で説明する．上記手順を経ることで図 3.3 左のような粒子の状態から図 3.3 右のように包絡面を作成する．なお，説明を簡略化するため２次元の図を用いて説明するが，実際には３次元モデルとして実装する．

y

y

x
Z

x
Z

図 3.3: 包絡面の作成

第3章

落下液体の包絡面描画

3.2.1

仮想空間の格子分割17MC 法と同様に，仮想空間を格子状に分割する (図 3.4)．滑らかで，より凹凸の多い包絡面を作成するためには分割する格子のサイズは小さくする必要がある．また，格子サイズを小さくすることで，より元の粒子に接する状態で包絡面ができる．ただし，サイズを小さくしすぎるとポリゴン数や，手順 (3) においてラスタスキャンする際に走査する格子の数の影
響で計算量が増大し，対話操作に支障をきたしてしまう．また，3.3 節にあるように，少ない粒子で近似している場合には，意図しないかたちで包絡面が切れてしまう問題があるため，後述する補間を行う必要がある．

図 3.4: 仮想空間の格子分割

3.2.2

各格子に粒子が存在するかどうかの判定

MC 法では，各ボクセルは頂点ごとに濃度などの値を持つ．対話操作を重視したシステム
を考えた場合，極力各格子の持つ情報量を抑え，少ない処理で描画を行いたい．そこで，本
提案モデルでは，各格子は「粒子が存在するかしないか」の２値のみを持たせることで処理を簡略化する．こうすることで，一度の処理で扱う情報量を減少させることができる．
具体的には，図 3.4 のように格子分割を行った後，仮想空間上に存在する全粒子の位置情報を取得し，その粒子が存在する格子の値を１とする．その結果，図 3.5 のように，粒子が存在する格子は１，存在しない格子は０と分類することができる．これにより，MC 法で行っ

第3章

落下液体の包絡面描画

18ていた隣接する粒子同士の結合が簡易的に配列として処理できるようになる．

1
1

1

1

1

1

図 3.5: 格子に２値を与える

3.2.3

隣接関係による描画面の決定

手順 (2) により２値化された格子に対してラスタスキャンし，各格子において隣接する格子の値が０か１か (粒子が存在するかど うか ) を調べ，その結果に応じて包絡面を作成する．
以降，ラスタスキャンの最中に辿り着いた格子点を注目点と呼ぶ．図 3.6 は手順 (3) により包絡面を作成した後の一例である．

第3章

落下液体の包絡面描画

19i

1 2 3 4 5 6 7 8

10
20
30
j 40
50
60

0 0 0 0 0 0 0
1 1 0 0 0 0 0
0 1 0 0 1 1 0
0 1 0 0 1 0 0
0 0 0 1 1 1 0
0 0 0 0 0 1 0

70 0 0 0 0 0 0 0
図 3.6: 包絡面の作成例

第3章

落下液体の包絡面描画

20

包絡面を作成する際には，MC 法と同様にあらかじめ雛形を作成しておき，注目点の４近傍または８近傍にある格子の値に応じて応じて雛形を使用する．使用する雛形は図 3.7-3.9
であり，これを用いて包絡面 (図中，太線) を作成する．図中の各雛形の中心格子は注目点，
色付きの格子は注目点に対して考慮すべき上下左右４近傍の格子，○または△印の付いた格子は注目点の上下左右の格子に加えてさらに考慮すべき格子である．数字の書いていない格子は値が１でも０でも構わない格子である．
まず図 3.7,3.8 は，注目点が１である場合の雛形である．図 3.7 は上下左右の４近傍のみを考慮した場合の雛形であり，図 3.8 は４近傍を確認した後，さらに斜め隣の格子を考慮した場合の雛形である．例えば雛形 (2) は，注目点に対して１近傍の格子の値が１である場合の雛形である．雛形 (2’) は雛形 (2) での４近傍確認に加えてさらに○または△印の格子も考慮する．例えば○印の格子の値が１なら図のような面を作成する．ここでもしどちらの格子も値が０なら雛形 (2) を使用する．雛形 (2) は図 3.6 の (i, j) = (3, 4) にあたり，雛形 (2’) は(i, j) = (2, 2), (7, 4), (7, 7) にあたる．次に図 3.9 は注目点が０である場合の雛形である．この場合，まず上下左右の値が１である格子の数と位置関係で場合分けし，さらに○と△印の付いた格子を考慮することで図のような面を描く．例えば雛形 (0-4) は，上と右の２近傍の格子の値が１であり，さらに○印の格子の値も１である場合の雛形である．これは図 3.6 の(i, j) = (2, 3), (5, 6), (6, 6) にあたる．

0

1
0 1 0
0

(1)



1
0 1 0
1

(2)

(3)

1
0 1 1
0

1
1 1 1
0

1
1 1 1
1

(4)

(5)

(6)

0
0 1
0









図 3.7: 注目点が１の場合の雛形 (４近傍確認)第3章

落下液体の包絡面描画

21

1 1
0 1 0
0

1 1
0 1 0
1

(2’)

(3’)





1 1
0 1 1
0

1
1 1 1
1 0

(4’)

(5’)





図 3.8: 注目点が１の場合の雛形 (８近傍確認)

0

1
0 0 0
0

1
0 0 0
1

(0-1)

(0-2)

(0-3)

0
0 0
0







1 1
0 0 1
0

1 1
1 0 1
0

1 1
1 0 1
1

(0-4)

(0-5)

(0-6)





図 3.9: 注目点が 0 の場合の雛形



第3章

落下液体の包絡面描画

22

具体的に包絡面を作成する流れを図 3.10(a) の場合を用いて説明する．図中の丸で囲まれた数字はラスタスキャン中の注目点，三角で囲まれた数字のある格子は，使用する雛形を決める際上下左右４近傍に加えてさらに考慮すべき格子である．例えば (b) の注目点を見ると，格子の値が 0 かつ右，下の格子の値が１，さらに三角で示した格子の値が１なので雛形 (0-4)
を用いる．(c) の場合は注目点の格子の値が 1 で，下１近傍の格子の値が１であることより
雛形 (2) または (2’) であると分かる．そこでさらに三角で示した格子の値が１であることより，雛形 (2’) を用いることとなる．(d) も同様に雛形 (2’) を用いる．最後に (e) の場合は注
目点の上と左の２近傍の格子の値が１なので雛形 (4) または雛形 (4’) であると分かるが，△印の格子の値がすべて０であるので雛形 (4) を用いることとなり，包絡面が完成する．以上の手順を踏まえることで少ない処理で包絡面を作成することができる．

0

0

0

0

0

0

0

1

0

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

1

1

0

0

1

1

0

0

0

0

0

0

0

0

(a)

(b)

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

1

0

0

1

0

0

0

0

0



0

(d)

0

0

0

(c)

0
0



0



0

0

0

(e)

図 3.10: 補間作成の手順

実装の際の３次元モデルでは，ポリゴン数を少なくするために図 3.11 のように折れ線状となる．
また，例えば図 3.12 上のように粒子が仮想空間上にある場合は，手順 (1) から手順 (3) を経て，図 3.12 右のように２つの包絡面が作成されることになる．つまり，どこからどこま
での粒子を包絡するのかという問題に対して，一意に包絡面で囲む範囲を決めることが出
来る．

第3章

落下液体の包絡面描画

23

図 3.11: ３次元モデルでの雛形の例

1
1

1

1

1

1

1

1

1

図 3.12: 包絡面の作成範囲を一意に決定

第3章

落下液体の包絡面描画

3.3

粒子判定の補間24

手順 (2) の結果，各格子に粒子の存在情報が与えられるわけであるが，その際，手順 (1)で分割したグリッド のサイズが小さすぎると，近接する粒子間に余分な空の格子ができ，意図しない位置で包絡面が切れてしまうといった問題がある．例えば，図 3.13(上) のように粒子が仮想空間上に存在する状況において，２通りの大きさのグリッド 分割を行う場合を考える．図の左側のように格子のサイズが大きい場合，包絡面作成の結果，全ての粒子はすべて
ひとまとまりの液体として包絡されることになる．一方図の右側の場合ではグリッド サイズ
が小さいため，(m, n) = (5, 4), (5, 5), (5, 6) に見られるように粒子間に空のグリッドができてしまう．その結果，本来一緒に包絡したい粒子同士を別々に包絡することになる．粒子数を増やすという選択肢もあるが，扱う粒子が増える分計算量が増大することになる．また，滑らかな包絡面を描くためには格子のサイズを小さくする必要があるため，格子のサイズを維持しつつこの問題に対処するべきである．

格子サイズが小さい場合

格子サイズが
大きい場合

i
１
１
２

j３
４
５

２

３

４

1

５

2

3

4

m
5

6

7

8

1
2
3

n 45
6
7
8

図 3.13: 格子サイズの大きさによる違い

そこで，この問題を軽減するために，粒子間に発生する空の格子に補間を行う．具体的には，手順 (2) で各格子に値を格納する際，粒子が存在している場合はその格子だけ値を１にするのではなく，その上下左右１近傍の格子も１にする．このようにすることで，図 3.13(右)で値が０となっていた (m, n) = (5, 4), (5, 5), (5, 6) の格子が図 3.14 のように補間され，結果として全ての粒子がひとまとまりの液体として包絡されることになる．
ただし，本来粒子が存在しない格子に対しても粒子が存在するように補間するため，実際

第3章

落下液体の包絡面描画

25に粒子が存在する空間に対して包絡面が一回り大きくなる問題がある．しかし，補間が必要となる場合においては各格子のサイズは十分に小さいので，その誤差は許容できる小さい範囲とみなすことができる．

m

1 2 3 4 5 6 7 8

1
2
3
4

n5
6
7
8

補間

m

1
2
3

n

4
5
6
7
8

m

1 2 3 4 5 6 7 8

1
2
3

1
1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

n

1 2 3 4 5 6 7 8

4
5
6
7
8

図 3.14: 粒子判定の補間を行った結果

26

第4章

仮想スポイト

第 3 章で扱った落下状態の液体は化学実験において，ある容器から別の容器への液体の移
しかえ時に見られる．またそれに加えてスポイトから液体を滴下させる際にも液体の落下が見られる．そこで，本章では VR 化学実験体験システムのための仮想スポイトのモデルを提案する．また，本スポイトは従来の容器モデルを拡張することで作成する．

第4章

仮想スポイト4.1

仮想スポイト のモデル

27

提案するスポイトの形状を図 5.9 に示す．以降，液体の出入りする部分を吸い口，液体を保持する部分を胴部，液体の吸い上げや滴下を行うために摘む部分を尾部と呼称する．

尾部

胴部

吸い口

図 4.1: スポイトの形状

スポイトのモデルを構築する際においては，以下のことを考慮する必要がある．

(1) 操作者がスポイトを移動させることができる(2) 吸い口から液体を滴下，または吸い上げられる
本スポイトモデルは 2.2 節で示した容器モデルの容器の傾きや中心点などのパラメータを利用して作成するため，(1) の条件を満たしている．よって，条件 (2) を満たすための手法を以降で説明する．

4.1.1

液体の滴下

ここでは，本スポイトモデルにおいて，どのようにスポイトから液体が滴下される点を求めるかについて述べる．本スポイトモデルも従来の容器モデルと同様に図 4.2 のように内包球を考える．内包球に内接する点を D と定め，液体の滴下は点 D から行う．液体を滴下する際には胴部内の液体体積を減少させ，2.1 節で述べた換算比に基づいて体積から液体に換
算を行い点 D から液体を落下させることで，スポイトからの液体の滴下を実現する．

第4章

仮想スポイト28

Cr
D

図 4.2: 仮想スポイトモデル

第4章

仮想スポイト4.1.2

液体の吸い上げ29

本節では，本スポイトモデルにおいて，他の容器内 (以下，本章では単に容器と呼ぶ) の
液体を吸い上げるために満たすべき条件について説明する．
図 4.3 のように，容器の各面の中心から点 D へ向かうベクトルを di (i = 1, 2, . . . , N ; N : 容
器の面の数), 各面の法線を ni (i = 1, 2, . . . , N ; N : 容器の面の数) とする．以下の条件を考えることでスポイトによる液体の吸い上げの可否を判断する．

(1) 点 D が容器内にある(2) 点 D が容器の液面より鉛直下方向にある
条件 (1), に関しては，全ての i に対して di · ni > 0 となる場合条件を満たす． (1),(2) 共に満たす場合はスポイトの吸い口は液体内にあり，どちらか一方でも満たさない場合は液体内に存在しないと判断する．

図 4.3: スポイト先端の容器内外判定

4.1.3

吸い上げ速度の調整

本節では，スポイトで液体を吸い上げる際徐々に液体がスポイト内に溜まる過程の描画方法を示す．スポイトの尾部をつまむ，放すという動作により行う一度の吸い込み処理の際に吸い上げる液体の体積の総量を VD とする．液体を吸い上げる際，1 フレーム内で VD のす第4章

仮想スポイト30

べてを吸い上げてしまうと，スポイト胴部内に徐々に液体が入る過程をユーザが確認できない．そこで，本モデルでは VD を分割し，複数のフレームに分けて液体を吸い上げることとする．1 フレーム内で吸い上げられる液体の体積を Vl とする．すると，d VVDl e (de は天井関数．実数 VVDl 以上の最小の整数を示す．) フレームかけて吸い上げる過程を示す．そのために VD は d VVDl e 分割する．以上より，徐々に液体を徐々に吸い上げる過程を描画し，スポイトによる吸い上げがより自然となる．

31

第5章

5.1

実験と結果

実験システムの構成

上述のモデルに基づいた仮想液体の対話操作の為の実験システムを

CPU:Pentium(R)Dual-Core CPU E5200 2.50GHz
GPU:Geforce 9500 GT 512MB
上で C 言語により実装した．
本実験システムでは仮想容器として２つの容器を実装する．ひとつは操作者が移動，回転などの操作が可能である移動容器であり，もう一方は操作不可能な容器である．移動容器の位置と傾きは低周波の磁界を利用したモーションセンサまたはマウスによって入力される．
本実験システムではモーションセンサとして，POLHEMUS 社の 3SPACE ISOTRAKII を用いた．このセンサはリアルタイムに対称物体の３次元位置座標 (X,Y,Z)，およびオイラー角の６自由度を計測できるため，操作者によるデバイスの操作に合わせて移動容器を移動，回転させることが可能である．
本実験で用いる移動容器および固定容器の形状はそれぞれ図 5.1，5.2 に示す形状とする．
また，自由落下液体の液体の粒子数と静止状態の液体体積の換算比 N は 10[粒子数/cc] とした．また，仮想空間中に水源を設け，そこから 1frame あたり 1cc 相当の液体を無限に流出させる．この水源から流出した液体は地面より下方に落下した時点で消滅させる．

図 5.1: 移動容器の形状

図 5.2: 固定容器の形状

第5章

実験と結果

5.2

実験の様子

32

実際に実験を行っている様子を図 5.3 に示す．操作者はモーションセンサをコップに取り付けたコップ型デバイスを用いて仮想容器を自由に動かすことができるため，水源から出る
液体や固定容器内の液体をすくう，移動容器を傾けることで液体をこぼすなどの操作が可能
である．

図 5.3: モーションセンサーを用いた実験の様子

第5章

実験と結果

5.3

包絡面の確認33

本実験で仮想液体の操作を行う仮想空間の初期状態を図 5.4 に示す．図の左側にある容器
が固定容器であり，中央にある容器が移動容器である．両容器とも初期状態では傾きはない．
また，移動容器の右側には水源があり，そこから絶えず落下液体が流出している．

図 5.4: 実験の環境

第5章

実験と結果

34

本提案モデルである落下液体の包絡面描画と従来の落下液体の描画の比較を図 5.5-5.7 で示す．各図の左側が本提案モデルであり右側が従来モデルである．まず，図 5.5 は初期状態での比較である．包絡面を作成することで液体のうねり，水源付近と地面付近での色の違いが確認できる．

図 5.5: 初期状体

図 5.6 は落下液体を近くから見た図である．従来モデルで見られる粒子に対して包絡面で覆う様子が確認できる．

図 5.6: 近くで見た様子

第5章

実験と結果

35

図 5.7 は移動容器から液体を流出させる様子である．容器から流出する落下液体に対しても包絡面が作成出来ていることが分かる．

図 5.7: 容器から液体の流出

図 5.8 では，移動容器から少量ずつ断続的に液体を落下させている．粒子のまとまりごとに包絡面が作成できていることが分かる．

図 5.8: 液体の散らばり

第5章

実験と結果

5.4

仮想スポイト の操作確認

36

次に，仮想スポイトの形状を図 5.9 に示す．球状のものがつまみであり，先端の尖った部
分が吸い口である．

図 5.9: スポイトの形状

第5章

実験と結果

37

図 5.10 より，吸い口から液体を滴下できていることが確認できる．

図 5.10: 吸い口からの滴下

第5章

実験と結果

38

図 5.11 左は，スポイトの先端が容器の液体内にある状態である．この状態から左図のように液体を吸い上げることが可能である．

図 5.11: スポイトによる液体の吸い上げ

図 5.12 左では少量の液体を滴下しており，右図では多量の液体を滴下している．このようにスポイトから液体を滴下する量を調整することができる．

図 5.12: 連続して滴下

第5章

実験と結果

39

図 5.13 左は，容器へ液体を滴下している様子である．この結果右図のように容器の液面に波紋ができていることから，滴下した液体と容器の液面との干渉が行われていることが確認できる．

図 5.13: 容器への滴下

第5章

実験と結果

5.5

処理速度と評価実験

40

本提案モデルの処理速度を，描画更新速度 (fps) の観点から計測した．ここで，包絡面描
画のない従来モデルと包絡面描画のある本提案モデルでの描画更新速度を計測し比較した．
包絡面描画における格子のサイズは，現実世界における 0.5mm 相当とした．結果を以下に示す．
表 4.1:描画更新速度についての実験結果
描画更新速度
包絡面描画なし

平均 52fps

包絡面描画あり平均 15fps

なお，スポイトモデルを導入したことによる処理速度の変化は見られなかった．
一般に，操作者が対話操作をしている感覚を受けとるためには 10-12fps の処理速度が必要であると言われている．表 4.1 より，本提案モデルの処理速度は対話操作に耐えうると判断できるが，今後さまざ まな拡張を行うことを考えると，処理速度を上げる必要がある．
実際に数名の被験者に包絡面描画を行う場合と従来の落下液体モデルとの描画の様子を比較をしていただいたところ，以下のような肯定的な意見をいただいた．

• 落下液体が波打っている感じがする• 落下液体の部位によって色の違いが出ている• 透明感が出て水らしさが増した
一方で，以下のような問題点の指摘もいただいた．

• もう少し格子のサイズを小さくできるとより滑らかになりそう• 包絡面の凹凸が気になる• 処理速度がもっと上がるとよい
確かに，図 5.6 で見られるように，シェーディングが不十分な部分があるため包絡面の凹凸が目立つ．今後は処理速度の向上，シェーディングの改善に取り組んでいく必要がある．また，スポイトの対話操作を体験してもらったところ，スポイトによる吸い上げ，滴下ともに操作者が期待する通りの操作が違和感なく可能であり，楽しいという意見をいただいた．以上より本スポイトモデルは化学実験体験システムで有効であると分かる．

41

第 6 章 むすび

これまで当研究室では仮想液体操作モデル，システムにおいて，容器内に存在する液体に対する波の表現や色の拡散表現を可能とする拡張を行ってきている．一方で，落下中の液体については非常に簡易的な描画を行ってきた．本研究では，この粒子により表現している落下状態液体の臨場感向上を行った．具体的には , 隣接する粒子をまとめて包絡するような面を作成することで，落下状態の液体の奥行き，うねり，光の反射の強弱などの効果を表現した．コンピュータという限られた環境下では，触感や匂い，視覚映像，音などでありふれている現実世界と比較するとど うしても五感に対するフィード バックが限られてきてしまう．
その限られた環境のなかで，比較的大きく影響してくるのはモニターを介して得られる視覚による効果である．今回の研究の成果により視覚に働く効果を向上させたことは，VR という観点から見ると大変重要な位置づけであるのではないかと考えられる．
また，従来の容器モデルを拡張することで，化学実験等でよく用いられるスポイトの実装をした．それにより本モデルのさまざまな用途への拡張性が示されたことは，VR 化学実験
体験システムを実現するにあたり有用であったと考えられる．
今後の課題を以下に挙げる．

• 落下液体の包絡面描画の改善
シェーディングが不十分であることによる包絡面の凹凸感や，処理速度が低い問題の解消．

• 処理速度の向上
仮想液体操作モデルにおける処理速度の向上．

• 剛体と仮想液体の干渉
仮想液体内に剛体が沈んだ際に，その浮力や液体の流れによって剛体を液体内で運動させるモデルの実現．

• 気泡の表現

第6章

むすび

42

仮想液体をかき混ぜたり沸騰させる時に発生する気泡を表現することで，液体の臨場感の向上を目指す．

• 液体内部での流れ
液体内部での挙動を考えることで，流れに沿って剛体の移動や色の攪拌を実現．
また，上記課題に加えて仮想液体操作モデルを他の VR コンテンツに組み込むことも今後の課題である．例えば，当研究室で開発している VR 調理学習システム「バーチャルお料理教室」に組み込むことを考えている．料理を行う際に液体の落下が見られる場面として，例
えば料理の最中に鍋に水や醤油などの調味料を入れる場面が考えられる．また出来上がったスープなどを皿に移しかえる場面でも液体の落下が見られる．このように，料理をする際にはさまざまな場面で液体を扱うので，本提案モデルを組み込むことでより臨場感の高い料理システムになると考えている．

43

謝辞

本研究を進めるにあたって，日頃から多大な御尽力を賜った名古屋工業大学 舟橋健司
准教授に心から感謝致します．
また，本研究に対して御検討，御協力を頂きました名古屋工業大学 山本大介 助教，名古屋工業大学伊藤宏隆

助教に心から感謝いたします．

最後に，本研究を進めるにあたり多大な協力を頂いた舟橋研究室諸氏に心から感謝致し
ます．

44

参考文献

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

[2] 舘日章 ，“バーチャルリアリティの基礎 1 臨場感・現実感・存在感の本質を探る”，培風館，東京，2000.

[3] 服部桂，“人工現実感の世界”，工業調査会，東京，1991.
[4] 兵庫県立工業技術センター, “Hint to Hint” No11, pp4, 2001.
[5] 舘日章 ，“バーチャルリアリティの基礎 4 人工現実感の評価”，伊福部達 (編)，培風館，東京，2000.

[6] 日高俊明，“VR 革命 下層を現実とした技術者たち”，伊福部達 (編)，培風館，東京，2000.
[7] F. Losasso, J.O Talton, N. Kwatra and R. Fedkiw, “Two-Way Coupled SPH and Particle Level Set Fluid Simulation”, IEEE Transactions on Visualization and Computer
Graphics, Vol.14, No.4 pp.797-804, 2008.
[8] N. Kwatra, C. Wojtan, M. Carlson and I. Essa, “Fluid Simulation with Articulated
Bodis”, IEEE Transactions on Visualization and Computer Graphics, Vol.16, No.1
pp.70-80 , 2010.
[9] N. Muller, D. Charypar and M. Gross, “Particle-based fluid simulation for interactive applications”, Eurographics/SIGGRAPH Symposium on Computer Animation,
pp.154-159 , 2003.
[10] N. Heo, H. Ko, “Detail-Preserving Fully-Eulerian Interface Tracking Framework”,
ACM Tracsactions on Graphics, Vol.29, No.6, 2010.
[11] M. Becker, H. Tessendorf and M. Teschner, “Direct Forcing Lagrangian Rigid-Fluid
Coupling”, IEEE Transactions on Visualization and Computer Graphics, Vol.15, No.3
pp. 493-503 , 2010.

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

[13] Kenji FUNAHASHI, Yuji IWAHORI, “Representation of Swinging Liquid on Virtual
Liquid Manipulation”, Proc. ICAT2001, pp.179-184, 2001.
[14] Takuya Tanabashi, Hirotaka Itoh, Kenji Funahashi, Yuji Iwahori，“Representation of
Wave Surface on Virtual Water Manipulation”, SCIS & ISIS 2008, pp.1460-1465, 2008.
[15] アンドレアス・リンド ルース, 夏目祐樹, 菅瀬和弘, 棚橋拓也, 舟橋健司，“粒子・体積
ベース液体モデルを用いた化学実験体験システムの提案”, 日本バーチャルリアリティ学会第 15 回大会講演論文集, 2C2-7 (DVD-ROM) 2010.

[16] Yuki Natsume, Andreas Lindroos, Hirotaka Itoh, Kenji Funahashi，“The Virtual
Chemical Laboratory Using Particle and Volume Based Liquid Model”, Proc, SCIS &ISIS 2010, pp.1354-1359, 2010.
[17] 棚橋拓也, 蒲将寛, 舟橋健司，“色の表現を考慮した粒子・体積モデルに基づく仮想液体操
作システム” 日本バーチャルリアリティ学会第 14 回大会講演論文集, 1C4-2(DVD-ROM),2009.
[18] 夏目祐樹, 伊藤宏隆, 舟橋健司，“粒子・体積ベース仮想液体操作モデルにおける凹形状
容器での液体操作の実現” 日本バーチャルリアリティ学会第 15 回大会講演論文集, 3C1-

6(DVD-ROM), 2010.
[19] Atsushi Morii, Daisuke Yamamoto, Kenji Funahashi, “Interactive Manipulation
Model of Group of Individual Bodies for VR Cooking System”, Lecture Notes in Computer Science No.6243, Proc. ICEC 2010, pp.484-486, 2010.
[20] 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.