Matplotlib を使った 3D パラメトリック曲線の描画

PythonPythonBeginner
オンラインで実践に進む

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Matplotlib を使って 3 次元のパラメトリック曲線を描画する方法を示します。この曲線は、次の 3 つの方程式で定義されます。

x = r * sin(theta)

y = r * cos(theta)

z = z

ここで、r と z は次のように定義されます。

r = z^2 + 1

z は -2 から 2 までの値の範囲で、theta は -4π から 4π までの値の範囲です。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリをインポートする

必要なライブラリをインポートして始めましょう。Matplotlib と NumPy です。Matplotlib は 3 次元プロットを作成するために使用し、NumPy は x、y、および z の値を生成するために使用されます。

import matplotlib.pyplot as plt
import numpy as np

3 次元プロットを作成する

次に、Matplotlib を使って 3 次元プロットを作成します。また、軸オブジェクトを作成して、プロットにラベルや凡例を追加します。

ax = plt.figure().add_subplot(projection='3d')

x、y、および z の値を定義する

NumPy を使って x、y、および z の値を生成します。まず、theta と z の値の範囲を定義します。そして、これらの値を使って r、x、および y の値を生成します。

theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)

パラメトリック曲線を描画する

これで x、y、および z の値を生成したので、Matplotlib の plot() メソッドを使ってパラメトリック曲線を描画できます。

ax.plot(x, y, z, label='parametric curve')

プロットにラベルと凡例を追加する

最後に、legend() メソッドを使ってプロットにラベルと凡例を追加します。

ax.legend()

まとめ

この実験では、Matplotlib を使って 3 次元のパラメトリック曲線を描画する方法を学びました。3 つの方程式を使って曲線を定義し、NumPy を使って x、y、および z の値を生成しました。そして、曲線を描画し、プロットにラベルと凡例を追加しました。