大家好,小编来为大家解答以下问题,python编程画圆入门 如何用python绘制圆,现在让我们一起来看看吧!
大家好,小编为大家解答用python画圆代码含turtle的问题Python官网下载速度慢的问题分析与解决方案。很多人还不知道python编程画圆入门,现在让我们一起来看看吧!
Source code download: 本文相关源码
一、实验目的
设计一个全白的图片,并在其间绘制一个圆最终显示该图片。
二、设计方案
1、引入PIL中的Image模块,使用()创建新的空白图片 2、利用putpixel()函数放置一个黑色像素(RGB中0代表黑色,255代表白色) 3、使用Bresenham画圆和中点画圆两种方式绘制圆形,要求:其圆心坐标为(249,249),半径为150像素,同时要求绘制方法作为函数调用
三、详细代码
from PIL import Image
def circle1(r) :#中点画圆法
g = ("RGB", (500, 500), color="white") #设置白色背景
x = 0 #初始圆的圆心横坐标
y = r #初始圆的纵坐标
d =1.25-r #计算判别量
g.putpixel((x+249, y+249), 0) #放置像素点到对应的位置
g.putpixel((249 - x, y + 249), 0) #放置像素点到对应的位置
g.putpixel((x + 249, 249 - y), 0) #放置像素点到对应的位置
g.putpixel((249 - x, 249 - y), 0) #放置像素点到对应的位置
g.putpixel((y + 249, x + 249), 0) #放置像素点到对应的位置
g.putpixel((249 - y, x + 249), 0) #放置像素点到对应的位置
g.putpixel((y + 249, 249-x), 0) #放置像素点到对应的位置
g.putpixel((249-y,249-x), 0) #放置像素点到对应的位置
while x < y: #判断下一个点的位置
if d <0:
d+=2*x+3
x += 1
else:
d+=2*(x-y)+5
x += 1
y -= 1
g.putpixel((x + 249, y + 249), 0) #画点
g.putpixel((249 - x, y + 249), 0) #画点
g.putpixel((x + 249, 249 - y), 0) #画点
g.putpixel((249 - x, 249 - y), 0) #画点
g.putpixel((y + 249, x + 249), 0) #画点
g.putpixel((249 - y, x + 249), 0) #画点
g.putpixel((y + 249, 249 - x), 0) #画点
g.putpixel((249 - y, 249 - x), 0) #画点
g.show() #展示成果
def circle2(r): #Bresenham画圆
("RGB",(500,500),"white") #建立空白背景图片
x=0 #设立初始横坐标轴
y=r #设立初始横坐标轴
p=3-2*r #计算判别量
while x<=y: #循环画点
g.putpixel((x + 249, y + 249), 0) #以下八句用于画圆,每次画八分之一,其余由对称而来
g.putpixel((249 - x, y + 249), 0)
g.putpixel((x + 249, 249 - y), 0)
g.putpixel((249 - x, 249 - y), 0)
g.putpixel((y + 249, x + 249), 0)
g.putpixel((249 - y, x + 249), 0)
g.putpixel((y + 249, 249 - x), 0)
g.putpixel((249 - y, 249 - x), 0)
if p>=0: #如果判别量〉=零
p+=4*(x-y)+10 #更新判别量
y- =1 #在斜下方画点
x+=1
else:
p+=4*x+6
x+=1 #在旁边一格画点
g.show() #展示图片
circle2(150)#画圆,输入圆的半径Bresenham画圆
circle1(150)#画圆,中点画圆法
四、实验结果
五、实验体会
这个实验要求我们学会中点画圆以及Bresenham画圆的方法,要求学会其原理,以及对于点的处理方法,先画八分之一圆,通过平移到对应位置,然后对称获得整圆python工程师怎么考。在此过程中,我们需要不断地计算下一个点的近似点
原文地址1:https://blog.csdn.net/P42695665/article/details/137014089
参考资料:python中用turtle画一个圆形 https://blog.csdn.net/SXIAOYAN_/article/details/140061099