龙空技术网

一看就会!使用Python教你绘制一个新年招财鼠

州Sir玩编程 141

前言:

现时各位老铁们对“python老鼠书”大约比较着重,咱们都需要剖析一些“python老鼠书”的相关知识。那么小编在网上网罗了一些对于“python老鼠书””的相关资讯,希望大家能喜欢,咱们一起来学习一下吧!

turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中。网络上有很多借助于turtle绘制精美图像的案例。比如小猪佩奇、皮卡丘、柯基犬等等。

趁着新年假期还未结束,今天州的先生()为大家带来一个动漫招财福鼠的绘制。

一、绘制鼠头

首先,咱们()把鼠的头给绘制了。鼠头主要是由圆来构成,脸庞是一个大圆,耳朵、眉毛、眼睛、嘴角和鼻子也都是由不同弧度的圆构成。鼠头的绘制代码如下所示:

def head():    turtle.color('black')    # 脸轮廓    turtle.pd() # 落笔    turtle.circle(50) # 画一个半径为50的圆    turtle.pu() # 提笔    # 右耳轮廓    turtle.goto(50,60) # 移动到x=50,y=60的位置    turtle.pd() # 落笔    turtle.circle(30,260) # 画一个半径为30,角度为245的圆弧    turtle.pu() # 提笔    # 右耳耳纹    turtle.goto(30,90)    turtle.pd()    turtle.seth(65)    turtle.circle(-30,70)    turtle.pu()    # 左耳轮廓    turtle.goto(-50,60)    turtle.pd()    turtle.seth(180) # 设置方向为西,    turtle.circle(-30,260)    turtle.pu()    # 左耳耳纹    turtle.goto(-30,90)    turtle.pd()    turtle.seth(120)    turtle.circle(30,70)    turtle.pu()    # 面部五官    # 右侧眉毛    turtle.goto(5,80)    turtle.seth(20)    turtle.pd()    turtle.circle(-25,40)    turtle.pu()    # 左侧眉毛    turtle.goto(-5,80)    turtle.seth(160)    turtle.pd()    turtle.circle(25,40)    turtle.pu()    # 右侧眼睛    turtle.begin_poly()    turtle.goto(8,60)    turtle.seth(45)    turtle.pd()    turtle.circle(-15,120)    turtle.pu()    turtle.goto(8,60)    turtle.seth(40)    turtle.pd()    turtle.circle(-15,100)    turtle.pu()    turtle.end_poly()    # 左侧眼睛    turtle.goto(-8,60)    turtle.seth(135)    turtle.pd()    turtle.circle(15,120)    turtle.pu()    turtle.goto(-8,60)    turtle.seth(140)    turtle.pd()    turtle.circle(15,100)    turtle.pu()    # 鼻子    # 鼻子上瓣    turtle.goto(-6,45)    turtle.seth(70)    turtle.pd()    turtle.circle(-6,150)    turtle.pu()    # 鼻子下瓣    turtle.goto(-6,45)    turtle.seth(-70)    turtle.pd()    turtle.circle(6,150)    turtle.pu()    # 鼻线    turtle.goto(0,40)    turtle.seth(270)    turtle.pd()    turtle.forward(7)    turtle.pu()    # 上嘴线    turtle.seth(200)    turtle.pd()    turtle.circle(-15,60)    turtle.pu()    turtle.goto(0,33)    turtle.seth(-20)    turtle.pd()    turtle.circle(15,60)    turtle.pu()    # 下嘴线    turtle.goto(10,33)    turtle.seth(260)    turtle.pd()    turtle.circle(-15,65)    turtle.pu()    turtle.goto(-10,33)    turtle.seth(280)    turtle.pd()    turtle.circle(15,65)    turtle.pu()    # 牙齿    turtle.goto(4,33)    turtle.seth(270)    turtle.pd()    turtle.forward(4)    turtle.seth(180)    turtle.forward(8)    turtle.seth(90)    turtle.forward(4)    turtle.pu()    # 胡须    turtle.pensize(2)    turtle.goto(30,30)    turtle.seth(8)    turtle.pd()    turtle.circle(-60,40)    turtle.pu()    turtle.goto(30,25)    turtle.seth(-5)    turtle.pd()    turtle.circle(-60,40)    turtle.pu()    turtle.goto(-30,30)    turtle.seth(172)    turtle.pd()    turtle.circle(60,40)    turtle.pu()    turtle.goto(-30,25)    turtle.seth(188)    turtle.pd()    turtle.circle(60,40)    turtle.pu()    # 睫毛    turtle.pensize(1)    turtle.goto(30,58)    turtle.seth(20)    turtle.pd()    turtle.circle(20,20)    turtle.pu()    turtle.pensize(1)    turtle.goto(28,62)    turtle.seth(25)    turtle.pd()    turtle.circle(20,12)    turtle.pu()    turtle.pensize(1)    turtle.goto(-30,58)    turtle.seth(160)    turtle.pd()    turtle.circle(-20,20)    turtle.pu()    turtle.pensize(1)    turtle.goto(-28,62)    turtle.seth(165)    turtle.pd()    turtle.circle(-20,12)    turtle.pu()

运行上述代码,我们可以看到鼠头可以完整地绘制出来了,如下动图所示:

二、绘制身体

接着,咱们来绘制老鼠的身体。我们()画的这个老鼠是一个穿着财神服站立拱手的老鼠,所以它的身体需要重点突出的是服装:

def body():    # 左手    turtle.goto(-25,8)    turtle.seth(240)    turtle.pd()    turtle.circle(150,15)    turtle.seth(270)    turtle.circle(40,15)    turtle.circle(15,65)    turtle.seth(0)    turtle.forward(10)    turtle.circle(10,100)    turtle.seth(90)    turtle.forward(5)    turtle.circle(10,100)    turtle.seth(180)    turtle.forward(10)    turtle.pu()    # 右手    turtle.goto(25,8)    turtle.seth(-60)    turtle.pd()    turtle.circle(-150,15)    turtle.seth(270)    turtle.circle(-40,15)    turtle.circle(-15,65)    turtle.seth(180)    turtle.forward(10)    turtle.circle(-10,100)    turtle.seth(90)    turtle.forward(5)    turtle.circle(-10,100)    turtle.seth(0)    turtle.forward(10)    turtle.pu()    # 袍子    turtle.goto(-30,-48)    turtle.seth(270)    turtle.pd()    turtle.forward(30)    turtle.circle(10,100)    turtle.seth(0)    turtle.forward(38)    turtle.circle(10,100)    turtle.seth(90)    turtle.forward(30)    turtle.pu()    # 领口    turtle.goto(-20,4)    turtle.pd()    turtle.seth(300)    turtle.circle(30,20)    turtle.seth(0)    turtle.forward(25)    turtle.seth(30)    turtle.circle(30,20)    turtle.pu()    # 官带    turtle.goto(-7,-38)    turtle.seth(0)    turtle.pd()    turtle.forward(15)    turtle.pu()    turtle.goto(-30,-54)    turtle.pd()    turtle.forward(60)    turtle.pu()    # 袍子上的波浪    turtle.goto(-30,-80)    turtle.pd()    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.pu()    turtle.goto(-25,-85)    turtle.pd()    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.seth(90)    turtle.circle(-5,180)    turtle.pu()

运行上述代码,我们可以看到老鼠身体的绘制过程,如下动图所示:

这里先不将其汇合在一起,待几个部件都完成之后,我们再将其组成一个完整地老鼠。

三、绘制手

上面绘制的身体还缺了两只手,对了,还有袍子上的一个大金钱,我们将其补上:

def hands():    turtle.goto(-8, -25)    turtle.pd()    turtle.seth(30)    turtle.forward(10)    turtle.seth(0)    turtle.circle(-10, 50)    turtle.seth(210)    turtle.forward(18)    turtle.back(10)    turtle.seth(-45)    turtle.forward(10)    turtle.back(10)    turtle.seth(30)    turtle.forward(8)    turtle.seth(300)    turtle.forward(5)    turtle.pu()    turtle.goto(0, -75)    turtle.pd()    turtle.seth(0)    turtle.circle(10)    turtle.seth(90)    turtle.circle(10, 90)    turtle.seth(0)    turtle.circle(10, 90)    turtle.seth(270)    turtle.circle(10, 90)    turtle.seth(180)    turtle.circle(10, 90)    turtle.pu()

拱手和金钱没有和身体结合在一起时,暂时看不出上面效果来,如下动图所示:

四、绘制帽子

老鼠还戴了一顶金钱帽,咱们(zmister.com)现在给它加上:

def hat():    # 画帽子    turtle.goto(-20,98)    turtle.pd()    turtle.seth(80)    turtle.forward(20)    turtle.seth(60)    turtle.circle(-20,140)    turtle.seth(-85)    turtle.forward(18)    turtle.pu()    turtle.goto(-20,98)    turtle.pd()    turtle.seth(80)    turtle.forward(5)    turtle.seth(30)    turtle.forward(22)    turtle.seth(-25)    turtle.forward(24)    turtle.pu()

帽子主要都是由圆构成,其绘制过程如下动图所示:

五、绘制尾巴

先不着急为老鼠带上金钱帽,我们还忘记了老鼠有一根长长的尾巴,为它补上吧:

def tail():    turtle.goto(30, -60)    turtle.pd()    turtle.seth(20)    turtle.circle(40, 80)    turtle.circle(-20, 180)    turtle.circle(-10, 90)

尾巴就是两个方向相反弧度不同的圆,效果我们就不演示了。最后将其结合在一起:

if __name__ == '__main__':    head()    body()    hands()    hat()    tail()    turtle.done()

我们就可以看到一个完整的鼠年福鼠绘制过程,如下动图所示:

怎么样,是不是很简单?

标签: #python老鼠书