如何使用PIL在python中绘制一个刻在正方形中的单位圆

时间:2017-10-22 20:18:14

标签: python image graphics geometry python-imaging-library

我想绘制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

1 个答案:

答案 0 :(得分:0)

你跟我们说说两个半径,比如响 - 对吧?

您需要使用比例乘数将半径为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