モンキサドル(Monkey Saddle)
モンキサドル(Monkey Saddle)は数学的に興味深い曲面で、3Dグラフとして視覚化するとその特徴的な形状がよくわかります。
以下にPythonを使ってモンキサドルを3Dグラフ化する方法を示します。
Pythonには、3Dグラフを描画するために一般的に使用されるライブラリMatplotlib
とNumPy
を使います。
まず、必要なライブラリをインストールします。
これらは一般的に使用されるライブラリであり、多くのPython環境に既にインストールされているかもしれませんが、念のため以下のコマンドを実行してインストールしておいてください。
1 | pip install matplotlib numpy |
次に、モンキサドルを3Dグラフ化するPythonスクリプトを書きます。
1 | import numpy as np |
このスクリプトを実行すると、モンキサドルの3Dプロットが表示されます。
monkey_saddle
関数はモンキサドルの定義で、x
とy
のメッシュグリッドを使ってz
の値を計算しています。
その後、plot_surface
メソッドを使って3Dプロットを作成し、viridis
カラーマップを適用しています。
ソースコード解説
1. ライブラリのインポート:
必要なライブラリをインポートします。
1 | import numpy as np |
2. モンキサドルの関数定義:
モンキサドルの方程式$ ( z = x^3 - 3xy^2 ) $を関数として定義します。
1 | def monkey_saddle(x, y): |
3. 描画範囲の設定:
numpy
のlinspace
関数を使って、$-2$から$2$までの範囲で等間隔な数値を生成し、メッシュグリッドを作成します。
1 | x = np.linspace(-2, 2, 400) |
4. プロットの設定:
matplotlib
のfigure
とadd_subplot
を使って3Dプロットを作成します。
1 | fig = plt.figure() |
5. 表面プロットの作成:
plot_surface
メソッドを使って、モンキサドルの表面を描画します。
1 | ax.plot_surface(x, y, z, cmap='viridis', edgecolor='none') |
6. タイトルと軸ラベルの設定:
タイトルと軸ラベルを設定します。
1 | ax.set_title("Monkey Saddle") |
7. プロットの表示:
plt.show
を使ってプロットを表示します。
1 | plt.show() |
これで、モンキサドルの3Dプロットが表示されます。
グラフ解説
[実行結果]
モンキサドルの3Dプロットを詳しく説明します。
このプロットはモンキサドルと呼ばれる特定の形状を持つ曲面を可視化したもので、方程式$ ( z = x^3 - 3xy^2 ) $によって定義されます。
以下にプロットの各要素とその意味について詳しく説明します。
グラフの概要
タイトル: “Monkey Saddle”
- このタイトルはプロットがモンキサドル曲面を表していることを示しています。
軸ラベル:
- X axis: $x$座標を表します。$x$軸は左右に伸びています。
- Y axis: $y$座標を表します。$y$軸は前後に伸びています。
- Z axis: $z$座標を表します。$z$軸は上下に伸びています。
モンキサドル曲面の特徴
方程式: $( z = x^3 - 3xy^2 )$
- この方程式は、$z$座標が$x$座標と$y$座標の3次式によって決定されることを示しています。
形状の特徴:
- モンキサドルは、その名前の通り、サドル(鞍)のような形をしています。
- 中心の鞍点: 原点$ (0, 0, 0) $は鞍点と呼ばれ、$x$軸方向には上向きに、$y$軸方向には下向きに曲がっています。
これは、鞍の中央部分が他の部分よりも低くなっているためです。 - $3$つの上向きと$3$つの下向きの方向: モンキサドルは$x$軸に沿って上向きの山、$y$軸に沿って下向きの谷があり、$3$つの上向き方向と$3$つの下向き方向があります。
これが普通のサドル面($2$つの上向きと$2$つの下向き)との違いです。
カラーマップ
- カラーマップ (viridis):
- このカラーマップは、曲面の高さ($z$値)に基づいて色を変化させます。
通常、低い$z$値は暗い色(例えば、青や緑)、高い$z$値は明るい色(例えば、黄や白)で表示されます。 - 色の変化によって、曲面の高低差が視覚的にわかりやすくなります。
- このカラーマップは、曲面の高さ($z$値)に基づいて色を変化させます。
プロットの表示範囲
x, yの範囲: $-2$から$2$の間で描画されています。
- これにより、モンキサドル曲面の中心付近の詳細を表示することができます。
zの範囲: $x$と$y$の範囲に従って自動的に設定されます。
- この範囲は曲面の形状に依存して変化しますが、一般的には$x$と$y$の範囲に応じて決まります。
解釈
- 中心付近の特徴:
- 原点近くでは、$z$値は急激に変化します。
これはモンキサドルの特徴的な鞍点があるためです。
- 原点近くでは、$z$値は急激に変化します。
- 遠方の特徴:
- $x$または$y$の絶対値が大きくなるにつれて、$z$値も急速に増減します。
これは、$x^3$または$-3xy^2$の項が支配的になるためです。
- $x$または$y$の絶対値が大きくなるにつれて、$z$値も急速に増減します。
このように、モンキサドルの3Dプロットは、その独特の形状と数式によって定義される曲面を視覚的に示しています。
各軸、カラーマップ、およびプロットの範囲により、曲面の特徴とその変化が明確に表示されます。