Python實戰(zhàn)之畫哆啦A夢(超詳細步驟)
一、寫在前面
本文基于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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 使用Python對Syslog信息進行分析并繪圖的實現
- 用Python的繪圖庫(matplotlib)繪制小波能量譜
- python matplotlib繪圖實現刪除重復冗余圖例的操作
- python 繪圖模塊matplotlib的使用簡介
- python之 matplotlib和pandas繪圖教程
- python繪圖模塊之利用turtle畫圖
- python繪圖pyecharts+pandas的使用詳解
- Python下使用Trackbar實現繪圖板
- Python數據可視化常用4大繪圖庫原理詳解
- Python三維繪圖之Matplotlib庫的使用方法
- Python Matplotlib繪圖基礎知識代碼解析
- Python繪圖之二維圖與三維圖詳解
- Python繪圖之柱形圖繪制詳解
- Python實現手繪圖效果實例分享
相關文章
解決pyinstaller打包發(fā)布后的exe文件打開控制臺閃退的問題
今天小編就為大家分享一篇解決pyinstaller打包發(fā)布后的exe文件打開控制臺閃退的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06python 設置xlabel,ylabel 坐標軸字體大小,字體類型
這篇文章主要介紹了python 設置xlabel,ylabel 坐標軸字體大小,字體類型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07