はじめに
3次元空間でのベクトル場の可視化は、物理学、流体力学、電磁気学などの分野で重要な役割を果たします。matplotlibのmplot3dモジュールにあるquiver関数を使うことで、これらのベクトル場を効果的に表現できます。
コード

解説
モジュールのインポート
データの生成
ここでx, y, zはベクトルの始点の座標を表します。
ベクトルの生成
u, v, wはベクトル成分を表しています。これらの値によって、各ポイントに(0.1, 0.1, 0.1)方向へのベクトルが生成されることを示しています。
ベクトルの表示
ax.quiver(x, y, z, u, v, w)関数を使用すると、座標(x, y, z)から方向(u, v, w)へのベクトルを描画できます。3Dグラフを回転させると、以下のように表示されます。
データを変化させたときのベクトルグラフの変化

ベクトルが下を向いていることがわかる。回転させると以下のようになります。
3Dグラフの回転は以下の記事を参考にしました。

[matplotlib 3D] 14. 3Dグラフの回転アニメーション
matplotlib mplot3d のグラフの回転アニメーション
ベクトルを点線にする

ベクトルのアニメーション表示
下記記事で2Dグラフのベクトルのアニメーションについて解説しました。

[matplotlib animation] 92. quiverのアニメーション
ベクトルを表示できるquiverを使ったアニメーションをmatplotlibのFuncAnimationによって作成する。
まとめ
matplotlibのquiver関数を使った3Dベクトル場の可視化は、複雑な物理現象や数学的概念を直感的に理解するための強力なツールです。適切なパラメータ調整とカラーマッピングを活用することで、情報量の多い視覚的な表現が可能になります。科学計算や物理シミュレーションの結果を効果的に伝えるために、これらの技術を活用しましょう。
参考
3D quiver plot — Matplotlib 3.1.0 documentation
matplotlib.pyplot.quiver — Matplotlib 3.1.0 documentation
コメント