本文主要是介绍关于圆的方程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于圆的方程
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 npdef 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)
这篇关于关于圆的方程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!