python绘制一个5色同心圆_【一点资讯】Python二次封装画圆函数绘制彩色同心圆 www.yidianzixun.com...
Python库默认的绘图circle函数绘制的圆是以当前海龟箭头方向左侧为圆心方向,y轴向上半径r的距离为圆心,绘制一个圆,这个方法不好用,每次都要算。学生课后问,是否可以使用圆心+半径的方法绘制,但是没有函数,只能自己封装一个。
思路如下:
(1)函数的参数(x,y,r)分别为圆心的坐标x和y,半径r。问题来了,可以用goto(X,Y)去圆心,但是导致绘图的圆心在y轴向上移动了r的距离,因此需要去goto(X,Y-r),这样就消除了半径的影响。
(2)箭头去圆心的时候,不知道箭头的方向,因此需要对海龟的箭头方法复位为0度,利用seth(0)函数。
(3)圆如果需要填充颜色,可以利用rgb模式传递颜色。
效果如下,代码如下:
彩色同心圆
import turtleimport random#以(x,y)为圆心,画半径为r的圆,颜色为(cr,cg,cb)def mycircle(x,y,r,cr,cg,cb): mytl1.penup mytl1.goto(x,y-r) mytl1.seth(0) mytl1.pendown mytl1.color(cr,cg,cb) mytl1.begin_fill mytl1.circle(r) mytl1.end_fillmytl1=turtle.Turtleturtle.tracer(0) #画面顺完成turtle.colormode(255) #颜色模式255的,RGB值# mytl1.speed(0) #画面速度最快# mytl1.hideturtle #隐藏海龟箭头mytl1.shape("turtle") #海龟形状for i in range(10,0,-1): cr=random.randint(0,255) #随机颜色 cg = random.randint(0, 255) cb= random.randint(0, 255) mycircle(60,60,i*20,cr,cg,cb)mytl1.screen.mainloop
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
