最近呢,联通客服的b站官方号发布了个很有意思的视频:如何一笔画出联通LOGO
我一看,哦哟,好玩。同时也发现了个亮点:这个视频动画,咋和turtle的画图过程这么像捏。
像!太像了!以至于写段turtle代码的话,简直是易如反掌!
首先导入需要的库。导入time的目的是,在画完图后可以停留欣赏,而不是直接关闭窗口
import turtle
import time
设置画布和画笔
turtle.screensize(600, 800)
turtle.pensize(14)
turtle.pencolor("red")
turtle.speed(5)
进行logo的绘制
(这里事先在坐标系内进行了计算,所得数据可以等比缩放)
f_d = 150
x = -2**(1/2)
r = 25
turtle.hideturtle()
turtle.penup()
turtle.goto(x*37.5, -x*25)
turtle.left(135)
turtle.pendown()
turtle.circle(r, 270)
turtle.forward(f_d)
turtle.circle(-r, 180)
turtle.forward(f_d)
turtle.circle(r, 180)
turtle.forward(f_d)
turtle.circle(-r, 270)
turtle.forward(f_d)
turtle.circle(r, 180)
turtle.forward(f_d)
turtle.circle(-r, 180)
turtle.forward(f_d)
turtle.penup()
最后加上个“中国联通”,以使得画出来的图像特征更显著
turtle.goto(-80, -175)
turtle.pendown()
turtle.write('中国联通', font=('华文隶书', 45, 'bold'))
注意:画图过程中,一定不要忘了即使抬笔与落笔,还有计算并设置好对象的位置
import turtle
import time
turtle.screensize(600, 800)
turtle.pensize(14)
turtle.pencolor("red")
turtle.speed(5)
f_d = 150
x = -2**(1/2)
r = 25
turtle.hideturtle()
turtle.penup()
turtle.goto(x*37.5, -x*25)
turtle.left(135)
turtle.pendown()
turtle.circle(r, 270)
turtle.forward(f_d)
turtle.circle(-r, 180)
turtle.forward(f_d)
turtle.circle(r, 180)
turtle.forward(f_d)
turtle.circle(-r, 270)
turtle.forward(f_d)
turtle.circle(r, 180)
turtle.forward(f_d)
turtle.circle(-r, 180)
turtle.forward(f_d)
turtle.penup()
turtle.goto(-80, -175)
turtle.pendown()
turtle.write('中国联通', font=('华文隶书', 45, 'bold'))
time.sleep(3)
github地址