はじめに
この実験では、Python の Matplotlib ライブラリを使って三角形メッシュで 3D 曲面を作成する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
ライブラリのインポート
まず、必要なライブラリをインポートする必要があります。
import matplotlib.pyplot as plt
import numpy as np
変数の定義
半径と角度の変数を定義します。
n_radii = 8
n_angles = 36
半径と角度の空間を作成する
linspace関数を使って半径と角度の空間を作成します。
## Make radii and angles spaces (radius r=0 omitted to eliminate duplication).
radii = np.linspace(0.125, 1.0, n_radii)
angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)[..., np.newaxis]
極座標を直交座標に変換する
極座標を直交座標に変換します。
## Convert polar (radii, angles) coords to cartesian (x, y) coords.
## (0, 0) is manually added at this stage, so there will be no duplicate
## points in the (x, y) plane.
x = np.append(0, (radii*np.cos(angles)).flatten())
y = np.append(0, (radii*np.sin(angles)).flatten())
プリングルの曲面を作成するための Z を計算する
プリングルの曲面を作成するために Z を計算します。
## Compute z to make the pringle surface.
z = np.sin(-x*y)
3D 曲面を作成する
plot_trisurf関数を使って 3D 曲面を作成します。
ax = plt.figure().add_subplot(projection='3d')
ax.plot_trisurf(x, y, z, linewidth=0.2, antialiased=True)
plt.show()
まとめ
この実験では、Python の Matplotlib ライブラリを使って三角形メッシュ付きの 3D 曲面を作成する方法を学びました。必要なライブラリをインポートし、半径と角度の変数を定義し、半径と角度の空間を作成し、極座標を直交座標に変換し、プリングルの曲面を作成するための z を計算し、plot_trisurf関数を使って 3D 曲面を作成しました。