快捷搜索:  汽车  科技

turtle绘图五角星代码(我见过的Turtle天花板)

turtle绘图五角星代码(我见过的Turtle天花板)记得三连哦~mua 你们的支持是我最大的动力!!欢迎大家阅读往期文章哈~如需完整的项目源码 全部的素材老规矩源码基地见:#私信小编06#即可免费获取打包的源码!附源码:import turtle as te import time WriteStep = 15 # 贝塞尔函数的取样次数 Speed = 5 Width = 600 # 界面宽度 Height = 500 # 界面高度 Xh = 0 # 记录前一个贝塞尔函数的手柄 Yh = 0 def Bezier(p1 p2 t): # 一阶贝塞尔函数 return p1 * (1 - t) p2 * t def Bezier_2(x1 y1 x2 y2 x3 y3): # 二阶贝塞尔函数 te.goto(x1 y1) te.pendown() for t in ran

导语

小孩子的童话故事!都喜欢的魔法少女来袭。

turtle绘图五角星代码(我见过的Turtle天花板)(1)

这种卡通动漫形象可是我那个时代小孩子最喜欢看的动漫之一,哈哈哈,暴露年龄......

在学习中进步,在进步中学习——这款开源的turtle代码非常ok 分享给大家一起学习!

正文

这款turtle代码的话非常多!先上效果图吧~

turtle绘图五角星代码(我见过的Turtle天花板)(2)

附源码:

import turtle as te import time WriteStep = 15 # 贝塞尔函数的取样次数 Speed = 5 Width = 600 # 界面宽度 Height = 500 # 界面高度 Xh = 0 # 记录前一个贝塞尔函数的手柄 Yh = 0 def Bezier(p1 p2 t): # 一阶贝塞尔函数 return p1 * (1 - t) p2 * t def Bezier_2(x1 y1 x2 y2 x3 y3): # 二阶贝塞尔函数 te.goto(x1 y1) te.pendown() for t in range(0 WriteStep 1): x = Bezier(Bezier(x1 x2 t / WriteStep) Bezier(x2 x3 t / WriteStep) t / WriteStep) y = Bezier(Bezier(y1 y2 t / WriteStep) Bezier(y2 y3 t / WriteStep) t / WriteStep) te.goto(x y) te.penup() def Bezier_3(x1 y1 x2 y2 x3 y3 x4 y4): # 三阶贝塞尔函数 x1 = -Width / 2 x1 y1 = Height / 2 - y1 x2 = -Width / 2 x2 y2 = Height / 2 - y2 x3 = -Width / 2 x3 y3 = Height / 2 - y3 x4 = -Width / 2 x4 y4 = Height / 2 - y4 # 坐标变换 te.goto(x1 y1) te.pendown() for t in range(0 WriteStep 1): x = Bezier(Bezier(Bezier(x1 x2 t / WriteStep) Bezier(x2 x3 t / WriteStep) t / WriteStep) Bezier(Bezier(x2 x3 t / WriteStep) Bezier(x3 x4 t / WriteStep) t / WriteStep) t / WriteStep) y = Bezier(Bezier(Bezier(y1 y2 t / WriteStep) Bezier(y2 y3 t / WriteStep) t / WriteStep) Bezier(Bezier(y2 y3 t / WriteStep) Bezier(y3 y4 t / WriteStep) t / WriteStep) t / WriteStep) te.goto(x y) te.penup() def Moveto(x y): # 移动到svg坐标下(x,y) te.penup() te.goto(-Width / 2 x Height / 2 - y) def line(x1 y1 x2 y2): # 连接svg坐标下两点 te.penup() te.goto(-Width / 2 x1 Height / 2 - y1) te.pendown() te.goto(-Width / 2 x2 Height / 2 - y2) te.penup() def lineto(dx dy): # 连接当前点和相对坐标(dx,dy)的点 te.pendown() te.goto(te.xcor() dx te.ycor() - dy) te.penup() def Lineto(x y): # 连接当前点和svg坐标下(x,y) te.pendown() te.goto(-Width / 2 x Height / 2 - y) te.penup() def Horizontal(x): # 做到svg坐标下横坐标为x的水平线 te.pendown() te.setx(x - Width / 2) te.penup() def horizontal(dx): # 做到相对横坐标为dx的水平线 te.seth(0) te.pendown() te.fd(dx) te.penup() def vertical(dy): # 做到相对纵坐标为dy的垂直线 te.seth(-90) te.pendown() te.fd(dy) te.penup() te.seth(0) def polyline(x1 y1 x2 y2 x3 y3): # 做svg坐标下的折线 te.penup() te.goto(-Width / 2 x1 Height / 2 - y1) te.pendown() te.goto(-Width / 2 x2 Height / 2 - y2) te.goto(-Width / 2 x3 Height / 2 - y3) te.penup() def Curveto(x1 y1 x2 y2 x y): # 三阶贝塞尔曲线到(x,y) te.penup() X_now = te.xcor() Width / 2 Y_now = Height / 2 - te.ycor() Bezier_3(X_now Y_now x1 y1 x2 y2 x y) global Xh global Yh Xh = x - x2 Yh = y - y2 def curveto_r(x1 y1 x2 y2 x y): # 三阶贝塞尔曲线到相对坐标(x,y) te.penup() X_now = te.xcor() Width / 2 Y_now = Height / 2 - te.ycor() Bezier_3(X_now Y_now X_now x1 Y_now y1 X_now x2 Y_now y2 X_now x Y_now y) global Xh global Yh Xh = x - x2 Yh = y - y2 def Smooth(x2 y2 x y): # 平滑三阶贝塞尔曲线到(x,y) global Xh global Yh te.penup() X_now = te.xcor() Width / 2 Y_now = Height / 2 - te.ycor() Bezier_3(X_now Y_now X_now Xh Y_now Yh x2 y2 x y) Xh = x - x2 Yh = y - y2 def smooth_r(x2 y2 x y): # 平滑三阶贝塞尔曲线到相对坐标(x,y) global Xh global Yh te.penup() X_now = te.xcor() Width / 2 Y_now = Height / 2 - te.ycor() Bezier_3(X_now Y_now X_now Xh Y_now Yh X_now x2 Y_now y2 X_now x Y_now y) Xh = x - x2 Yh = y - y2 te.tracer(10) te.setup(Width Height 0 0) te.pensize(1) te.speed(Speed) te.penup() # 图层_2 time.sleep(20) te.color("black" "#F2F2F2") # 外套 Moveto(61 462) te.begin_fill() smooth_r(12 -41 27 -58) curveto_r(-6 -36 6 -118 9 -132) curveto_r(-15 -27 -23 -51 -26 -74) curveto_r(4 -66 38 -105 65 -149) Horizontal(486) curveto_r(12 24 40 99 33 114) curveto_r(39 82 55 129 39 144) smooth_r(-31 23 -39 28) smooth_r(-12 37 -12 37) lineto(50 92) Horizontal(445) smooth_r(-29 -38 -31 -46) smooth_r(78 -107 72 -119) Smooth(355 178 340 176) Smooth(272 63 264 64) smooth_r(-29 67 -27 73) Curveto(99 292 174 428 173 439) smooth_r(-8 23 -8 23) Lineto(61 462) te.end_fill() Moveto(60.5 461.5) # 阴影 te.color("black" "#D3DFF0") te.begin_fill() curveto_r(0 0 17 -42 27 -59) curveto_r(-6 -33 6 -128 10 -133) curveto_r(-15 -10 -27 -66 -27.285 -75) te.pencolor("#D3DFF0") curveto_r(12.285 11 82.963 156 82.963 156) te.pencolor("black") smooth_r(12.322 75 19.322 86) curveto_r(-1 11 -8 25 -8 25) Horizontal(60.5) te.end_fill() Moveto(444.5 464) te.begin_fill() curveto_r(0 0 -29 -36 -31 -46) smooth_r(53.59 -82.337 53.59 -82.337) te.pencolor("#D3DFF0") smooth_r(86.41 -47.663 96.072 -54.85) Curveto(563.5 297.5 570.5 299.5 518.5 334) te.pencolor("black") curveto_r(-2 16 -12 33 -12 37) smooth_r(50 92 50 93) Horizontal(444.5) te.end_fill() Moveto(195 49) te.begin_fill() te.pencolor("#D3DFF0") polyline(195 49 175.5 106.5 202.522 49) te.pencolor("black") Horizontal(195) te.pencolor("#D3DFF0") te.end_fill() Moveto(327.997 49) te.begin_fill() te.pencolor("#D3DFF0") curveto_r(0 0 11.503 121.087 13.503 128.087) curveto_r(11 2 54 37 54 37) lineto(-40 -165.087) te.pencolor("black") Horizontal(327.997) te.pencolor("#D3DFF0") te.end_fill() te.pencolor("black") line(94.5 397.5 107.5 373.5) # 皱纹 line(122.5 317.5 95.875 274.699) line(122.5 341.5 141.5 402.5) line(141.5 409.5 153.5 431.5) # line(328 47.712 344 175.977) line(340.023 49 360.5 144) # line(353.5 47.5 395.5 208.5) line(478.5 95.5 518.5 161.5) line(518.5 332.5 460.5 359.5) polyline(506.5 369.5 493.5 402.5 502.5 443.5) Moveto(530 429) curveto_r(4 16 -5 33 -5 33) # 图层_3 te.color("black" "#2b1d2a") # 外套内侧 Moveto(225 462) te.begin_fill() Horizontal(165) smooth_r(9 -15 8 -25) curveto_r(-47 -126 6 -212 12 -225) Curveto(185 305 202 428 225 462) Lineto(225 462) te.end_fill() Moveto(390 462) te.begin_fill() curveto_r(10 -23 34 -180 35 -222) # !!!227 curveto_r(7 4 54 45 61 61) # 61 smooth_r(-73 101 -72 118) curveto_r(5 15 31 46 31 45) Lineto(390 462) te.end_fill() # 图层_4 te.color("black" "#2b1d29") # 外套内侧 Moveto(225 462) te.begin_fill() curveto_r(-28 -50 -40 -166 -40 -250) curveto_r(6 51 -6 87 45 106) smooth_r(64 27 89 24) smooth_r(49 -18 56 -20) smooth_r(50 -10 51 -85) curveto_r(0 29 -25 201 -36 225) Lineto(225 462) te.end_fill() # 图层_5 te.color("black" "#3D3D3D") # 衣服 Moveto(225 462) te.begin_fill() curveto_r(-5 -5 -22 -53 -23 -70) lineto(32 -13) curveto_r(3 -25 6 -28 12 -36) smooth_r(13 -12 16 -12) vertical(-2) curveto_r(45 20 64 14 94 1) vertical(2) curveto_r(8 -2 15 2 17 4) smooth_r(0 6 -2 9) curveto_r(10 10 10 29 11 33) smooth_r(23 4 25 6) smooth_r(-17 83 -17 78) Lineto(225 462) te.end_fill() # 图层_6 te.color("black" "#968281") # 脖子 Moveto(262 329) te.begin_fill() vertical(17) curveto_r(1 2 44 14 45 15) smooth_r(3 12 3 12) horizontal(3) vertical(-5) curveto_r(1 -3 4 -6 5 -7) lineto(36 -14) curveto_r(1 -1 3 -16 2 -17) Curveto(318 348 296 344 262 329) te.end_fill() # 图层_8 te.color("black" "#E7F1FF") # 白色褶皱 Moveto(225 462) te.begin_fill() lineto(-3 -5) # -3 -3 -3 -5 curveto_r(0 -2 4 -4 5 -6) smooth_r(16 3 19 -8) smooth_r(0 -7 0 -11) smooth_r(5 -8 9 -5) smooth_r(19 -8 19 -11) smooth_r(6 -7 6 -7) smooth_r(7 -2 9 -4) lineto(41 -2) lineto(12 9) smooth_r(3 15 7 18) smooth_r(15 4 17 4) smooth_r(4 -4 6 -4) smooth_r(6 4 5 9) smooth_r(0 9 0 9) smooth_r(1 7 7 6) smooth_r(8 0 8 0) lineto(-2 8) Lineto(225 462) te.end_fill() te.pensize(2) Moveto(240 450) smooth_r(0 9 3 12) Moveto(372 462) curveto_r(-2 -4 -5 -29 -7 -28) te.pensize(1) # 图层_7 te.color("black" "#A2B8D6") # 衣领 Moveto(262 331) te.begin_fill() curveto_r(0 8 -1 13 0 15) smooth_r(43 14 45 15) lineto(3 12) horizontal(3) smooth_r(-1 -3 0 -5) lineto(5 -7) lineto(36 -14) curveto_r(1 -1 2 -12 2 -15) smooth_r(25 -2 15 13) curveto_r(-2 4 -7 29 -7 32) smooth_r(-35 19 -41 22) smooth_r(-9 14 -12 14) smooth_r(-7 -12 -14 -15) curveto_r(-19 -2 -41 -25 -41 -25) smooth_r(-10 -26 -10 -30) Smooth(255 332 262 331) te.end_fill() Moveto(262 346) lineto(-12 -6) Moveto(369 333) curveto_r(2 4 -6 10 -15 14) # 图层_9 te.color("black" "#151515") # 领结 Moveto(247 358) te.begin_fill() curveto_r(-5 3 -8 20 -6 23) curveto_r(25 21 50 17 50 17) lineto(-23 64) horizontal(22) smooth_r(1 -13 2 -16) lineto(13 -50) curveto_r(2 2 7 3 10 1) smooth_r(18 65 18 65) horizontal(19) lineto(-24 -65) curveto_r(21 5 39 -10 44 -13) curveto_r(5 -20 1 -21 0 -24) curveto_r(-18 -2 -49 15 -52 17) smooth_r(-11 -3 -15 -1) Smooth(252 356 247 358) te.end_fill() # 图层_10 te.color("black" "#A2B8D6") # 衣领(透过领结) Moveto(297 387) te.begin_fill() lineto(-11 6) curveto_r(-1 0 -20 -7 -30 -19) Curveto(259 373 297 385 297 387) te.end_fill() Moveto(323 384) te.begin_fill() lineto(8 7) lineto(30 -14) curveto_r(1 -1 5 -6 4 -7) Smooth(329 379 323 384) te.end_fill() # 图层_11 te.color("black" "#F3EEEB") # 脸 Moveto(185 212) te.begin_fill() curveto_r(4 -9 46 -77 52 -75) curveto_r(-2 -17 19 -68 27 -73) curveto_r(16 15 71 108 76 112) smooth_r(76 53 86 60) curveto_r(0 65 -27 75 -31 76) curveto_r(-50 28 -70 30 -85 30) smooth_r(-77 -22 -86 -26) Curveto(180 302 186 228 185 212) te.end_fill() # 图层_12 te.color("black" "#2B1D29") # 头发 Moveto(189 202) te.begin_fill() curveto_r(-1 22 19 51 19 51) smooth_r(-10 -42 7 -92) Curveto(212 168 196 189 189 202) te.end_fill() Moveto(221 155) te.begin_fill() curveto_r(-2 6 5 48 5 48) smooth_r(18 -28 20 -48) curveto_r(-5 24 4 43 7 50) curveto_r(-10 -49 3 -72 13 -106) curveto_r(-2 -7 -3 -32 -3 -35) curveto_r(-17 18 -27 71 -27 71) Lineto(221 155) te.end_fill() Moveto(264 64) te.begin_fill() curveto_r(-4 5 14 100 14 100) smooth_r(-6 -79 -5 -85) curveto_r(0 98 49 139 49 139) smooth_r(8 -50 3 -65) Smooth(272 64 264 64) te.end_fill() Moveto(342 176) te.begin_fill() curveto_r(-1 27 -10 57 -10 57) smooth_r(20 -33 17 -54) Lineto(342 176) te.end_fill() te.penup() te.begin_fill() polyline(349 180 353 203 361 203) polyline(361 203 362 188 349 180) te.end_fill() # 图层_13 te.pensize(2) Moveto(210 180) # 眉毛 curveto_r(5 -4 63 9 63 14) Moveto(338 193) curveto_r(0 -3 18 -6 18 -6) te.pensize(1) # 图层_14 te.color("black" "#D1D1D1") # 眼睛1 te.pensize(2) Moveto(206 212) te.begin_fill() lineto(15 -7) curveto_r(4 -1 26 -2 30 0) smooth_r(10 3 12 7) te.pencolor("#D1D1D1") te.pensize(1) smooth_r(2 27 -1 30) smooth_r(-39 5 -44 1) Smooth(206 212 206 212) te.end_fill() Moveto(384 204) te.begin_fill() te.pencolor("black") te.pensize(2) curveto_r(-3 -1 -18 -1 -28 1) smooth_r(-9 6 -10 9) te.pencolor("#D1D1D1") te.pensize(1) smooth_r(3 18 6 23) smooth_r(38 6 40 4) smooth_r(10 -9 13 -22) te.pencolor("black") te.pensize(2) Lineto(384 204) te.end_fill() # 图层_15 te.color("#0C1631" "#0C1631") # 眼睛2 te.pensize(1) Moveto(216 206) te.begin_fill() curveto_r(-1 5 0 26 7 35) smooth_r(30 2 33 0) smooth_r(5 -31 2 -34) Smooth(219 203 216 206) te.end_fill() Moveto(354 207) te.begin_fill() curveto_r(-2 1 2 29 4 31) smooth_r(30 3 33 1) smooth_r(6 -24 4 -27) lineto(-11 -8) Curveto(382 204 357 206 354 207) te.end_fill() # 图层_17 te.color("#F5F5F5" "#F5F5F5") # 眼睛3 Moveto(253 211) te.begin_fill() curveto_r(-3 0 -8 8 1 10) Smooth(258 210 253 211) te.end_fill() Moveto(392 209) te.begin_fill() lineto(4 3) vertical(4) lineto(-4 2) Curveto(386 214 392 209 392 209) te.end_fill() # 图层_18 te.color("#352F53" "#352F53") # 眼睛4 Moveto(219 229) te.begin_fill() smooth_r(2 -5 6 -4) smooth_r(18 13 27 1) curveto_r(3 0 5 3 5 3) vertical(13) Horizontal(224) Lineto(219 229) te.end_fill() Moveto(357 227) te.begin_fill() smooth_r(4 -6 10 -2) smooth_r(10 13 19 1) curveto_r(6 0 8 6 8 6) lineto(-2 9) curveto_r(-12 3 -29 0 -32 -2) Smooth(357 227 357 227) te.end_fill() # 图层_19 te.color("#9A90CB" "#9A90CB") # 眼睛5 Moveto(227 231) te.begin_fill() curveto_r(-6 0 -5 5 -3 8) smooth_r(24 2 27 0) smooth_r(0 -8 -1 -8) Smooth(234 231 227 231) te.end_fill() Moveto(361 227) te.begin_fill() curveto_r(2 18 26 14 30 6) smooth_r(-1 -3 -2 -4) smooth_r(-15 9 -24 -4) Curveto(363 224 361 225 361 227) te.end_fill() # 图层_16 te.pencolor("black") # 眼睛(线条) te.pensize(3) # Moveto(206 213) # lineto(14 -8) # curveto_r(3 -1 30 0 33 1) # lineto(10 6) Moveto(225 215) curveto_r(10 28 22 16 24 6) Moveto(365 219) curveto_r(4 14 18 24 22 -3) te.pensize(2) line(240.5 207.5 227.5 211.5) line(245.5 209.5 227.5 214.5) line(247.5 211.5 227.5 217.5) line(247.5 214.5 229.5 220.5) line(247.5 218.5 230.5 223.5) line(246.5 222.5 232.5 226.5) line(244.5 225.5 234.5 228.5) line(377.5 207.5 367.5 210.5) line(384.5 207.5 366.5 212.5) line(385.5 210.5 366.5 215.5) line(384.5 213.5 366.5 218.5) line(384.5 215.5 367.5 220.5) line(384.5 218.5 368.5 223.5) # line(383.5 220.5 368.5 225.5) line(382.5 223.5 370.5 227.5) # line(381.5 226.5 373.5 229.5) # 图层_20 te.pencolor("black") Moveto(309 270) # 鼻子、嘴 curveto_r(0 0 4 7 1 9) line(296.5 307.5 303.5 307.5) Moveto(315 307) smooth_r(10 -1 10 2) te.penup() te.hideturtle() te.update() te.done()

附:可可爱爱卡通形象是不是很好看~

turtle绘图五角星代码(我见过的Turtle天花板)(3)

​总结

在学习中成功、在学习中进步!我们一起学习不放弃~

如需完整的项目源码 全部的素材老规矩源码基地见:#私信小编06#即可免费获取打包的源码!

记得三连哦~mua 你们的支持是我最大的动力!!欢迎大家阅读往期文章哈~

猜您喜欢: