div Eのアニメーション

 2次元面上の電気力線を描くプログラムに、「div Eはいったい何を計算しているのか?」というイメージをアニメーションで見せる機能をつけたものです。
 画面の真ん中にある灰色の□の境界面から出る電場のflux(電気力線の本数)を、単位面積あたりにしてから面積→0の極限を取ったものがdiv Eです。
 □の回りの各点での電場をアニメーションで示します。水色が各点での電場です。fluxに関係するのは電場のうち、境界の法線方向への射影です。それが青色の矢印で表現されています。
 一周する間にfluxが正になったり負になったりします。
 右側にあるグラフは、fluxの積分を表現しています。内部に電荷がないならば、全体で0になるはずです。

 電荷が動かせたり、等電位線を出したりできます。マウスでいじって遊びましょう。

念のため注意! ほんとうのdivは立体的(3次元的)に定義しなくてはいけません。説明の都合上、一個次元を落として平面(2次元)で考えています。

ソースコードはdivE.asです。