如何使用Python绘制x²+y²=9的二维圆形而非3D方程图形
Python绘制x² + y² = 9二维圆形的实现方案
绘制这类二维隐式等式方程不需要用到3D绘图接口,以下是两种常用的可直接运行的实现方法:
方法1:参数方程转换法(性能最优,适配圆形这类规则几何图形)
圆的标准方程可转换为参数形式:x = rcosθ,y = rsinθ,本题中r=3,直接生成角度序列计算坐标即可绘图,代码示例:
import numpy as np import matplotlib.pyplot as plt # 生成0到2π的角度序列,步长越小圆形越平滑 theta = np.linspace(0, 2*np.pi, 1000) x = 3 * np.cos(theta) y = 3 * np.sin(theta) plt.plot(x, y) # 强制横纵轴等比例,避免圆形显示为椭圆 plt.axis('equal') plt.show()
方法2:隐式方程直接绘制(适配所有复杂二维隐式等式,无需手动转参数)
借助matplotlib的等高线绘制接口,提取等式成立的坐标点即可,代码示例:
import numpy as np import matplotlib.pyplot as plt # 生成坐标网格,范围覆盖圆的边界即可 x = np.linspace(-4, 4, 1000) y = np.linspace(-4, 4, 1000) X, Y = np.meshgrid(x, y) # 计算隐式方程左值 Z = X**2 + Y**2 # 绘制Z=9的等高线,就是对应方程的图形 plt.contour(X, Y, Z, levels=[9]) plt.axis('equal') plt.show()
注意事项
- 两种方法都必须添加
plt.axis('equal')配置,否则画布横纵比例不同会导致圆形显示为椭圆 - 可通过修改
plot或contour的参数调整线条颜色、粗细、样式,满足个性化展示需求
内容的提问来源于stack exchange,提问作者Subodh Dhabalia
相关产品推荐
相关产品推荐

