テキストがフォーマットされた方法が好きではありません。より適切で目を見張るようなフォーマットでテキストを書き直してください。
PythonとMatplotlibを使用してシンプルな地形ジェネレーターを作成するには、さまざまな地形とその滑らかさを定義するパラメーターでPerlinノイズを使用できます。従うべき手順は次のとおりです。

1.コードの先頭に必要なライブラリをインポートします。
`` `py
インポートノイズ
npとしてnumpyをインポートします
pltとしてmatplotlib.pyplotをインポートします
mpl_toolkits.mplot3dからaxes3dをインポートします
`` `

2.地形の形状、スケール、オクターブ、持続性、および存在性を定義します。
`` `py
shape =（50、50）
スケール= 100.0
オクターブ= 6
持続性= 0.5
lacunarity = 2.0
`` `

3.私たちの世界の値を含むnumpyアレイを初期化し、空の配列を繰り返し、Perlinノイズで埋めます。
`` `py
world = np.zeros（shape）
範囲のiの場合（shape [0]）：
    範囲のjの場合（shape [1]）：
        world [i] [j] = noise.pnoise2（i / scale、
                                    J /スケール、
                                    オクターブ=オクターブ、
                                    持続性=持続性、
                                    lacunality = lacunality、
                                    Repeatx = 1024、
                                    Repeaty = 1024、
                                    ベース= 42）
`` `

4. matplotlibを使用して2D地形をプロットします。
`` `py
plt.imshow（world、cmap = 'terrain'）
plt.show（）
`` `

5.私たちの世界のX-Y座標を含む2つのアレイを初期化し、MATPLOTLIBで3Dでプロットします。
`` `py
lin_x = np.linspace（0、1、shape [0]、endpoint = false）
lin_y = np.linspace（0、1、shape [1]、endpoint = false）
x、y = np.meshgrid（lin_x、lin_y）

fig = plt.figure（）
ax = fig.add_subplot（111、projection = "3d"）
ax.plot_surface（x、y、world、cmap = 'terrain'）
plt.show（）
`` `

6. Matplotlib Colormapをプロット互換性のあるものに変換して、プロットを使用してインタラクティブプロットを作成し、3Dテレインモデルを作成します。
`` `py
terain_cmap = plt.cm.get_cmap（ 'terrain'）
def matplotlib_to_plotly（cmap、pl_entries）：
    h = 1.0 /（pl_entries -1）
    pl_colorscale = []
    範囲のkの場合（pl_entries）：
        c = list（map（np.uint8、np.array（cmap（k * h）[：3]） * 255））
        pl_colorscale.append（[k * h、 'rgb' + str（（c [0]、c [1]、c [2]））））
    pl_colorscaleを返します
Terrain = matplotlib_to_plotly（terrain_cmap、255）

fig = go.figure（data = [go.surface（colorscale = terrain、z = world）]））
fig.update_layout（title = 'ランダム3D地形'）
go_offline.plot（fig、filename = '3d-terrain-plotly.html'、validate = true、auto_open = false）
`` `
7.これが最終コードです。
`` `py
＃コードの先頭に必要なライブラリをインポートする
インポートノイズ
npとしてnumpyをインポートします
pltとしてmatplotlib.pyplotをインポートします
mpl_toolkits.mplot3dからaxes3dをインポートします

＃地形の形状、スケール、オクターブ、持続性、およびlucun性を定義します。
shape =（50、50）
スケール= 100.0
オクターブ= 6
持続性= 0.5
lacunarity = 2.0

＃私たちの世界の値を含むnumpyアレイを初期化し、空の配列を繰り返し、Perlinノイズで塗りつぶします。
world = np.zeros（shape）
範囲のiの場合（shape [0]）：
    範囲のjの場合（shape [1]）：
        world [i] [j] = noise.pnoise2（i / scale、
                                    J /スケール、
                                    オクターブ=オクターブ、
                                    持続性=持続性、
                                    lacunality = lacunality、
                                    Repeatx = 1024、
                                    Repeaty = 1024、
                                    ベース= 42）

＃Matplotlibを使用して2D地形をプロットします
plt.imshow（world、cmap = 'terrain'）
plt.show（）

＃私たちの世界のx-y座標を含む2つのアレイを初期化し、matplotlibで3Dでプロットする
lin_x = np.linspace（0、1、shape [0]、endpoint = false）
lin_y = np.linspace（0、1、shape [1]、endpoint = false）
x、y = np.meshgrid（lin_x、lin_y）

fig = plt.figure（）
ax = fig.add_subplot（111、projection = "3d"）
ax.plot_surface（x、y、world、cmap = 'terrain'）
plt.show（）

＃matplotlib colormapをプロット互換性のあるものに変換し、3D地形モデルを作成することにより、プロットを使用してインタラクティブプロットを作成します
terain_cmap = plt.cm.get_cmap（ 'terrain'）
def matplotlib_to_plotly（cmap、pl_entries）：
    h = 1.0 /（pl_entries -1）
    pl_colorscale = []
    範囲のkの場合（pl_entries）：
        c = list（map（np.uint8、np.array（cmap（k * h）[：3]） * 255））
        pl_colorscale.append（[k * h、 'rgb' + str（（c [0]、c [1]、c [2]））））
    pl_colorscaleを返します
Terrain = matplotlib_to_plotly（terrain_cmap、255）

fig = go.figure（data = [go.surface（colorscale = terrain、z = world）]））
fig.update_layout（title = 'ランダム3D地形'）
go_offline.plot（fig、filename = '3d-terrain-plotly.html'、validate = true、auto_open = false）

`` `

上記の手順は、PythonとMatplotlibを使用した単純な地形ジェネレーターの1つの可能な実装にすぎないことに注意してください。これを達成する他の多くの方法があり、実装の選択はプロジェクトの特定の要件に依存します。