turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中。网络上有很多借助于turtle绘制精美图像的案例。比如小猪佩奇、皮卡丘、柯基犬等等。趁着新年假期还未结束,今天州的先生(https://zmister.com)为大家带来一个福鼠的绘制。
一、绘制鼠头
首先,咱们(https://zmister.com)把鼠的头给绘制了。鼠头主要是由圆来构成,脸庞是一个大圆,耳朵、眉毛、眼睛、嘴角和鼻子也都是由不同弧度的圆构成。鼠头的绘制代码如下所示:
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()
运行上述代码,我们可以看到鼠头可以完整地绘制出来了,如下动图所示:
二、绘制身体
接着,咱们来绘制老鼠的身体。我们(https://zmister.com)画的这个老鼠是一个穿着财神服站立拱手的老鼠,所以它的身体需要重点突出的是服装:
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() turtle.goto(0,127) turtle.pd() turtle.seth(0) turtle.circle(5) turtle.pu() turtle.goto(0,125) turtle.pd() turtle.seth(270) turtle.forward(10) turtle.pu() # 右边抖带 turtle.goto(19,110) turtle.pd() turtle.seth(30) turtle.circle(40,50) 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() # 左边抖带 turtle.goto(-19,110) turtle.pd() turtle.seth(150) turtle.circle(-40,50) 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()
帽子主要都是由圆构成,其绘制过程如下动图所示:
五、绘制尾巴
先不着急为老鼠带上金钱帽,我们还忘记了老鼠有一根长长的尾巴,为它补上吧:
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()
我们就可以看到一个完整的鼠年福鼠绘制过程,如下动图所示:
总结
以上所述是小编给大家介绍的通过Turtle库在Python中绘制一个鼠年福鼠,希望对大家有帮助!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 明达年度发烧碟MasterSuperiorAudiophile2021[DSF]
- 英文DJ 《致命的温柔》24K德国HD金碟DTS 2CD[WAV+分轨][1.7G]
- 张学友1997《不老的传说》宝丽金首版 [WAV+CUE][971M]
- 张韶涵2024 《不负韶华》开盘母带[低速原抓WAV+CUE][1.1G]
- lol全球总决赛lcs三号种子是谁 S14全球总决赛lcs三号种子队伍介绍
- lol全球总决赛lck三号种子是谁 S14全球总决赛lck三号种子队伍
- 群星.2005-三里屯音乐之男孩女孩的情人节【太合麦田】【WAV+CUE】
- 崔健.2005-给你一点颜色【东西音乐】【WAV+CUE】
- 南台湾小姑娘.1998-心爱,等一下【大旗】【WAV+CUE】
- 【新世纪】群星-美丽人生(CestLaVie)(6CD)[WAV+CUE]
- ProteanQuartet-Tempusomniavincit(2024)[24-WAV]
- SirEdwardElgarconductsElgar[FLAC+CUE]
- 田震《20世纪中华歌坛名人百集珍藏版》[WAV+CUE][1G]
- BEYOND《大地》24K金蝶限量编号[低速原抓WAV+CUE][986M]
- 陈奕迅《准备中 SACD》[日本限量版] [WAV+CUE][1.2G]