脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码

基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码

2021-09-05 23:59一个超会写Bug的安太狼 Python

这篇文章主要介绍了基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

源码:

  1. #路飞骷髅
  2. import turtle as t
  3. #黄底帽子
  4. t.pu()
  5. t.goto(0,200)
  6. t.circle(-130,-80)
  7. t.pd()
  8. t.colormode(255)
  9. t.pensize(5)
  10. t.color(242,232,184) #帽子黄底RGB
  11. t.begin_fill()
  12. t.pencolor(0,0,0)
  13. t.circle(-130,160)
  14. t.seth(180)
  15. t.fd(255)
  16. t.end_fill()
  17.  
  18. #红色线条
  19. t.begin_fill()
  20. t.color(221,65,43) #帽子红色带
  21. t.pencolor(0,0,0)
  22. t.seth(80)
  23. t.circle(-130,19)
  24. t.seth(0)
  25. t.fd(225)
  26. t.seth(-59)
  27. t.circle(-130,19)
  28. t.seth(180)
  29. t.fd(255)
  30. t.end_fill()
  31.  
  32. #帽檐
  33. t.begin_fill()
  34. t.color(242,232,184)
  35. t.pencolor(0,0,0)
  36. t.fd(60)
  37. t.circle(12,180)
  38. t.fd(375)
  39. t.circle(12,180)
  40. t.fd(255 + 60)
  41. t.end_fill()
  42.  
  43. #脸部下半轮廓
  44. t.pu()
  45. t.setpos(0,-30)
  46. t.seth(-180)
  47. t.circle(-130,-75)
  48. t.pd()
  49. t.circle(-130,150)
  50.  
  51. #眼睛鼻子
  52. t.pu()
  53. t.color(33,24,24) #眼睛、鼻子RGB
  54. t.setpos(-45,64)
  55. t.seth(-180)
  56. t.pd()
  57. t.begin_fill()
  58. t.circle(33)
  59. t.pu()
  60. t.setpos(45,64)
  61. t.pd()
  62. t.circle(33)
  63. t.end_fill()
  64.  
  65. t.pu()
  66. t.setpos(0,5)
  67. t.pd()
  68. t.begin_fill()
  69. t.circle(8)
  70. t.end_fill()
  71.  
  72. #下巴
  73. t.pencolor(0,0,0)
  74. t.pu()
  75. t.setpos(0,0)
  76. t.seth(0)
  77. t.circle(-75,45)
  78. t.pd()
  79. t.circle(-75,270)
  80.  
  81. #牙齿
  82. t.pu()
  83. t.setpos(0,120)
  84. t.seth(0)
  85. t.circle(-105,136)
  86. t.pd()
  87. t.circle(-105,86)
  88.  
  89. t.pu()
  90. t.seth(0)
  91. t.goto(0,200)
  92. t.circle(-130,150)
  93. t.pd()
  94. t.circle(-130,60)
  95.  
  96. t.pu() #牙齿三根竖线
  97. t.setpos(-30,-27)
  98. t.seth(260)
  99. t.pd()
  100. t.fd(52)
  101. t.pu()
  102. t.setpos(30,-27)
  103. t.pd()
  104. t.seth(-260)
  105. t.fd(-52)
  106. t.pu()
  107. t.setpos(0,-30)
  108. t.seth(-90)
  109. t.pd()
  110. t.fd(56)
  111.  
  112. #上排右侧小爪爪
  113. #释放注释为:上排右侧小爪爪实心金方案
  114. t.pu()
  115. #t.color(255,215,0) #金色的RGB
  116. t.pencolor(0,0,0)
  117. t.setpos(110,145)
  118. t.seth(45)
  119. t.pd()
  120. #t.begin_fill()
  121. t.fd(40)
  122. t.seth(135)
  123. t.circle(-30,235)
  124. t.seth(-20)
  125. t.circle(-30,220)
  126. t.seth(-135)
  127. t.fd(40)
  128. #t.end_fill()
  129.  
  130. #上排左侧小爪爪
  131. t.pu()
  132. t.pencolor(0,0,0)
  133. t.setpos(-110,145)
  134. t.seth(135)
  135. t.pd()
  136. t.fd(40)
  137. t.seth(45)
  138. t.circle(30,235)
  139. t.seth(-160)
  140. t.circle(30,220)
  141. t.seth(-45)
  142. t.fd(40)
  143.  
  144. #下排右侧小爪爪
  145. t.pu()
  146. t.setpos(70,-10)
  147. t.seth(-45)
  148. t.pd()
  149. t.fd(70)
  150. t.seth(45)
  151. t.circle(-30,235)
  152. t.seth(-70)
  153. t.circle(-30,255)
  154. t.seth(135)
  155. t.fd(22)
  156.  
  157. #下排左侧小爪爪
  158. t.pu()
  159. t.setpos(-70,-10)
  160. t.seth(-135)
  161. t.pd()
  162. t.fd(70)
  163. t.seth(135)
  164. t.circle(30,235)
  165. t.seth(-110)
  166. t.circle(30,255)
  167. t.seth(45)
  168. t.fd(22)
  169. t.done()

效果图:

基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码

源码:

  1. # -*- coding:utf-8 -*-
  2. import turtle
  3. import math
  4.  
  5. def shield():
  6. '''
  7. 该函数的作用是画一个美国队长的盾牌
  8. '''
  9. # 设置画布背景
  10. turtle.bgcolor('#FFFFFF')
  11. # 设置画笔速度
  12. turtle.speed(10)
  13. # 依次填充同心圆
  14. fill_circle('#FF0000', 230)
  15. fill_circle('#FFFFFF', 178)
  16. fill_circle('#FF0000', 129)
  17. fill_circle('#0000FF', 75)
  18. # 完成五角星
  19. draw_five('#FFFFFF', 75)
  20. # 以下代码,将画好的图案按指定格式保存到当前文件目录
  21. # windows 可以使用.jpg格式,或.ps,MAC使用eps格式,或.ps
  22. ts = turtle.getscreen()
  23. ts.getcanvas().postscript(file="shield.eps")
  24.  
  25. # 启动事件循环,必须是乌龟图形程序中的最后一个语句
  26. # 如果没有这个语句,代码运行完成后,窗口直接消失。
  27. turtle.done()
  28.  
  29. def draw_circle(radium):
  30. '''
  31. 该函数的作用是画一个圆线
  32. :param radium:半径
  33. '''
  34. # 画笔定位到圆点
  35. turtle.home()
  36. # 提笔
  37. turtle.penup()
  38. # 向前移动指定的半径
  39. turtle.forward(radium)
  40. # 落笔
  41. turtle.pendown()
  42. # 偏转角度
  43. turtle.setheading(90)
  44. # 画一个指定半径的圆
  45. turtle.circle(radium)
  46. # 提笔
  47. turtle.penup()
  48.  
  49. def fill_circle(color, r1):
  50. '''
  51. 该函数的作用是,画一个圆环,有指定的填充色和半径
  52. :param color:颜色
  53. :param r1:半径
  54. '''
  55. # 设置画笔颜色
  56. turtle.pencolor(color)
  57. # 设置填充颜色
  58. turtle.fillcolor(color)
  59. # 开始填充
  60. turtle.begin_fill()
  61. # 画圆线
  62. draw_circle(r1)
  63. # 结束填充
  64. turtle.end_fill()
  65.  
  66. # 画并填充五角星
  67. def draw_five(color, radium):
  68. '''
  69. 该函数的作用是画一个五角星
  70. :param color:颜色
  71. :para radium:
  72. '''
  73. # 画笔定位到圆点
  74. turtle.home()
  75. # 提笔
  76. turtle.penup()
  77. # 偏转90度
  78. turtle.setheading(90)
  79. # 向前移动90个像素
  80. turtle.forward(radium)
  81. # 偏转288度
  82. turtle.setheading(288)
  83. # 落笔
  84. turtle.pendown()
  85. # radians()将角度转换为弧度
  86. long_side = (math.sin(math.radians(36))*radium)/math.sin(math.radians(126))
  87. # 设置画笔颜色
  88. turtle.pencolor(color)
  89. # 设置填充颜色
  90. turtle.fillcolor(color)
  91. # 开始填充
  92. turtle.begin_fill()
  93. for i in range(10):
  94. turtle.forward(long_side)
  95. if i % 2 == 0:
  96. turtle.left(72)
  97. else:
  98. turtle.right(144)
  99. # 结束填充
  100. turtle.end_fill()
  101. # 提笔
  102. turtle.penup()
  103.  
  104. # 运行主函数
  105. shield()

效果图:

基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码

源码:

  1. import turtle
  2. t=turtle.Turtle()
  3. turtle.Turtle().screen.delay(0)
  4. tleft=turtle.Turtle()
  5. #第一部分
  6. t.penup()
  7. t.goto(0,0)
  8. t.pendown()
  9. t.left(20)
  10. t.forward(110)
  11. t.left(25)
  12. t.forward(40)
  13. t.left(100)
  14. t.circle(180,20)
  15. t.right(120)
  16. t.forward(250)
  17. t.left(165)
  18. t.forward(250)
  19. t.right(100)
  20. t.forward(35)
  21. t.left(70)
  22. t.forward(45)
  23. t.left(70)
  24. t.forward(120)
  25. t.left(70)
  26. t.forward(80)
  27. t.left(80)
  28. t.forward(80)
  29. t.left(68)
  30. t.forward(120)
  31. t.left(180)
  32. t.forward(78)
  33. t.right(68)
  34. t.forward(60)
  35. t.right(75)
  36. t.forward(60)
  37. t.right(110)
  38. t.forward(15)
  39. t.left(38)
  40. t.forward(65)
  41. t.right(73)#五边形的直边
  42. t.forward(35)
  43. t.right(70)
  44. t.forward(65)
  45. t.right(68)
  46. t.forward(50)
  47. t.right(80)
  48. t.forward(50)
  49. t.penup()
  50. t.goto(-65,68)
  51. t.pendown()
  52. t.right(7)
  53. t.forward(350)
  54. t.right(165)
  55. t.forward(330)
  56. t.penup()
  57. t.goto(64,65)
  58. t.pendown()
  59. t.left(75)
  60. t.forward(350)
  61. t.left(165)
  62. t.forward(330)
  63. t.penup()
  64. t.goto(300,500)
  65. #第二部分
  66. tleft.left(180)
  67. tleft.right(20)
  68. tleft.forward(110)
  69. tleft.right(25)
  70. tleft.forward(40)
  71. tleft.right(100)
  72. tleft.circle(-180,20)
  73. tleft.left(120)
  74. tleft.forward(250)
  75. tleft.right(165)
  76. tleft.forward(250)
  77. tleft.left(100)
  78. tleft.forward(35)
  79. tleft.penup()
  80. tleft.goto(0,0)
  81. tleft.pendown()
  82. tleft.left(20)
  83. tleft.penup()
  84. tleft.forward(18)
  85. tleft.pendown()
  86. tleft.forward(50)#额头竖线
  87. tleft.penup()
  88. tleft.forward(110)#消除竖线
  89. tleft.pendown()
  90. tleft.left(90)
  91. tleft.forward(30)
  92. tleft.right(90)
  93. tleft.forward(60)
  94. tleft.right(90)
  95. tleft.forward(60)
  96. tleft.right(90)
  97. tleft.forward(60)
  98. tleft.right(90)
  99. tleft.forward(40)
  100. tleft.penup()
  101. tleft.forward(30)
  102. tleft.pendown()
  103. tleft.left(90)
  104. tleft.forward(30)
  105. tleft.right(180)
  106. tleft.forward(100)
  107. tleft.right(90)
  108. tleft.forward(80)
  109. tleft.right(90)
  110. tleft.forward(100)
  111. tleft.penup()
  112. tleft.goto(150,70)
  113. tleft.pendown()
  114. tleft.left(100)
  115. tleft.forward(40)
  116. tleft.right(80)
  117. tleft.circle(-333,40)
  118. tleft.right(160)
  119. tleft.forward(230)
  120. #右半部分
  121. tleft.left(100)
  122. tleft.forward(40)
  123. tleft.left(80)
  124. tleft.forward(20)
  125. tleft.left(100)
  126. tleft.forward(30)
  127. tleft.right(100)
  128. tleft.forward(20)
  129. tleft.right(80)
  130. tleft.forward(30)
  131. tleft.left(80)
  132. tleft.forward(20)
  133. tleft.left(100)
  134. tleft.forward(30)
  135. tleft.right(100)
  136. tleft.forward(20)
  137. tleft.right(80)
  138. tleft.forward(30)
  139. tleft.left(80)
  140. tleft.forward(20)
  141. tleft.left(100)
  142. tleft.forward(30)
  143. tleft.right(100)
  144. tleft.forward(20)
  145. tleft.right(80)
  146. tleft.forward(30)
  147. tleft.left(80)
  148. tleft.forward(20)
  149. tleft.left(100)
  150. tleft.forward(30)
  151. tleft.right(100)
  152. tleft.forward(20)
  153. tleft.right(80)
  154. tleft.forward(30)
  155. tleft.left(80)
  156. tleft.forward(20)
  157. tleft.left(100)
  158. tleft.forward(30)
  159. tleft.right(100)
  160. tleft.forward(20)
  161. tleft.right(80)
  162. tleft.forward(30)
  163. tleft.left(80)
  164. tleft.forward(20)
  165. tleft.left(100)
  166. tleft.forward(30)
  167. tleft.right(100)
  168. tleft.forward(20)
  169. tleft.right(80)
  170. tleft.forward(30)
  171. #右下部分
  172. tleft.left(70)
  173. tleft.forward(30)
  174. tleft.right(110)
  175. tleft.forward(40)
  176. tleft.right(60)
  177. tleft.forward(100)
  178. tleft.right(30)
  179. tleft.circle(200,20)
  180. tleft.left(10)
  181. tleft.forward(80)
  182. #右下部分goto
  183. tleft.penup()
  184. tleft.goto(145,-198)
  185. tleft.pendown()
  186. tleft.left(90)
  187. tleft.forward(30)
  188. tleft.right(30)
  189. tleft.forward(40)
  190. tleft.right(150)
  191. tleft.forward(30)
  192. tleft.backward(30)
  193. tleft.left(90)
  194. tleft.forward(100)
  195. tleft.right(90)
  196. tleft.forward(30)
  197. tleft.backward(30)
  198. tleft.left(90)
  199. tleft.right(30)
  200. tleft.circle(200,20)
  201. tleft.left(10)
  202. tleft.forward(50)
  203. #第三部分脸
  204. t2=turtle.Turtle()
  205. t2.penup()
  206. t2.goto(0,-80)
  207. #尖角
  208. t2.circle(150,extent=90)
  209. t2.pendown()
  210. t2.circle(150,extent=30)
  211. t2.penup()
  212. t2.circle(150,extent=18)
  213. t2.pendown()
  214. t2.circle(150,extent=27)
  215. t2.penup()
  216. t2.circle(150,extent=30)
  217. t2.pendown()
  218. t2.circle(150,extent=27)
  219. t2.penup()
  220. t2.circle(150,extent=18)
  221. t2.pendown()
  222. t2.circle(150,extent=30)
  223. t2.right(100)
  224. t2.forward(40)
  225. #左脸夹
  226. t2.left(80)
  227. t2.circle(333,40)
  228. t2.left(160)
  229. t2.forward(230)
  230. #左半部分
  231. t2.right(100)
  232. t2.forward(40)
  233. t2.right(80)
  234. t2.forward(20)
  235. t2.right(100)
  236. t2.forward(30)
  237. t2.left(100)
  238. t2.forward(20)
  239. t2.left(80)
  240. t2.forward(30)
  241. t2.right(80)
  242. t2.forward(20)
  243. t2.right(100)
  244. t2.forward(30)
  245. t2.left(100)
  246. t2.forward(20)
  247. t2.left(80)
  248. t2.forward(30)
  249. t2.right(80)
  250. t2.forward(20)
  251. t2.right(100)
  252. t2.forward(30)
  253. t2.left(100)
  254. t2.forward(20)
  255. t2.left(80)
  256. t2.forward(30)
  257. t2.right(80)
  258. t2.forward(20)
  259. t2.right(100)
  260. t2.forward(30)
  261. t2.left(100)
  262. t2.forward(20)
  263. t2.left(80)
  264. t2.forward(30)
  265. t2.right(80)
  266. t2.forward(20)
  267. t2.right(100)
  268. t2.forward(30)
  269. t2.left(100)
  270. t2.forward(20)
  271. t2.left(80)
  272. t2.forward(30)
  273. t2.right(80)
  274. t2.forward(20)
  275. t2.right(100)
  276. t2.forward(30)
  277. t2.left(100)
  278. t2.forward(20)
  279. t2.left(80)
  280. t2.forward(30)
  281. t2.right(70)
  282. t2.forward(30)
  283. t2.left(110)
  284. t2.forward(40)
  285. t2.left(60)
  286. t2.forward(100)
  287. t2.left(30)
  288. t2.circle(-200,20)
  289. t2.right(10)
  290. t2.forward(80)
  291. t2.penup()
  292. t2.goto(-145,-198)#左脸颊
  293. t2.pendown()
  294. t2.right(90)
  295. t2.forward(30)
  296. t2.left(30)
  297. t2.forward(40)
  298. t2.left(150)
  299. t2.forward(30)
  300. t2.right(180)
  301. t2.forward(30)
  302. t2.left(90)
  303. t2.forward(100)
  304. t2.left(90)
  305. t2.forward(30)
  306. t2.left(180)
  307. t2.forward(30)
  308. t2.left(120)
  309. t2.circle(-200,20)
  310. t2.right(10)
  311. t2.forward(50)
  312. #左眼
  313. t2.right(135)
  314. t2.forward(70)
  315. t2.left(50)
  316. t2.forward(40)
  317. t2.left(20)
  318. t2.forward(20)
  319. t2.penup()
  320. t2.goto(-100,28)
  321. t2.pendown()
  322. t2.right(70)
  323. t2.forward(65)
  324. t2.left(50)
  325. t2.forward(40)
  326. t2.left(40)
  327. t2.forward(20)
  328. #左眼带
  329. t2.penup()
  330. t2.goto(-105,-10)
  331. t2.pendown()
  332. t2.right(100)
  333. t2.circle(120,extent=20)
  334. t2.circle(60,extent=80)
  335. t2.penup()
  336. t2.goto(-105,-13)
  337. t2.pendown()
  338. t2.right(100)
  339. t2.circle(120,extent=20)
  340. t2.circle(60,extent=80)
  341. t2.penup()
  342. t2.goto(-70,-40)
  343. t2.pendown()
  344. t2.left(10)
  345. t2.forward(30)
  346. t2.penup()
  347. t2.goto(-10,-40)
  348. t2.pendown()
  349. t2.left(35)
  350. t2.forward(30)
  351. t2.penup()
  352. t2.goto(-80,30)
  353. t2.pendown()
  354. t2.right(130)
  355. t2.forward(47)
  356. t2.left(50)
  357. t2.forward(35)
  358. t2.penup()
  359. t2.goto(-60,-45)
  360. t2.pendown()
  361. t2.right(98)
  362. t2.forward(60)
  363. t2.left(20)
  364. t2.forward(80)
  365. t2.left(70)
  366. t2.forward(10)
  367. t2.left(90)
  368. t2.forward(50)
  369. t2.right(60)
  370. t2.forward(30)
  371. t2.right(60)
  372. t2.forward(30)
  373. t2.right(60)
  374. t2.forward(50)
  375. t2.left(90)
  376. t2.forward(10)
  377. t2.left(75)
  378. t2.forward(80)
  379. t2.left(15)
  380. t2.forward(60)
  381. t2.penup()
  382. t2.goto(-80,-140)
  383. t2.pendown()
  384. t2.right(150)
  385. t2.circle(85,extent=45)
  386. t2.left(15)
  387. t2.forward(70)
  388. t2.left(15)
  389. t2.circle(55,extent=55)
  390. t2.penup()
  391. t2.goto(0,-175)
  392. t2.pendown()
  393. t2.left(18)
  394. t2.forward(170)
  395. #右眼
  396. tleft.left(135)
  397. tleft.forward(70)
  398. tleft.right(50)
  399. tleft.forward(40)
  400. tleft.right(20)
  401. tleft.forward(20)
  402. tleft.penup()
  403. tleft.goto(100,28)
  404. tleft.pendown()
  405. tleft.left(70)
  406. tleft.forward(65)
  407. tleft.right(50)
  408. tleft.forward(40)
  409. tleft.right(40)
  410. tleft.forward(20)
  411. #右眼带
  412. tleft.penup()
  413. tleft.goto(105,-10)
  414. tleft.pendown()
  415. tleft.left(100)
  416. tleft.circle(-120,extent=20)
  417. tleft.circle(-60,extent=80)
  418. tleft.penup()
  419. tleft.goto(105,-13)
  420. tleft.pendown()
  421. tleft.left(100)
  422. tleft.circle(-120,extent=20)
  423. tleft.circle(-60,extent=80)
  424. #右眼睛
  425. tleft.penup()
  426. tleft.goto(70,-40)
  427. tleft.pendown()
  428. tleft.right(10)
  429. tleft.forward(30)
  430. tleft.penup()
  431. tleft.goto(10,-40)
  432. tleft.pendown()
  433. tleft.right(35)
  434. tleft.forward(30)
  435. tleft.penup()
  436. tleft.goto(80,30)
  437. tleft.pendown()
  438. tleft.left(130)
  439. tleft.forward(47)
  440. tleft.right(50)
  441. tleft.forward(35)
  442. #鼻子
  443. tleft.penup()
  444. tleft.goto(0,-70)
  445. tleft.pendown()
  446. tleft.left(30)
  447. tleft.forward(20)
  448. tleft.left(72)
  449. tleft.forward(10)
  450. tleft.left(108)
  451. tleft.forward(20)
  452. tleft.right(42)
  453. tleft.forward(20)
  454. tleft.left(108)
  455. tleft.forward(10)
  456. tleft.left(72)
  457. tleft.forward(20)
  458. tleft.penup()
  459. tleft.goto(0,-90)
  460. tleft.pendown()
  461. tleft.left(42)
  462. tleft.forward(20)
  463. tleft.left(72)
  464. tleft.forward(10)
  465. tleft.left(108)
  466. tleft.forward(20)
  467. tleft.right(42)
  468. tleft.forward(20)
  469. tleft.left(108)
  470. tleft.forward(10)
  471. tleft.left(72)
  472. tleft.forward(20)
  473. tleft.penup()
  474. tleft.goto(200,500)
  475. turtle.done()

效果图:

基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码

到此这篇关于基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的文章就介绍到这了,更多相关Python-turtle库美国队长的盾牌内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/m0_46278037/article/details/113818823

延伸 · 阅读

精彩推荐