本文基于64位windows系統(tǒng)(鼠標右鍵點擊桌面“此電腦”圖標——屬性可查看電腦系統(tǒng)版本)、python3.x(pycharm自動安裝的版本, 3.0以上)。文中代碼內容所使用的工具是pycharm-community-2020.1
,實踐中如有碰到問題,可留言提問。
前陣子有看到zh上有大神畫了這個哆啦A夢的大頭貼,自己也來試了一下,很簡單,但長篇整段的代碼對剛剛學會海龜繪圖語法的初學者來說還是有一定難度,所以來做一個拆解版詳細步驟講解實現。
言歸正傳,先上效果圖。
調整畫筆粗細到8
隱藏畫筆
畫一個半徑為120的圓
填充成藍色(顏色值由取色吸管吸色測量得出)
import turtle as t t.pensize(8) t.hideturtle() # 貓臉外圈藍色 t.fillcolor('#00A1E8') t.begin_fill() t.circle(120) t.end_fill()
調整畫筆粗細到3
畫一個半徑為100的圓
填充成白色(顏色值由取色吸管吸色測量得出)
# 貓臉內圈白色 t.pensize(3) t.fillcolor('white') t.begin_fill() t.circle(100) t.end_fill()
抬起畫筆
移動至坐標(0,134)準備畫鼻子
調整畫筆粗細到4
落下畫筆
畫一個半徑為18的圓
填充成紅色(顏色值由取色吸管吸色測量得出)
# 鼻子 t.penup() t.home() t.goto(0, 134) t.pendown() t.pensize(4) t.fillcolor("#EA0014") t.begin_fill() t.circle(18) t.end_fill()
抬起畫筆
移動至坐標(7,155)準備畫鼻尖的白色圓點
調整畫筆粗細到2
落下畫筆
畫一個半徑為4的圓
畫筆白色,填充白色(顏色值由取色吸管吸色測量得出)
# 鼻尖 t.penup() t.goto(7, 155) t.pensize(2) t.color('white', 'white') t.pendown() t.begin_fill() t.circle(4) t.end_fill()
抬起畫筆
移動至坐標(-30,160)準備畫左眼
調整畫筆粗細到4
落下畫筆
畫筆黑色,填充白色(顏色值由取色吸管吸色測量得出)
定義繪制步長變量a,設置初始值為0.4
循環(huán)控制總角度120:
當角度等于0-30度或角度等于60-90度時:
每循環(huán)一次步長a增加0.08
每循環(huán)一次畫筆左轉3度
每循環(huán)一次向前繪制步長變量a
否則:
每循環(huán)一次步長a減少0.08
每循環(huán)一次畫筆左轉3度
每循環(huán)一次向前繪制步長變量a
# 左眼 t.penup() t.goto(-30, 160) t.pensize(4) t.pendown() t.color('black', 'white') t.begin_fill() a = 0.4 for i in range(120): if 0 = i 30 or 60 = i 90: a = a + 0.08 t.left(3) # 向左轉3度 t.forward(a) # 向前走a的步長 else: a = a - 0.08 t.left(3) t.forward(a) t.end_fill()
抬起畫筆
移動至坐標(30,160)準備畫右眼
調整畫筆粗細到4
落下畫筆
畫筆黑色,填充白色(顏色值由取色吸管吸色測量得出)
循環(huán)控制總角度120:
當角度等于0-30度或角度等于60-90度時:
每循環(huán)一次步長a增加0.08
每循環(huán)一次畫筆左轉3度
每循環(huán)一次向前繪制步長變量a
否則:
每循環(huán)一次步長a減少0.08
每循環(huán)一次畫筆左轉3度
每循環(huán)一次向前繪制步長變量a
# 右眼 t.penup() t.goto(30, 160) t.pensize(4) t.pendown() t.color('black', 'white') t.begin_fill() for i in range(120): if 0 = i 30 or 60 = i 90: a = a + 0.08 t.left(3) # 向左轉3度 t.forward(a) # 向前走a的步長 else: a = a - 0.08 t.left(3) t.forward(a) t.end_fill()
抬起畫筆
移動至坐標(-38,190)準備畫左眼內部
調整畫筆粗細到8
落下畫筆
右轉-30度,繪制步長15的線條
右轉70度,繪制步長15的線條
# 左眼內部 t.penup() t.goto(-38, 190) t.pensize(8) t.pendown() t.right(-30) t.forward(15) t.right(70) t.forward(15)
抬起畫筆
移動至坐標(15,185)準備畫右眼內部黑色眼球
調整畫筆粗細到4
落下畫筆
畫筆黑色,填充黑色(顏色值由取色吸管吸色測量得出)
畫一個半徑為13的圓
# 右眼內部 t.penup() t.goto(15, 185) t.pensize(4) t.pendown() t.color('black', 'black') t.begin_fill() t.circle(13) t.end_fill()
抬起畫筆
移動至坐標(13,190)準備畫右眼黑色眼球內部的白色圓點
調整畫筆粗細到2
落下畫筆
畫筆白色,填充白色(顏色值由取色吸管吸色測量得出)
畫一個半徑為5的圓
# 右眼內部白色圓點 t.penup() t.goto(13, 190) t.pensize(2) t.pendown() t.color('white', 'white') t.begin_fill() t.circle(5) t.end_fill()
抬起畫筆
移動至坐標(0,134)并恢復初始狀態(tài),準備畫鼻子下面的黑色豎線
調整畫筆粗細到4
落下畫筆
畫筆黑色(顏色值由取色吸管吸色測量得出)
右轉90度
繪制步長40的線條
# 鼻子下面的黑色豎線 t.penup() t.home() t.goto(0, 134) t.pensize(4) t.pencolor('black') t.pendown() t.right(90) t.forward(40)
抬起畫筆
移動至坐標(0,124)并恢復初始狀態(tài),準備畫右邊從上往下數的第1根胡子
調整畫筆粗細到3
落下畫筆
畫筆黑色(顏色值由取色吸管吸色測量得出)
左轉10度
繪制步長80的線條
————————————————————————————————
抬起畫筆
移動至坐標(0,114)并恢復初始狀態(tài),準備畫右邊從上往下數的第2根胡子
調整畫筆粗細到3
落下畫筆
畫筆黑色(顏色值由取色吸管吸色測量得出)
左轉6度
繪制步長80的線條
————————————————————————————————
抬起畫筆
移動至坐標(0,104)并恢復初始狀態(tài),準備畫右邊從上往下數的第3根胡子
調整畫筆粗細到3
落下畫筆
畫筆黑色(顏色值由取色吸管吸色測量得出)
左轉0度
繪制步長80的線條
# 右邊的胡子(第1根) t.penup() t.home() t.goto(0, 124) t.pensize(3) t.pencolor('black') t.pendown() t.left(10) t.forward(80) # 右邊的胡子(第2根) t.penup() t.home() t.goto(0, 114) t.pensize(3) t.pencolor('black') t.pendown() t.left(6) t.forward(80) # 右邊的胡子(第3根) t.penup() t.home() t.goto(0, 104) t.pensize(3) t.pencolor('black') t.pendown() t.left(0) t.forward(80)
抬起畫筆
移動至坐標(0,124)并恢復初始狀態(tài),準備畫左邊從上往下數的第1根胡子
調整畫筆粗細到3
落下畫筆
畫筆黑色(顏色值由取色吸管吸色測量得出)
左轉170度
繪制步長80的線條
————————————————————————————————
抬起畫筆
移動至坐標(0,114)并恢復初始狀態(tài),準備畫左邊從上往下數的第2根胡子
調整畫筆粗細到3
落下畫筆
畫筆黑色(顏色值由取色吸管吸色測量得出)
左轉174度
繪制步長80的線條
————————————————————————————————
抬起畫筆
移動至坐標(0,104)并恢復初始狀態(tài),準備畫左邊從上往下數的第3根胡子
調整畫筆粗細到3
落下畫筆
畫筆黑色(顏色值由取色吸管吸色測量得出)
左轉180度
繪制步長80的線條
# 左邊的胡子(第1根) t.penup() t.home() t.goto(0, 124) t.pensize(3) t.pencolor('black') t.pendown() t.left(170) t.forward(80) # 左邊的胡子(第2根) t.penup() t.home() t.goto(0, 114) t.pensize(3) t.pencolor('black') t.pendown() t.left(174) t.forward(80) # 左邊的胡子(第3根) t.penup() t.home() t.goto(0, 104) t.pensize(3) t.pencolor('black') t.pendown() t.left(180) t.forward(80)
抬起畫筆
移動至坐標(-70,70),準備畫下邊沿圓弧
調整畫筆粗細到6
落下畫筆
畫筆黑色,填充紅色(顏色值由取色吸管吸色測量得出)
恢復畫筆初始方向并右轉60度
繪制半徑80,角度40的圓弧
繪制半徑80,角度80的圓弧
————————————————————————————————
抬起畫筆
恢復初始
移動至坐標(-80,70),準備畫上邊沿橫線
落下畫筆
繪制步長160的線條
# 嘴巴(下邊沿圓弧和顏色填充) t.penup() t.goto(-70, 70) t.pendown() t.color('black', 'red') t.pensize(6) t.setheading(-60) t.begin_fill() t.circle(80, 40) t.circle(80, 80) t.end_fill() # 嘴巴(上邊沿的橫線) t.penup() t.home() t.goto(-80, 70) t.pendown() t.forward(160)
抬起畫筆
恢復初始
移動至坐標(-50,50),準備畫舌頭
調整畫筆粗細到1
落下畫筆
畫筆黑色,填充土黃色(顏色值由取色吸管吸色測量得出)
恢復畫筆初始方向并左轉40度
繪制半徑-40,角度40的圓弧
繪制半徑-40,角度40的圓弧
恢復畫筆初始方向并左轉40度
繪制半徑-40,角度40的圓弧
繪制半徑-40,角度40的圓弧
恢復畫筆初始方向并左轉220度
繪制半徑-80,角度40的圓弧
繪制半徑-80,角度40的圓弧
# 舌頭 t.penup() t.home() t.goto(-50, 50) t.pendown() t.pensize(1) t.fillcolor("#eb6e1a") t.setheading(40) t.begin_fill() t.circle(-40, 40) t.circle(-40, 40) t.setheading(40) t.circle(-40, 40) t.circle(-40, 40) t.setheading(220) t.circle(-80, 40) t.circle(-80, 40) t.end_fill()
抬起畫筆
移動至坐標(-70,12),準備畫紅色圍巾
調整畫筆粗細到14
落下畫筆
畫筆紅色(顏色值由取色吸管吸色測量得出)
恢復畫筆初始方向并右轉20度
繪制半徑200,角度30的圓弧
繪制半徑200,角度10的圓弧
# 領帶 t.penup() t.goto(-70, 12) t.pensize(14) t.pencolor('red') t.pendown() t.setheading(-20) t.circle(200, 30) t.circle(200, 10)
抬起畫筆
移動至坐標(0,-46),準備畫鈴鐺
調整畫筆粗細到3
落下畫筆
畫筆黑色,填充黃色(顏色值由取色吸管吸色測量得出)
繪制一個半徑25的圓
————————————————————————————————
抬起畫筆
移動至坐標(-5,-40),準備畫鈴鐺細節(jié)部分
調整畫筆粗細到2
畫筆黑色,填充黃綠色(顏色值由取色吸管吸色測量得出)
繪制一個半徑5的圓
調整畫筆粗細到3
右轉115度
繪制步長7的線條
# 鈴鐺 t.penup() t.goto(0, -46) t.pendown() t.pensize(3) t.color("black", '#f8d102') t.begin_fill() t.circle(25) t.end_fill() # 鈴鐺細節(jié) t.penup() t.goto(-5, -40) t.pendown() t.pensize(2) t.color("black", '#79675d') t.begin_fill() t.circle(5) t.end_fill() t.pensize(3) t.right(115) t.forward(7)
繪制結束后停留在繪制頁面
t.done()
到此這篇關于Python實戰(zhàn)之畫哆啦A夢(超詳細步驟)的文章就介紹到這了,更多相關Python畫哆啦A夢內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
標簽:臺灣 喀什 黃山 景德鎮(zhèn) 宿遷 三沙 欽州 濟南
巨人網絡通訊聲明:本文標題《Python實戰(zhàn)之畫哆啦A夢(超詳細步驟)》,本文關鍵詞 Python,實戰(zhàn),之畫,哆啦,夢,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。