最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Python turtle海龜繪圖 漢字“樗”

2022-02-03 13:54 作者:Straiack  | 我要投稿

<一>?使用turtle需要學習的要點

turtle是Python內部自己封裝的一個模塊,我們直接使用import就能調用。turtle的功能大致具備了畫圖需要的基本功能,例如按照方向來跑線,旋轉角度,封閉圖案填色、選色還有具體對于畫筆的操作等等,其實turtle用作單純的繪畫模塊明顯十分笨拙,更多地使用這個模塊實際上是程序員出于對語言的了解——當然也不排除有大佬用Python寫專門的繪圖軟件的這種情況。

無論是為了學習任務還是說專精python來講,這一板塊都需要實踐地掌握,紙上談兵并不可取。CSDN上還有許多大佬直接復刻動漫人物的……其難度堪稱:你大佬終究是你大佬。

再簡單的東西,總能有大佬能玩成你認為玩不起的樣子。

那么廢話不多說,一下用表格來說明一下turtle中封裝函數(shù)的基本功能。

該圖片為不完全統(tǒng)計

PS:turtle畫筆的起始位置位于整個幕布的最中央,劃分四個象限,朝向東

<二>?實例

重要的還是通過實踐來理解。

我個人嘗試的是做一個較為復雜的空心漢字,也是我構思了很久的小說中的女主名字——“樗”。

在制作的過程中我首先是設計了一下,確認了圖案的大致形狀,有書法起筆也有普通的等線筆劃,我個人認為這樣比較有錯落感。因為是我自己的設計的所以禁止圖案商用,我給文做封面的時候還要用噠~

還有一件事情,點的筆劃我做的是書法起筆,在最開始的時候設置畫筆朝向,可以將豎點改為橫點或者斜點,親測有效。

點的函數(shù)如下:

  1. def point():#自定義函數(shù)體點,因為一共有四個點能夠重復使用四次

  2. ? ? turtle.right(30)

  3. ? ? turtle.forward(8)

  4. ? ? for m in range(10):

  5. ? ? ? ? turtle.left(19)

  6. ? ? ? ? turtle.forward(2)

  7. ? ? for n in range(6):

  8. ? ? ? ? turtle.left(5)

  9. ? ? ? ? turtle.forward(3)

  10. ? ? for p in range(6):

  11. ? ? ? ? turtle.left(14)

  12. ? ? ? ? turtle.forward(1)

  13. ? ? turtle.left(78)

  14. ? ? turtle.forward(3)

  15. ? ? for q in range(4):

  16. ? ? ? ? turtle.right(9)

  17. ? ? ? ? turtle.forward(2)

  18. ? ? turtle.left(43)? ? #這一步不設置可以使得橫點變作斜點或者豎點

  19. ? ? turtle.penup()

運行的結果:

漢字“樗”


<三>?附件 代碼

  1. import turtle

  2. turtle.reset()

  3. turtle.pensize(2)

  4. turtle.pencolor('brown')

  5. turtle.speed(10)#畫筆參數(shù)設定完成

  6. turtle.forward(24)

  7. turtle.left(90)

  8. turtle.forward(12)

  9. turtle.left(90)

  10. turtle.forward(24)

  11. turtle.right(90)

  12. turtle.forward(30)

  13. turtle.left(135)

  14. turtle.forward(16)

  15. turtle.left(45)

  16. turtle.forward(18)

  17. turtle.right(90)

  18. turtle.forward(24)

  19. turtle.left(45)

  20. turtle.forward(16)

  21. turtle.left(135)

  22. turtle.forward(36)

  23. turtle.right(120)

  24. turtle.forward(10)

  25. for i in range(30):

  26. ? ? turtle.right(1)

  27. ? ? turtle.forward(3)

  28. turtle.left(150)

  29. turtle.forward(13)

  30. turtle.penup()

  31. turtle.goto(-10,-15)#第一次跳轉從撇的線跳到了“木”的左邊豎線

  32. turtle.pendown()

  33. turtle.right(90)

  34. turtle.forward(100)

  35. turtle.left(35)

  36. turtle.forward(16)

  37. turtle.left(145)

  38. turtle.forward(123)

  39. turtle.right(135)

  40. turtle.forward(15)

  41. turtle.right(30)#左邊的“木”點

  42. turtle.forward(8)

  43. for j in range(10):

  44. ? ? turtle.left(19)

  45. ? ? turtle.forward(2)

  46. for k in range(10):

  47. ? ? turtle.left(5)

  48. ? ? turtle.forward(3)

  49. turtle.penup()

  50. turtle.goto(50,55)#右邊開始

  51. turtle.pendown()

  52. turtle.left(165)

  53. turtle.forward(15)

  54. turtle.left(30)

  55. turtle.forward(20)

  56. turtle.right(90)

  57. turtle.forward(20)

  58. turtle.right(90)

  59. turtle.forward(50)

  60. turtle.left(90)

  61. turtle.forward(40)

  62. turtle.left(45)

  63. turtle.forward(16)

  64. turtle.left(134)

  65. turtle.forward(46)

  66. turtle.right(90)

  67. turtle.forward(39)#左邊的橫

  68. turtle.right(90)

  69. turtle.forward(50)

  70. turtle.left(45)

  71. turtle.forward(14)

  72. turtle.left(135)

  73. turtle.forward(60)

  74. turtle.right(90)

  75. turtle.forward(42)#右邊的橫

  76. turtle.right(90)

  77. turtle.forward(40)

  78. turtle.left(45)

  79. turtle.forward(15)

  80. turtle.left(135)

  81. turtle.forward(57)#右邊豎的右線

  82. turtle.left(90)

  83. turtle.forward(53)#右邊橫的上線

  84. turtle.right(90)

  85. turtle.forward(20)

  86. turtle.right(90)

  87. turtle.forward(28)

  88. turtle.left(130)

  89. turtle.forward(8)

  90. turtle.left(50)

  91. turtle.forward(67)#最上面橫的上線

  92. turtle.penup()


  93. turtle.goto(65,5)#第一個點

  94. turtle.pendown()

  95. def point():#自定義函數(shù)體點,因為一共有四個點能夠重復使用四次

  96. ? ? turtle.right(30)

  97. ? ? turtle.forward(8)

  98. ? ? for m in range(10):

  99. ? ? ? ? turtle.left(19)

  100. ? ? ? ? turtle.forward(2)

  101. ? ? for n in range(6):

  102. ? ? ? ? turtle.left(5)

  103. ? ? ? ? turtle.forward(3)

  104. ? ? for p in range(6):

  105. ? ? ? ? turtle.left(14)

  106. ? ? ? ? turtle.forward(1)

  107. ? ? turtle.left(78)

  108. ? ? turtle.forward(3)

  109. ? ? for q in range(4):

  110. ? ? ? ? turtle.right(9)

  111. ? ? ? ? turtle.forward(2)

  112. ? ? turtle.left(43)? ? #這一步不設置可以使得橫點變作斜點或者豎點

  113. ? ? turtle.penup()

  114. point()

  115. turtle.goto(116,5)

  116. turtle.pendown()

  117. point()

  118. turtle.goto(116,-15)

  119. turtle.pendown()

  120. point()

  121. turtle.goto(65,-15)

  122. turtle.pendown()

  123. point()

  124. turtle.goto(-10,-15)? #撇的下線

  125. turtle.pendown()

  126. turtle.left(73)

  127. for c in range(15):

  128. ? ? turtle.right(2)

  129. ? ? turtle.forward(4)

  130. turtle.right(16)

  131. for b in range(14):

  132. ? ? turtle.right(1)

  133. ? ? turtle.forward(3)

  134. turtle.penup()

  135. turtle.home()

  136. turtle.goto(60,-45)#虧的第一筆

  137. turtle.pendown()

  138. turtle.right(45)

  139. turtle.forward(12)

  140. turtle.left(45)

  141. turtle.forward(60)

  142. turtle.left(135)

  143. turtle.forward(12)

  144. turtle.left(45)

  145. turtle.forward(60)

  146. turtle.penup()

  147. turtle.home()

  148. turtle.goto(10,-64)#虧的第二筆

  149. turtle.pendown()

  150. turtle.right(45)

  151. turtle.forward(12)

  152. turtle.left(45)

  153. turtle.forward(65)#連接下面的勾

  154. turtle.right(120)

  155. turtle.forward(10)

  156. for d in range(10):

  157. ? ? turtle.right(2)

  158. ? ? turtle.forward(3)

  159. turtle.left(140)

  160. turtle.forward(40)

  161. for e in range(12):

  162. ? ? turtle.right(3)

  163. ? ? turtle.forward(3)

  164. turtle.left(270)

  165. for f in range(24):

  166. ? ? turtle.right(2)

  167. ? ? turtle.forward(6)

  168. turtle.right(75)

  169. turtle.forward(30)

  170. turtle.left(170)

  171. turtle.forward(40)

  172. turtle.left(10)

  173. for g in range(5):

  174. ? ? turtle.left(19)

  175. ? ? turtle.forward(2)

  176. turtle.right(24)

  177. for k in range(30):

  178. ? ? turtle.left(2)

  179. ? ? turtle.forward(5)

  180. turtle.right(60)

  181. for g in range(10):

  182. ? ? turtle.left(16)

  183. ? ? turtle.forward(2)

  184. for h in range(15):

  185. ? ? turtle.left(1)

  186. ? ? turtle.forward(4)

  187. turtle.right(135)

  188. for y in range(8):

  189. ? ? turtle.left(1)

  190. ? ? turtle.forward(4)

  191. turtle.penup()

  192. turtle.home()

  193. turtle.goto(96,-72)

  194. turtle.pendown()

  195. turtle.forward(70)

  196. turtle.left(135)

  197. turtle.forward(12)

  198. turtle.left(45)

  199. turtle.forward(146)

  200. turtle.hideturtle()

  201. turtle.done()#完成后暫停頁面,進行展示,這一行可以不要

本文除表格借鑒了網(wǎng)絡上比較常用的函數(shù)解釋之外均為原創(chuàng),轉載請注明出處~~~如有錯漏歡迎諸君補充。


Python turtle海龜繪圖 漢字“樗”的評論 (共 條)

分享到微博請遵守國家法律
昌吉市| 哈巴河县| 寿宁县| 海晏县| 吐鲁番市| 香格里拉县| 延吉市| 广西| 营山县| 来宾市| 柘城县| 石景山区| 河南省| 扎赉特旗| 新沂市| 康乐县| 邵阳县| 海淀区| 秀山| 鹤峰县| 二连浩特市| 牙克石市| 昌江| 广河县| 平和县| 临潭县| 隆子县| 洪洞县| 五家渠市| 红桥区| 漾濞| 泰来县| 惠东县| 昌都县| 蒙城县| 旬邑县| 张家川| 丰镇市| 宁国市| 新郑市| 濮阳县|