关于圆的方程
flyfish
几何定义
圆是平面上所有到一个固定点(圆心)距离相等的点的集合。
解析几何描述
设圆心位于点
(
h
,
k
)
(h, k)
(h,k),半径为
r
r
r,那么对于圆上的任意一点
(
x
,
y
)
(x, y)
(x,y),它到圆心的距离总是等于
r
r
r。根据勾股定理,这个距离可以表示为:
(
x
−
h
)
2
+
(
y
−
k
)
2
=
r
\sqrt{(x - h)^2 + (y - k)^2} = r
(x−h)2+(y−k)2=r
平方两边,可以得到:
(
x
−
h
)
2
+
(
y
−
k
)
2
=
r
2
(x - h)^2 + (y - k)^2 = r^2
(x−h)2+(y−k)2=r2这是圆的标准方程。如果圆心位于原点
(
0
,
0
)
(0, 0)
(0,0),方程简化为:
x
2
+
y
2
=
r
2
x^2 + y^2 = r^2
x2+y2=r2
。
import matplotlib.pyplot as plt
import numpy as np
def plot_circle(h, k, r):
theta = np.linspace(0, 2 * np.pi, 100)
x = h + r * np.cos(theta)
y = k + r * np.sin(theta)
plt.figure(figsize=(6, 6))
plt.plot(x, y, label=f'Circle: $(x - {h})^2 + (y - {k})^2 = {r}^2$')
plt.scatter(h, k, color='red') # 圆心
plt.text(h, k, f'({h},{k})', fontsize=12, ha='right')
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.gca().set_aspect('equal', adjustable='box')
plt.legend()
plt.title('Circle')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
plot_circle(0, 0, 5)
def plot_pythagorean_theorem(a, b):
c = np.sqrt(a**2 + b**2)
plt.figure(figsize=(6, 6))
# 绘制直角三角形
plt.plot([0, a], [0, 0], 'bo-') # 底边
plt.plot([a, a], [0, b], 'bo-') # 高
plt.plot([0, a], [0, b], 'bo-') # 斜边
# 标注边长
plt.text(a / 2, -0.5, f'{a}', fontsize=12, ha='center')
plt.text(a + 0.5, b / 2, f'{b}', fontsize=12, va='center')
plt.text(a / 2, b / 2, f'{c:.2f}', fontsize=12, ha='right', rotation=np.degrees(np.arctan(b / a)))
plt.axhline(0, color='black',linewidth=0.5)
plt.axvline(0, color='black',linewidth=0.5)
plt.grid(color = 'gray', linestyle = '--', linewidth = 0.5)
plt.gca().set_aspect('equal', adjustable='box')
plt.title('Pythagorean Theorem')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
plot_pythagorean_theorem(3, 4)