仮想と物理とエトセトラ

xRや物理とかごった煮の備忘録的技術ブログ

電場をHololens上で再現する(その1 必要な要素を洗い出す)

今回は試験的に物理枠です。(xRばかりでブログ名詐欺のため)
この枠では、Hololensで物理的な挙動を可視化することを考えていきます。
特に電磁気学などの場の力や流体力学など、目に見えない事象は理解が難しいため、可視化の需要はあると思います。
電磁気学としては、将来的にはラーマ運動やロスコーンをHololensなどxRデバイスで可視化出来たらいいなぁと思っています。

今回は電場についてHololens上で再現すべく、まずは必要な要素を洗い出します。

電場とは

ja.wikipedia.org

電場とは電荷に電気的な力が働く空間のことです。
電場\boldsymbol{E} [N/C]に電荷q [C]が存在すると以下のように力\boldsymbol{F} [N]を受けます。

 \displaystyle{\boldsymbol{F} = q\boldsymbol{E}}

電場と力はベクトルのため、方向を考慮する必要があります。

また、ある電荷q [C]が空間に作る電場\boldsymbol{E} [N/C]は以下のように定義されます。

 \displaystyle{\boldsymbol{E} = \frac{1}{4πε_0} \frac{q}{r^2}  \boldsymbol{e_r} }

4πε_0は真空の誘電率r電荷との距離、\boldsymbol{e_r}電荷中心からの方向ベクトルです。

本来は電場と相互作用する磁場も考慮する必要がありますが、磁場の回で考えることとします。

電荷オブジェクトに必要な要素

ではUnity上で再現するために必要な要素を洗い出します。
今回は面倒なので、点電荷として考えます。
また、無限遠まで電場を考慮すると計算領域が多くなりすぎるので、Sphere Collider (On Trigger)の内側のみ電場が存在するとします。
Colliderの範囲(電場判定の範囲)は、その電荷単独で作る電場の値で閾値を設け、ボタンで視覚化できるようにします。

電荷オブジェクトが持つべき要素は以下と思われます。

1. 自分の電荷(正負)  
2. 自分の位置の電場ベクトル(自分の電荷以外からの電場ベクトルの合成)  
3. 電場から力を加えるか否か(電場を作るため、移動させない電荷用)
4. 他のオブジェクトに電場を与えるメソッド  
5. 電場ベクトルから自分の電荷に力を加えるメソッド  
6. 電場考慮範囲(Collider範囲)の調整メソッド(Startで実行)  

Collider用の電場閾値や、誘電率などの定数はシングルトン管理する想定です。

余裕があれば、空間上の任意の点の電場ベクトルを示す矢印も作ってみようと思います。 次回から実装していきます。
考慮漏れや誤りがあったら随時修正する予定です。
※物理枠はネタの書き方が難しい。。。

はてなブログでの数式の書き方参考:

7shi.hateblo.jp