<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
楊紫和肖戰的《餘生請多指教》於3月15日起騰訊視訊全網獨播,湖南衛視金鷹獨播劇場晚8:20播放。對於楊紫的純劇粉(戰長沙入的坑圖片),想要用Python製作一份獨特的宣傳視訊。
在介紹程式碼之前,先來看下本文的實現效果。
python繪製米老鼠的原理是:應用turtle庫首先繪製頭的外輪廓,然後繪製耳朵、手、衣服、褲子、腳、鞋子等不同模組。
首先匯入本文需要載入的庫,如果你有些庫還沒有安裝,導致執行程式碼時報錯,可以在Anaconda Prompt中用pip方法安裝。
import os import pygame import turtle as t
本文應用到的庫較少,只應用了os、pygame和turtle三個庫。os庫可以設定檔案讀取的位置。pygame庫是為了繪製過程更有趣,在繪圖過程中新增了背景音樂。turtle庫是繪相簿,相當於給你一支畫筆,你可以在畫布上用數學邏輯控制的程式碼完成繪圖。
接著應用pygame庫播放背景音樂,本文的音樂是關於《餘生請多指教》的歌曲。
#播放音樂 print('播放音樂') pygame.mixer.init() pygame.mixer.music.load(r"F:公眾號49.餘生請多指教楊紫,肖戰 - 餘生請多指教 (Live).mp3") pygame.mixer.music.set_volume(0.5) pygame.mixer.music.play(1, 10)
這一部分的程式碼和整體程式碼是剝離的,可以選澤在最開始放上該程式碼,也可以直接刪除。如果選擇播放音樂,需要在程式碼music.load函數中把你想放音樂的地址填進去。
然後進入米老鼠的正式繪製過程,先畫的是頭部外輪廓。
t.title('阿黎逸陽的程式碼公眾號') t.speed(10) #t.screensize(1000, 800) t.setup(startx=0, starty = 0, width=800, height = 600) ##畫外輪廓 #畫頭 print('畫頭') t.penup() t.goto(20, 100) t.begin_fill() t.left(90) t.pendown() t.color('black') t.pensize(2) t.circle(60, 190) t.left(150) t.circle(-20, 110) t.left(170) t.circle(-35, 100) t.circle(-15, 100) t.left(140) t.circle(-15, 100) t.circle(-35, 95) t.left(160) t.circle(-20, 72) t.end_fill() t.left(20) t.circle(-10, 80) t.begin_fill() t.circle(-60, 55) t.left(60) t.forward(20) t.left(130) t.forward(130) t.left(120) t.circle(-60, 30) t.left(95) t.forward(65) t.end_fill() t.penup() t.goto(-100, 89) t.pendown() t.left(30) t.circle(20, 60) t.right(15) t.circle(60, 30) t.begin_fill() #下巴 print('畫下巴') #t.right(30) t.circle(60, 20) t.right(30) t.circle(33, 110)
關鍵程式碼詳解:
t.pensize(width):設定畫筆的尺寸。
t.color(color):設定畫筆的顏色。
t.penup():擡起畫筆,一般用於另起一個地方繪圖使用。
t.goto(x,y):畫筆去到某個位置,引數為(x,y),對應去到的橫座標和縱座標。
t.pendown():放下畫筆,一般和penup組合使用。
t.left(degree):畫筆向左轉多少度,括號裡表示度數。
t.right(degree):畫筆向右轉多少度,括號裡表示度數。
t.circle(radius,extent,steps):radius指半徑,若為正,半徑在小烏龜左側radius遠的地方,若為負,半徑在小烏龜右側radius遠的地方;extent指弧度;steps指階數。
畫外輪廓的關鍵是:通過調節circle函數中的半徑和弧度來調節曲線的弧度,從而使得米老鼠的輪廓比較流暢。
畫完頭部外輪廓後就可以分模組畫其它組成部分了,本小節畫衣服和耳朵。
#上半身 t.backward(5) t.right(150) t.forward(18) #t.left(10) t.circle(-100, 25) #衣服下弧線 print('畫衣服下弧線') t.right(50) t.circle(-75, 63) t.left(60) t.circle(100, 30) t.right(80) t.circle(-30, 70) t.circle(-20, 55) t.forward(70) t.end_fill() t.penup() t.goto(-100, -10) t.pendown() t.pensize(1.2) t.left(175) #t.pencolor('red') t.pencolor('white') t.circle(-30, 30) #胳肢窩處的線 #1 t.penup() t.goto(-81, -3) t.pendown() t.pensize(1.3) t.setheading(30) #t.pencolor('red') t.pencolor('white') t.forward(13) #2 t.penup() t.goto(-81, -3) t.pendown() t.pensize(1.3) t.setheading(-18) #t.pencolor('red') t.pencolor('white') t.circle(20, 32) ##畫耳朵 #畫右耳朵 print('畫右耳朵') t.penup() t.goto(8, 140) t.pendown() t.begin_fill() t.setheading(-10) t.color('black') t.circle(30, 160) t.circle(60, 20) t.circle(30, 160) t.end_fill() #畫左耳朵 print('畫左耳朵') t.penup() t.goto(-90, 130) t.pendown() t.begin_fill() t.setheading(40) t.color('black') t.circle(30, 160) t.circle(60, 20) t.circle(30, 160) t.circle(60, 20) t.end_fill()
本小節介紹畫眼睛、鼻子、嘴的程式碼,為了看起來效果更好,需要注意的是眼睛的對稱。
#畫眼睛 print('畫眼睛') #眼睛下方的線 t.penup() t.goto(-48, 105) t.pendown() t.pensize(1.5) t.right(17) t.circle(-40, 42) #左眼睛 t.penup() t.goto(-42, 106) t.pendown() t.left(160) t.circle(-30, 50) t.circle(-7, 180) t.left(30) t.circle(-30, 44) #左眼珠 t.penup() t.goto(-42, 106) t.pendown() t.begin_fill() t.right(140) t.circle(30, 20) t.circle(-4, 180) #t.left(25) t.circle(-15, 51) t.end_fill() #右眼睛 t.penup() t.goto(-29, 107) t.pendown() t.right(160) t.circle(-50, 28) t.circle(-7, 180) t.left(17) t.circle(-30, 46) #右眼珠 t.penup() t.goto(-29, 107) t.pendown() t.begin_fill() t.right(140) t.circle(30, 20) t.circle(-4, 180) #t.left(25) t.circle(-15, 51) t.end_fill() #畫鼻子 print('畫鼻子') t.penup() t.goto(-42, 102) t.pendown() t.begin_fill() t.setheading(15) t.circle(-40, 22) t.circle(-7, 180) t.circle(40, 20) t.right(43) t.circle(-7, 180) t.end_fill() #畫嘴 print('畫嘴') #上弧線 t.penup() t.goto(-80, 85) t.pendown() t.pensize(1.7) t.setheading(-45) t.circle(60, 90) #嘴 t.begin_fill() t.penup() t.goto(-67, 73) t.pendown() t.setheading(-70) t.circle(60, 30) t.circle(20, 100) t.right(10) t.circle(60, 25) t.setheading(210) t.circle(-60, 55) t.end_fill() #畫舌頭 print('畫舌頭') t.penup() t.goto(-60, 57) t.pendown() t.begin_fill() t.setheading(40) t.color('black','pink') t.circle(-18, 90) t.setheading(61) t.circle(-16, 90) t.setheading(-122) t.circle(-60, 20) t.setheading(200) t.circle(-50, 20) t.setheading(150) t.circle(-60, 20) t.end_fill() #畫笑臉弧度 #左弧度 t.penup() t.goto(-86, 77) t.pendown() t.pensize(1.7) t.setheading(70) t.circle(-18, 60) #右弧度 t.penup() t.goto(-5, 86) t.pendown() t.pensize(1.7) #t.setheading(10) t.circle(-18, 60) print('畫下巴') #畫下巴 t.penup() t.goto(-58, 40) t.pendown() t.setheading(140) t.circle(-60, 10) #右嘎吱窩 t.penup() t.goto(-2, 40) t.pendown() t.pencolor('white') t.pensize(1.2) t.setheading(-90) t.forward(11)
其餘程式碼用到的函數也大致相同,由於篇幅原因,本文不再一一展示。
以上就是利用Python繪製一個可愛的米老鼠的詳細內容,更多關於Python米老鼠的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45