如何在python中绘制正方形中的圆?

如何在python中绘制正方形中的圆?,python,numpy,Python,Numpy,我有以下Canvas类用于在给定像素中绘制颜色: class Canvas: def __init__(self,color,pixel): self.color = color self.pixel = pixel self.im = np.zeros((pixel,pixel,3)) self.im[:,:] = color def show(self): pl

我有以下
Canvas
类用于在给定像素中绘制颜色:

class Canvas:
    def __init__(self,color,pixel):
        self.color = color
        self.pixel = pixel
        
        self.im = np.zeros((pixel,pixel,3))
        self.im[:,:] = color
        
    def show(self):
        plt.imshow(self.im)
        plt.axis("off")
        
此简单类使用颜色绘制正方形,例如:

purple = np.array([0.5, 0.0, 0.5])
C = Canvas(purple, 2001) # 2001 x 2001 pixels
C.show()
呈现:

我想用三个参数创建
add_disk()
函数:
质心、半径、颜色
。所以

C.add_disk((1001, 1001), 500, white)
C.show()
呈现:

但是,我不知道如何使用数学公式:


我想我可以使用
np.meshgrid
给白点上色,但是我如何找到这些点并显示在正方形的顶部呢?

因此,使用meshgrid,使用
self.im
的形状,我们首先在2D图像中找到
X
Y
值的坐标。然后,我们找到所有坐标符合圆规则的值(
(X-Ox)**2+(Y-Oy)**2检查这是否解决了您的问题!