﻿import numpy as np  # モジュールNumpyをnpという名前でインポート
import matplotlib.pyplot as plt  # グラフ描画のためのモジュール
def f(x, y):  # 同時密度関数
    cond = (
        (x >= 0.0) &
        (x < 1.0) &
        (y > 0.0) &
        (y <= 2.0 - 2.0 * x)
    )
    return np.where(cond, 1.0 / (2.0 * (1.0 - x)), 0.0)

# 3次元グラフを描画
x = np.linspace(0, 2, 61)
y = np.linspace(0, 2, 61)
X, Y = np.meshgrid(x, y)
Z = f(X, Y)
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
ax.plot_surface(X, Y, Z, edgecolor = "white",
                alpha = 0.7, color = "blue")
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_zlabel("f(x, y)")
ax.set_zlim(0, 8)
ax.view_init(elev=10, azim=100)
plt.show()
