Python简笔画

您所在的位置:网站首页 画了只鸭表情包图片 Python简笔画

Python简笔画

2024-07-09 18:35| 来源: 网络整理| 查看: 265

 

《穿红靴子的小鸭》这幅画临摹了ins博主@inky.diary的小鸭水彩画,并做了一些调整。

用Python的Turtle库画画,难度不大,熟悉了基础函数后,新手可以快速入门。基础函数可以参考博文《Python标准库之turtle库——基础函数详解》。在绘制过程中,更重要的是耐心和坚持,不断调整,直到绘制出满意的弧线。

由于绘制过程中会有大量的修改调整,要求绘制时注重点、线之间的关系,在修改一个点时,其他要素的相对平面关系尽量保持不变,这里 类似于函数 y = f(x),便于在修改不满意部分的同时,保留住其他满意的部分。另外,由于小鸭由大量circle()弧线组成,为了观察每段曲线的效果,可给每段circle()赋不同的color()辅助观察调整,绘制满意后再去掉多余颜色即可。

重复的绘制过程追求代码复用、封装成函数,使代码尽量简洁。

 

请吸鸭,嘎嘎:

#穿雨鞋的小鸭 from turtle import * #扁嘴 pensize(2) pu() goto(-100,100)#上嘴最高顶点 seth(-50) pd() color('#6C3100','#FADD77') begin_fill() fd(16) vertex_right = pos()#嘴最右顶点 rt(50) fd(12) vertex_down = pos()#下嘴最低顶点 rt(80) fd(30) circle(-3,200) vertex_left = pos()#嘴最左顶点 goto(-100,100) end_fill() goto(vertex_left)#回到最左顶点 circle(-3,-200)#扁嘴 goto(vertex_right) #身体 #头颈背尾曲线 color('#B6A88E') pu() goto(-100,100) pd() seth(80) circle(-36,160) fd(25) circle(115,20) circle(60,55) circle(-200,20) circle(110,20) color('#7D6A4C') circle(40,40) color('#B6A88E') seth(-100) circle(-180,30) circle(-20,50) #右鸭腿 circle(20,70) color('#736856') circle(-12,120) leg_pos1 = pos()#定位左腿位置 fd(25) #前胸肚曲线 pu() goto(vertex_down) pd() seth(-10) color('#B9AD9D') circle(-40,50) circle(-80,48) color('#736856') circle(250,5) circle(50,75) color('#B9AD9D') circle(220,28) #左鸭腿 pu() seth(175) fd(40) pd() seth(-120) fd(8) circle(-10,120) leg_pos2 = pos()#定位右腿位置 fd(15) #眼睛 color('black') #左眼 pu() goto(vertex_down - (1,-29)) pd() dot(4,'black')#相比circle(),不需要再额外填充颜色 #右眼 pu() goto(vertex_down + (23,20)) pd() dot(4,'black') #翅膀 color('#BCB2A6') pu() goto(vertex_down - (-75,130)) seth(130) pd() circle(-25,130) circle(-100,30) fd(85) point = pos() rt(137) fd(52) circle(-100,58) pu() goto(point) lt(30) pd() fd(60) pu() goto(point) pd() lt(10) fd(70) #腿部 #左腿 def leg(pos0):#鸭腿绘制函数 pensize(8) color('#ECC578') pu() goto(pos0) seth(0) fd(7) seth(-90) fd(8.5) pd() fd(20)#腿长 leg(leg_pos1) leg(leg_pos2) #小红靴——函数 def boot(pos0): pensize(2) color('#B4070B','#FBA06B') pu() goto(pos0)#靴子右上顶点 pd() begin_fill() seth(140) circle(25,80) seth(-80) fd(35)#fd(30)左侧线条 circle(-2,60)#靴低 fd(20) circle(4,180) seth(5) fd(30) circle(2,60) goto(pos0)#右侧线条 end_fill() boot(leg_pos1-(-20,30)) boot(leg_pos2-(-20,30)) #小雨滴 color('#77DDFF','#D8E8E5') fd_ls = [200,140,250,240,230,220,180,250] lt_ls = [30,60,60,100,125,170,200,330] for i in range(8): pu() home() lt(lt_ls[i]) fd(fd_ls[i]) pd() seth(-78) fd(15) begin_fill() circle(-3,200) end_fill() fd(15) #文字 pu() goto(vertex_left) seth(180) fd(150) seth(-90) fd(300) color('black') write('code by totoup',font=("Arial",15,"normal")) hideturtle() done()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3