はじめに
この実験では、Python の Matplotlib ライブラリを使って極座標で 3D 曲面を作成する手順を紹介します。この実験では、Python プログラミングと Matplotlib ライブラリの基本的な知識が前提となっています。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み完了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
この実験で必要なライブラリをインポートして始めましょう。それには Matplotlib と NumPy が含まれます。Matplotlib は Python 用のグラフ描画ライブラリであり、NumPy は Python プログラミング言語用のライブラリで、大きな多次元配列や行列に対するサポートを追加します。
import matplotlib.pyplot as plt
import numpy as np
メッシュを作成する
次に、極座標でメッシュを作成し、対応する Z を計算します。半径値の配列 r と角度値の配列 p を作成し、その後 NumPy の meshgrid() 関数を使って R と P の値のグリッドを作成します。最後に、Z の式を使って曲面の各点の高さを計算します。
r = np.linspace(0, 1.25, 50)
p = np.linspace(0, 2*np.pi, 50)
R, P = np.meshgrid(r, p)
Z = ((R**2 - 1)**2)
直交座標系でメッシュを表す
次に、NumPy の cos() と sin() 関数を使って、直交座標系でメッシュを表します。
X, Y = R*np.cos(P), R*np.sin(P)
曲面を描画する
このステップでは、Matplotlib の plot_surface() 関数を使って曲面を描画します。曲面の色を設定するために、カラーマップ YlGnBu_r を使います。
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(X, Y, Z, cmap=plt.cm.YlGnBu_r)
表示範囲を調整して軸ラベルを追加する
最後に、Matplotlib の set_zlim() と set_xlabel()、set_ylabel()、set_zlabel() 関数を使って、描画の表示範囲を調整して軸ラベルを追加します。また、軸ラベルを記述するために LaTeX の数式モードを使います。
ax.set_zlim(0, 1)
ax.set_xlabel(r'$\phi_\mathrm{real}$')
ax.set_ylabel(r'$\phi_\mathrm{im}$')
ax.set_zlabel(r'$V(\phi)$')
まとめ
この実験では、Python の Matplotlib ライブラリを使って極座標で 3D 曲面を作成する方法を学びました。まず必要なライブラリをインポートし、極座標でメッシュを作成し、直交座標系でメッシュを表し、曲面を描画し、最後に表示範囲を調整して軸ラベルを追加しました。