Python | 您所在的位置:网站首页 › 哈喽表白文本 › Python |
距离上一站已经时隔1年多,我承认很懒啦!利用python-turtle工具,通过调整角度、弧度完成作画,其实用到的方法很简单,就是需要耗费些精力不断地修整,闲话少说,先上个图吧! 画笔速度较慢,大家耐心等待,也可根据自己习惯调整,直接上代码: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335import math import turtle as t # 计算长度、角度 t1:画笔对象 r:半径 angle:扇形(圆形)的角度 def myarc(t1, r, angle): arc_length = 2 * math.pi * r * angle / 360 # angle角度的扇形的弧长 n = int(arc_length / 3) + 1 # 线段条数 step_length = arc_length / n # 每条线段的长度 step_angle = angle / n # 每条线段的角度 polyline(t1, n, step_length, step_angle) # 画弧线 t1:画笔对象 n:线段条数 length:每条线段长度 angle:每条线段的角度 def polyline(t1, n, length, angle): for index in range(n): t1.fd(length) t1.lt(angle) # 小花 def flower(n): for x in range(n): t.forward(0.5) if x < 80: t.left(1) elif x < 120: t.left(2.3) else: t.left(1) # 画布 t.screensize(500, 500, "white") t.pensize(8) t.pencolor("black") t.speed(10) # 头 t.penup() t.goto(-130, 170) t.pendown() t.setheading(220) for x in range(580): t.forward(1) if x < 250: t.left(0.5) elif x < 350: t.left(0.1) else: t.left(0.5) # 耳朵 t.setheading(70) for y in range(150): t.forward(1) if y < 80: t.left(0.2) elif y < 90: t.left(10) else: t.left(0.2) t.setheading(160) for y1 in range(140): t.forward(1) t.left(0.15) t.setheading(140) for y2 in range(157): t.forward(1) if y2 < 65: t.left(0.2) elif y2 < 75: t.left(8) else: t.left(0.5) t.pensize(5) # 左眼睛 t.penup() t.goto(-100, 60) t.setheading(350) t.pendown() t.fillcolor("#000") t.begin_fill() step = 0.3 for i in range(2): for j in range(60): if j < 30: step += 0.02 else: step -= 0.02 t.forward(step) t.left(3) t.end_fill() # 右眼睛 t.penup() t.goto(50, 40) t.setheading(350) t.pendown() t.fillcolor("#000") t.begin_fill() step = 0.3 for i in range(2): for j in range(60): if j < 30: step += 0.02 else: step -= 0.02 t.forward(step) t.left(3) t.end_fill() # 鼻子 t.penup() t.goto(-40, 30) t.setheading(260) t.pendown() t.fillcolor("#ebc80e") t.begin_fill() step = 0.3 for i in range(2): for j in range(60): if j < 30: step += 0.02 else: step -= 0.02 t.forward(step) t.left(3) t.end_fill() # 小花 t.penup() t.goto(20, 180) t.pendown() t.fillcolor("#dd4a76") t.begin_fill() t.setheading(175) flower(200) t.setheading(250) flower(200) t.setheading(325) flower(200) t.setheading(40) flower(200) t.setheading(115) flower(170) t.end_fill() t.penup() t.goto(30, 180) t.setheading(270) t.pendown() t.fillcolor("#e7be04") t.begin_fill() t.circle(10) t.end_fill() # 胡子 t.penup() t.goto(-150, 65) t.pendown() t.setheading(170) t.pensize(6) for y in range(40): t.forward(1) t.left(0.3) t.penup() t.goto(-150, 85) t.pendown() t.setheading(160) for y in range(50): t.forward(1) t.left(0.3) t.penup() t.goto(-150, 45) t.pendown() t.setheading(180) for y in range(55): t.forward(1) t.left(0.3) t.penup() t.goto(110, 10) t.setheading(340) t.pendown() for y in range(40): t.forward(1) t.right(0.3) t.penup() t.goto(120, 30) t.setheading(350) t.pendown() for y in range(30): t.forward(1) t.right(0.3) t.penup() t.goto(115, 50) t.setheading(360) t.pendown() for y in range(50): t.forward(1) t.right(0.3) # 身子 t.pensize(8) t.penup() t.goto(-100, -30) t.setheading(230) t.pendown() t.fillcolor("#efa9c1") t.begin_fill() for z in range(140): t.forward(1) t.left(0.2) t.setheading(340) for z in range(200): t.forward(1) t.left(0.1) t.setheading(85) for z in range(140): t.forward(1) t.left(0.1) t.end_fill() t.penup() t.goto(-73, -33) t.pendown() t.setheading(250) t.fillcolor("#da4b76") t.begin_fill() myarc(t, 40, 205) t.setheading(170) t.pensize(6) t.forward(75) t.end_fill() # 左胳膊 t.pensize(8) t.penup() t.goto(-120, -17) t.setheading(230) t.pendown() t.fillcolor("#d64b75") t.begin_fill() t.forward(50) t.setheading(320) for k in range(27): t.forward(1) t.left(1) t.setheading(55) for k in range(50): t.forward(1) t.right(0.1) t.end_fill() # 左手 t.penup() t.goto(-125, -15) t.setheading(140) t.pendown() t.fillcolor("#fff") t.begin_fill() t.forward(8) t.setheading(50) myarc(t, 10, 190) t.setheading(150) for j in range(80): t.forward(1) t.left(2.2) t.forward(24) t.end_fill() # 右胳膊 t.penup() t.goto(27, -45) t.pendown() t.fillcolor("#db4e79") t.setheading(350) t.begin_fill() for x in range(50): t.forward(1) t.right(1) t.setheading(220) t.forward(40) t.setheading(100) for x in range(50): t.forward(1) t.left(0.2) t.end_fill() # 右手 t.penup() t.goto(70, -75) t.pendown() t.setheading(300) t.forward(8) t.setheading(30) for x in range(40): t.forward(1) t.right(5) t.setheading(280) for x in range(70): t.forward(1) t.right(2) # 右脚 t.penup() t.goto(-70, -180) t.pendown() t.setheading(250) for x in range(30): t.forward(1) t.left(0.3) for x in range(160): t.forward(1) if x < 30: t.left(3) elif x < 65: t.left(0.1) else: t.left(1) # 左脚 t.penup() t.goto(-150, -210) t.setheading(340) t.pendown() t.fillcolor("#fff") t.begin_fill() step = 1.5 for i in range(2): for j in range(60): if j < 30: step += 0.1 else: step -= 0.1 t.forward(step) t.left(3) t.end_fill() t.hideturtle() t.mainloop()仅供大家学习参考使用,如需转载请注明出处,谢谢配合!(每个“手艺人”都不容易,希望理解) |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |