我想绘制 600x600 的图像,同时循环遍历每个像素以绘制四分之一的圆(半径为 pi)。如何根据相应的坐标 (x, y) 是落在单位圆圈内还是外,为每个像素(xp, yp) 着色:x2 + y2 = 1,就像我放置 if 语句时一样,我使用什么条件?
我试图做一个被刻在一个正方形中的圆的四分之一这是我到目前为止所拥有的:
from PIL import Image
img=Image.new('RGB',(600,600),(0,0,255))
yp = 0
while yp < 600:
xp = 0
while xp < 600:
img.putpixel((xp,yp),(0,255,0))
xp += 1
yp += 1
你和我们谈论两个半径,比如环——对吧?
您需要使用比例乘数将半径为 Pi 的圆拟合到整个矩形上
Scale = 600 / Pi
并在循环内检查条件:
if (xp * xp + yp * yp) < Scale * Scale: #inside R=1 circle
color = InnerColorConst
elif (xp * xp + yp * yp) < Scale * Scale * Pi * Pi: #inside R=Pi circle
color = OuterColorConst
else:
color = BackgroundColorConst # or omit putpixel