import matplotlib.pyplot as plt
import numpy as np
# 定义直角三角形的边长
a = 3 # 边长度
b = 4 # 另一边长度
c = np.sqrt(a**2 + b**2) # 斜边长度
# 创建图形
plt.figure(figsize=(6, 6))
# 绘制直角三角形
triangle_x = [0, a, 0, 0]
triangle_y = [0, 0, b, 0]
plt.plot(triangle_x, triangle_y, 'b-', label='Triangle')
plt.fill(triangle_x, triangle_y, 'skyblue', alpha=0.5)
# 绘制正方形
plt.plot([a, a+c], [0, 0], 'r-', linewidth=3) # 斜边
plt.plot([a, a], [0, b], 'r-', linewidth=3) # 高边
plt.plot([0, a], [b, b], 'r-', linewidth=3) # 基边
# 添加注释
plt.text(a/2, -0.5, f'a={a}', fontsize=12, ha='center')
plt.text(-0.5, b/2, f'b={b}', fontsize=12, va='center', rotation='vertical')
plt.text(a/2+1, b/2+1, f'c={c:.2f}', fontsize=12)
# 添加标题和标签
plt.title('Pythagorean Theorem Visualization')
plt.xlim(-1, a + 2)
plt.ylim(-1, b + 2)
plt.axhline(0, color='black', lw=0.5)
plt.axvline(0, color='black', lw=0.5)
plt.grid(True)
plt.legend()
plt.gca().set_aspect('equal')
# 显示图形
plt.show()