PR
スポンサーリンク

【Python】黒板に書かれた数式風なイラスト生成

プログラミング
スポンサーリンク

黒板に数式が書かれているイメージを探していました。生成AIで作成された画像生成ではちょっとピンと来るものがなかったので、描くためのソースコードをAIで作ってみました。
なるほど、確かにmatplotlibでこんな風に描いたらそれらしくなるなあ。
おもしろかったので、それを改造して使いました。そのソースコードの紹介。

import matplotlib.pyplot as plt
import numpy as np

# 黒板の背景を作成
fig, ax = plt.subplots(figsize=(12, 8))
ax.set_facecolor('black')
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)

# 数式のリストを作成 これを増やせば記述される数式が増える
equations = [
    r"$E = mc^2$",
    r"$\frac{d}{dx}e^x = e^x$",
    r"$\int_a^b f(x)\,dx = F(b) - F(a)$",
    r"$\nabla \cdot \mathbf{E} = \frac{\rho}{\epsilon_0}$",
    r"$\nabla \times \mathbf{B} - \frac{1}{c^2}\frac{\partial \mathbf{E}}{\partial t} = \mu_0 \mathbf{J}$",
    r"$F = ma$",
    r"$a^2 + b^2 = c^2$",
    r"$\frac{\partial u}{\partial t} = D \nabla^2 u$",
    r"$\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}$",
    r"$i\hbar \frac{\partial}{\partial t} \Psi = \hat{H} \Psi$"
]

# 数式をプロット
for i, eq in enumerate(equations):
    x = np.random.uniform(1, 9)
    y = np.random.uniform(1, 9)
    ax.text(x, y, eq, fontsize=20, color='white')

# 軸を隠す
ax.axis('off')

# イラストを保存
plt.savefig('./blackboard_equations.png', bbox_inches='tight', facecolor='green')

「はじめアルゴリズム 数学は哲学」のアイキャッチ画像に使いました。

タイトルとURLをコピーしました