# x, y, zの値を生成 theta = np.linspace(0, 2 * np.pi, 100) phi = np.linspace(0, np.pi, 100) x = r * np.outer(np.cos(theta), np.sin(phi)) y = r * np.outer(np.sin(theta), np.sin(phi)) z = r * np.outer(np.ones(100), np.cos(phi))
# 球をプロット ax.plot_surface(x, y, z, color='b', alpha=0.5)
theta = np.linspace(0, 2 * np.pi, 100) phi = np.linspace(0, np.pi, 100) x = r * np.outer(np.cos(theta), np.sin(phi)) y = r * np.outer(np.sin(theta), np.sin(phi)) z = r * np.outer(np.ones(100), np.cos(phi))
球の表面を構成する$x, y, z$座標の値を生成しています。 np.linspace()は指定された範囲で等間隔の値を生成し、np.outer()は2つの配列の外積を計算します。
5. 球のプロット:
1
ax.plot_surface(x, y, z, color='b', alpha=0.5)
ax.plot_surface()を使用して球を描画しています。 ここでは、生成したx, y, z座標の値を使用し、color='b'で青色、alpha=0.5で透明度を設定しています。
import numpy as np import matplotlib.pyplot as plt
deflogistic(r, x): return r * x * (1 - x)
x = np.linspace(0, 1) fig, ax = plt.subplots(1, 1, figsize=(6, 10), dpi=80) for r in np.linspace(0.5, 4.0, 400): X = np.empty(1000) X[0] = 0.1 for i inrange(999): X[i+1] = logistic(r, X[i]) ax.plot([r]*1000, X, ',k', alpha=0.2)
import numpy as np import matplotlib.pyplot as plt
numpyは数値計算をサポートするPythonライブラリで、配列操作や数値計算を高速に行います。
matplotlib.pyplotはグラフ描画ライブラリです。
ロジスティック写像の関数
1 2
deflogistic(r, x): return r * x * (1 - x)
logistic関数はロジスティック写像の式を表しています。
分岐図の作成
1 2 3 4 5 6 7 8
x = np.linspace(0, 1) fig, ax = plt.subplots(1, 1, figsize=(6, 10), dpi=80) for r in np.linspace(0.5, 4.0, 400): X = np.empty(1000) X[0] = 0.1 for i inrange(999): X[i+1] = logistic(r, X[i]) ax.plot([r]*1000, X, ',k', alpha=0.2)
plt.figure(figsize=(8, 4)) for i inrange(2): plt.subplot(1, 2, i+1) plt.bar(range(len(colors[i])), colors[i], color=['r', 'g', 'b'], alpha=0.6) plt.xticks(range(len(colors[i])), ['R', 'G', 'B']) plt.title(labels[i])
plt.tight_layout() plt.show()
print(f"The given color is: {given_color}") print(f"The complementary color is: {complementary_color}") print(f"The distance between these colors is: {distance_value}")
print(f"The given color is: {given_color}") print(f"The complementary color is: {complementary_color}") print(f"The distance between these colors is: {distance_value}")
The given color is: [0.4, 0.2, 0.9]
The complementary color is: [0.6, 0.8, 0.09999999999999998]
The distance between these colors is: 1.019803902718557