Python:如何在给定坐标周围绘制圆圈
我现在想在一些坐标周围画出指定半径的圆圈,以便查看这些圆圈是否重叠。目前我有:
import matplotlib.pyplot as plt
for i in range(len(b)):
for j in range(len(d)):
circle1=plt.Circle((b[i,0], b[i,1]), 0.5, color='r', fill=False)
circle1=plt.Circle((d[j,0], d[j,1]), 0.5, color='g', fill=False)
fig = plt.gcf()
fig.gca().add_artist(circle1)
fig.gca().add_artist(circle2)
fig.savefig('plotcircles.png')
b和d是每行有两个元素的列表。
谢谢!
1 个回答
0
你的圆形绘图代码会保存 len(d) x len(b) 个同名的图片,而这些图片中的圆圈会越来越多(因为你只是在 plt.gcf()
这一行创建了一个新图片)。如果你只是想生成很多个 png 图片,我建议你先画好两个圆,然后每次只改变它们的位置,利用它们的 center
属性。
不过,如果你只是想知道两个圆是否重叠,其实有更简单的方法。你需要知道圆心之间的距离(s)和两个圆的半径(r1 和 r2)。如果 r1 + r2 小于 s,那么这两个圆就重叠了。用这三个数字来计算重叠的面积也很简单。