Python Turtle绘图[难度3星]:中国结雪花(高度还原北京冬奥雪花) | 您所在的位置:网站首页 › 画北京冬奥会怎样画好看 › Python Turtle绘图[难度3星]:中国结雪花(高度还原北京冬奥雪花) |
北京冬奥会开幕式上的“雪花”造型,设计灵感来自“中国结”的图案,中国结从头到尾用一根线编成,寓意团结吉祥。 案例1:中国结雪花(固定位置) 难度:★★★☆☆☆ 【效果预览】
【重难点突破】 中国结雪花绘制思路:具体请看下面的链接。链接是“中国结雪花”绘制过程的视频讲解。 turtle绘制“中国结雪花”视频讲解 【代码参考】 # 案例1:中国结雪花(固定位置) # 程序初始化设置 import turtle # 导入turtle库(模块) import random # 导入random随机库(模块) turtle.speed(1) # 设置海龟的绘图速度,参数为0时最快 turtle.delay(1) # 设置海龟绘图的延迟时间,参数为0时表示延迟时间为0 turtle.bgcolor("#0d93b8") # 设置背景颜色为#0d93b8,一种蓝色 turtle.pencolor("#ffffff") # 设置画笔颜色为#ffffff,纯白色,也就是white turtle.pensize(3) # 设置画笔的粗细为3 # 自定义函数draw(times) def draw(times): turtle.penup() turtle.goto(20*times,20*times) turtle.pendown() for i in range(6): turtle.forward(10*times) turtle.circle(2*times,180) turtle.forward(14*times) turtle.circle(-4*times, 60) turtle.forward(4*times) turtle.circle(2*times,180) turtle.forward(4*times) turtle.circle(8*times,60) turtle.forward(14*times) turtle.circle(2*times,180) turtle.forward(12*times) turtle.circle(-2*times,180) turtle.forward(12*times) turtle.circle(2*times,270) turtle.forward(12*times) turtle.circle(-2*times,180) turtle.forward(12*times) turtle.circle(2*times,180) turtle.forward(14*times) turtle.circle(8*times,60) turtle.forward(4*times) turtle.circle(2*times,180) turtle.forward(4*times) turtle.circle(-4*times,60) turtle.forward(4*times) turtle.left(180) turtle.forward(4*times) turtle.circle(4*times,60) turtle.forward(4*times) turtle.circle(-2*times,180) turtle.left(180) turtle.circle(2*times,270) turtle.forward(4*times) turtle.circle(8*times,60) turtle.forward(4*times) # 调用自定义函数draw(times) draw(4) # 参数4可以控制雪花的大小,数字越大,绘制出的雪花越大 # 海龟绘图结束,隐藏海龟 turtle.hideturtle()案例2:中国结雪花(随机) 难度:★★★☆☆☆ 【效果预览】 每次运行绘制出的雪花 位置和大小都是随机的 【代码参考】 # 案例2:中国结雪花(大小位置随机) # 程序初始化设置 import turtle # 导入turtle库(模块) import random # 导入random随机库(模块) turtle.speed(0) # 设置海龟的绘图速度,参数为0时最快 turtle.delay(0) # 设置海龟绘图的延迟时间,参数为0时表示延迟时间为0 turtle.bgcolor("#0d93b8") # 设置背景颜色为#0d93b8,一种蓝色 turtle.pencolor("#ffffff") # 设置画笔颜色为#ffffff,纯白色,也就是white turtle.pensize(2) # 设置画笔的粗细为3 # 自定义函数draw(times=1) def draw(times=1): # 参数缺省时,默认为1 # 海龟移动到随机位置,再准备绘图 turtle.penup() turtle.left(random.randrange(0,360)) turtle.forward(random.randint(10,30)*times) turtle.left(60) turtle.pendown() # 海龟绘制中国结雪花 for i in range(6): turtle.forward(10*times) turtle.circle(2*times,180) turtle.forward(14*times) turtle.circle(-4*times, 60) turtle.forward(4*times) turtle.circle(2*times,180) turtle.forward(4*times) turtle.circle(8*times,60) turtle.forward(14*times) turtle.circle(2*times,180) turtle.forward(12*times) turtle.circle(-2*times,180) turtle.forward(12*times) turtle.circle(2*times,270) turtle.forward(12*times) turtle.circle(-2*times,180) turtle.forward(12*times) turtle.circle(2*times,180) turtle.forward(14*times) turtle.circle(8*times,60) turtle.forward(4*times) turtle.circle(2*times,180) turtle.forward(4*times) turtle.circle(-4*times,60) turtle.forward(4*times) turtle.left(180) turtle.forward(4*times) turtle.circle(4*times,60) turtle.forward(4*times) turtle.circle(-2*times,180) turtle.left(180) turtle.circle(2*times,270) turtle.forward(4*times) turtle.circle(8*times,60) turtle.forward(4*times) # 调用自定义函数draw(times=1) for j in range(1): draw(random.randint(10,60)/10) # 海龟绘图结束,隐藏海龟 turtle.hideturtle()----end---- |
CopyRight 2018-2019 实验室设备网 版权所有 |