使用python的turtle库一笔画出联通logo

最近呢,联通客服的b站官方号发布了个很有意思的视频:如何一笔画出联通LOGO
我一看,哦哟,好玩。同时也发现了个亮点:这个视频动画,咋和turtle的画图过程这么像捏。
像!太像了!以至于写段turtle代码的话,简直是易如反掌!

请欣赏:

使用python的turtle库一笔画出联通logo_第1张图片

具体实现

首先导入需要的库。导入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地址

你可能感兴趣的:(python实训,python)