北京冬奥会开幕式上的“雪花”造型,设计灵感来自“中国结”的图案,中国结从头到尾用一根线编成,寓意团结吉祥。
案例1:中国结雪花(固定位置)
难度:★★★☆☆☆
【效果预览】
【重难点突破】
中国结雪花绘制思路:具体请看下面的链接。链接是“中国结雪花”绘制过程的视频讲解。
turtle绘制“中国结雪花”视频讲解http://mp.weixin.qq.com/s?__biz=MzI2MTY5NDg0NA==&mid=2247484588&idx=1&sn=b02db5f180d02c4e07f929f5183bd0dc&chksm=ea5730bfdd20b9a9b2e260a01be77d56267542181eb1c575e58d5de2322c22b854750cd2a000&scene=21#wechat_redirect
【代码参考】
# 案例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----