第3回 電位の視覚化 (1/2)


1.点電荷の電位

今回は電位の視覚化を通して、Mathematica の3次元プロットを習得します。 Mathematica の習得には、問題を解けるようになることと、 それを視覚化できることの両方が重要です。 今回は簡単のために問題を解く部分を省略し、 グラフィックスに集中して勉強します。 授業では点電荷に続いて、電気双極子が作る電位も取り上げます。 今回の提出課題 は授業でやったことを電気四重極子についてやってもらうだけですので、 授業さえ理解できていれば全く問題ありません。

a) ユーザー定義関数

座標 (a, b, c) に置かれた点電荷 ( 電荷は+q ) がつくる電位Vは

で表されます。ここで です。

となるCGS単位系を用い、この単位系のユニットで電荷が+1であると考えれば、

です。このような関数を Mathematica 上で定義するには、 次のようにします。

1行目で関数 r を、2行目では r を使って関数 V を定義しています。 1行目の最後にある;(セミコロン)は、入力をまとめて行う ときに使います。 (hogehoge1; hogehoge2; ... は前から順番に評価され、 最後のものについてのみ出力が行われます。)

ユーザー定義関数では、 左辺にはアンダースコア(_)、 中央には := (コロンと等号)が現れる ことを覚えておいてください。2行目の右辺では上で定義した関数 r をさっそく使っていますが、このときにはアンダースコアは現れません。

b) 点電荷の電位

3次元プロットには Plot3D[ ]を用います。 V は3次元空間で定義された関数なので、そのままでは視覚化できません。 (z軸には V そのものをプロットしたいので。) そこで関数の定義域をxy平面に限定します。すなわち z=0 と置きます。ついでに点電荷は原点にある、すなわち (a,b,c)=(0,0,0) と仮定すれば、


で xy平面上の電位がプロットできます。 Plot[ ]Show[ ] で用いたオプションも用いることができます。例えば、

と入力すれば、


となります。Plot3D は SurfaceGraphics オブジェクトを生成する関数なので、Graphics オブジェクトを生成した Plot  などの関数とはオプション が若干違います。 (例えばPlotPoints。) SurfaceGraphics オブジェクト固有のオプションには他にも Mesh や FaceGrids などがありますので、試してみてください。


点電荷の電位は等方的なので、yz平面やzx平面を定義域に選んでも 同様の結果になります。また、原点で発散する関数形なので、原点を 含む面で図示する限り、すべてを図示することはできません。

c)点電荷の作る等電位面

等電位面を描くには等高線プロットを行います。そのための関数は ContourPlot[ ] です。


ContourPlot は ContourGraphics オブジェクトを生成します。 しかしこれでは等電位線であって、等電位面ではありません。

等高線プロットをするときには定義域を2次元の平面に限る必要はありません。 定義域を3次元にすれば等電位面を描くことができます。そのための関数が ContourPlot3D[ ] です。ただし、この関数を使うには前もって対応するライブラリをロードして おかなければなりません。 ライブラリのロードには << を用います。 一度ライブラリをロードすると、そのライブラリに属する関数(群) はMathematica を終了、もしくは Kernel を quit するまで有効です。

と入力し評価させてから、続けて以下を試してみてください。


ContourPlot3D は Graphics3D オブジェクトを生成します。 オプションの指定からわかるように、電位Vの値が1, 2, 3 である場所に 等高面を描かせていますが、これでは中が隠れてしまってよくわかりません。 z軸のマイナス方向から上を見上げれば様子がわかるはずなので、見る視点 (ViewPoint)を変えれば解決するはずです。ViewPoint の決定には 3D ViewPoint Selector(Ctrl+Shift+V で起動。) が利用できます。



Home Top Back Next