# 案例1:月饼(基础代码) # 深黄#af5125 中黄#fbbe11 浅黄#ffed91 背景色#fdf291 import turtle turtle.bgcolor("#fdf291") # 设置背景颜色 turtle.speed(0) # 参数为1时,速度减慢,可观察绘图细节。参数为0时,速度最快。 ### ① 画第1层底纹 深黄色 turtle.pencolor("#af5125") # 设置画笔颜色,即设置底纹的颜色 turtle.dot(245) # 画直径为245像素的大圆点 l=110 for i in range(16): turtle.penup() turtle.forward(l) # 海龟抬笔前进l像素后再画小圆点 turtle.pendown() turtle.dot(50) # 画直径为50像素的小圆点 turtle.penup() turtle.backward(l) # 画完小圆点后,海龟再抬笔后退l像素,回到初始位置 turtle.pendown() turtle.right(360/16) # 海龟旋转一定角度后,再进入循环,开始画下一个小圆点 ### ② 画第2层底纹 中黄色 turtle.pencolor("#fbbe11") # 设置画笔颜色,即设置底纹的颜色 turtle.dot(230) # 画直径为230像素的大圆点 l=105 for i in range(16): turtle.penup() turtle.forward(l) turtle.pendown() turtle.dot(45) # 画直径为45像素的小圆点 turtle.penup() turtle.backward(l) turtle.pendown() turtle.right(360/16) ### ③ 画第3层底纹 浅黄色 turtle.pencolor("#ffed91") # 设置画笔颜色,即设置底纹的颜色 turtle.dot(205) # 画直径为205像素的大圆点 l=92 for i in range(16): turtle.penup() turtle.forward(l) turtle.pendown() turtle.dot(40) # 画直径为40像素的小圆点 turtle.penup() turtle.backward(l) turtle.pendown() turtle.right(360/16) ### ④ 画第4层底纹 中黄色 turtle.pencolor("#fbbe11") # 设置画笔颜色,即设置底纹的颜色 turtle.dot(190) # 画直径为190像素的大圆点 l=85 for i in range(16): turtle.penup() turtle.forward(l) turtle.pendown() turtle.dot(38) # 画直径为38像素的小圆点 turtle.penup() turtle.backward(l) turtle.pendown() turtle.right(360/16) turtle.delay(0) # 用更快的速度画螺旋线 ### ⑤ 画棒棒糖螺旋线 def 棒棒糖螺旋线(): # 自定义函数 棒棒糖螺旋线() turtle.pencolor("#e19420") # 设置螺旋线的颜色 turtle.pensize(4) # 设置螺旋线的粗细 for i in range(32): turtle.circle(1 * i, 10) # 根据半径1 * i,绘制角度为10的圆弧 turtle.left(10) # 向左旋转10度后,再进入循环画圆弧 for j in range(16): # 画16个棒棒糖螺旋线 turtle.left(360/16*j) # 当j为0时,即海龟画第1个螺旋线,海龟向右旋转360/16*0度 turtle.penup() # 接上:当j为1时,即海龟画第2个螺旋线,海龟向右旋转360/16*1度 turtle.forward(78) # 海龟移动78像素后再开始画螺旋线 turtle.pendown() 棒棒糖螺旋线() # 调用自定义函数 棒棒糖螺旋线() turtle.penup() turtle.home() # 画完螺旋线后直接让海龟回家,即坐标原点,方向向右 turtle.pendown() turtle.speed(5) # 将速度减慢画后面的图形 turtle.delay(1) ### ⑥ 画正六边形 turtle.delay(20) turtle.pensize(6) turtle.penup() turtle.seth(-90) # 让海龟头部朝下 turtle.forward(50) turtle.seth(0) # 让海龟头部朝右 turtle.pendown() turtle.circle(50,360,6) # 画半径为50的正六边形 ### ⑦ 写文字“中秋月饼” turtle.pencolor("#af5125") turtle.penup() turtle.home() turtle.pendown() # 书写文字“中秋”,居中显示,字体为微软雅黑,字号为20,文字加粗 turtle.write("中秋", align="center", font=("微软雅黑", 20,"bold")) turtle.penup() turtle.goto(0, -30) turtle.pendown() # 书写文字“月饼”,居中显示,字体为微软雅黑,字号为20,文字加粗 turtle.write("月饼", align="center", font=("微软雅黑", 20,"bold")) turtle.hideturtle() # 隐藏海龟的变身黑色小箭头
# 案例2:月饼(优化后代码) # 深黄#af5125 中黄#fbbe11 浅黄#ffed91 背景色#fdf291 import turtle turtle.bgcolor("#fdf291") # 设置背景颜色 turtle.speed(0) # 参数为1时,速度减慢,可观察绘图细节。参数为0时,速度最快。 turtle.delay(0) # 加上这条指令,可让速度更快 def 底纹(color,d1,l,d2): # 自定义有参函数 底纹(),需要用户传递4个参数 turtle.pencolor(color) # 设置画笔的颜色为color,即底纹的颜色 turtle.dot(d1) # 画直径为d1像素的大圆点 for i in range(16): turtle.penup() turtle.forward(l) # 海龟抬笔前进l像素后再画小圆点 turtle.pendown() turtle.dot(d2) # 画直径为d2像素的小圆点 turtle.penup() turtle.backward(l) # 画完小圆点后,海龟再抬笔后退l像素,回到初始位置 turtle.pendown() turtle.right(360/16) # 海龟旋转一定角度后,再进入循环,开始画下一个小圆点 def 棒棒糖螺旋线(): # 自定义函数 棒棒糖螺旋线() turtle.pencolor("#e19420") # 设置螺旋线的颜色 turtle.pensize(4) # 设置螺旋线的粗细 for i in range(32): turtle.circle(1 * i, 10) # 根据半径1 * i,绘制角度为10的圆弧 turtle.left(10) # 向左旋转10度后,再进入循环画圆弧 ### ① 画底纹 底纹("#af5125",245,110,50) # 画第1层底纹 深黄色 底纹("#fbbe11",230,105,45) # 画第2层底纹 中黄色 底纹("#ffed91",205,92,40) # 画第3层底纹 浅黄色 底纹("#fbbe11",190,85,38) # 画第4层底纹 中黄色 ### ② 画棒棒糖螺旋线 for j in range(16): # 画16个棒棒糖螺旋线 turtle.left(360/16*j) # 当j为0时,即海龟画第1个螺旋线,海龟向右旋转360/16*0度 turtle.penup() # 接上:当j为1时,即海龟画第2个螺旋线,海龟向右旋转360/16*1度 turtle.forward(78) # 海龟向前移动78像素后,再开始画螺旋线 turtle.pendown() 棒棒糖螺旋线() # 调用自定义函数 棒棒糖螺旋线() turtle.penup() turtle.home() # 画完螺旋线后直接让海龟回家,即回到坐标原点(0,0),且方向向右 turtle.pendown() ### ③ 画正六边形 turtle.pensize(6) turtle.penup() turtle.seth(-90) # 让海龟头部朝下 turtle.forward(50) turtle.seth(0) # 让海龟头部朝右 turtle.pendown() turtle.circle(50,360,6) # 画半径为50的正六边形 ### ④ 写文字“中秋月饼” turtle.pencolor("#af5125") turtle.penup() turtle.home() turtle.pendown() # 书写文字“中秋”,居中显示,字体为微软雅黑,字号为20,文字加粗 turtle.write("中秋", align="center", font=("微软雅黑", 20,"bold")) turtle.penup() turtle.goto(0, -30) turtle.pendown() # 书写文字“月饼”,居中显示,字体为微软雅黑,字号为20,文字加粗 turtle.write("月饼", align="center", font=("微软雅黑", 20,"bold")) turtle.hideturtle() # 海龟画图结束,隐藏表示海龟的箭头
-
扫码下载安卓APP
-
微信扫一扫关注我们
微信扫一扫打开小程序
手Q扫一扫打开小程序
-
返回顶部
友情链接:
6547题库网 |
Scratch从入门到精通|
Copyright © 小码农 |
2020-2022
发表评论