溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Python繪制一個(gè)可愛(ài)的米老鼠

發(fā)布時(shí)間:2022-03-17 09:03:39 來(lái)源:億速云 閱讀:535 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容介紹了“怎么用Python繪制一個(gè)可愛(ài)的米老鼠”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、效果展示

二、代碼詳解

python繪制米老鼠的原理是:應(yīng)用turtle庫(kù)首先繪制頭的外輪廓,然后繪制耳朵、手、衣服、褲子、腳、鞋子等不同模塊。

1.導(dǎo)入庫(kù)

首先導(dǎo)入本文需要加載的庫(kù),如果你有些庫(kù)還沒(méi)有安裝,導(dǎo)致運(yùn)行代碼時(shí)報(bào)錯(cuò),可以在Anaconda Prompt中用pip方法安裝。

import os
import pygame
import turtle as t

本文應(yīng)用到的庫(kù)較少,只應(yīng)用了os、pygame和turtle三個(gè)庫(kù)。os庫(kù)可以設(shè)置文件讀取的位置。pygame庫(kù)是為了繪制過(guò)程更有趣,在繪圖過(guò)程中添加了背景音樂(lè)。turtle庫(kù)是繪圖庫(kù),相當(dāng)于給你一支畫(huà)筆,你可以在畫(huà)布上用數(shù)學(xué)邏輯控制的代碼完成繪圖。

2.播放音樂(lè)

接著應(yīng)用pygame庫(kù)播放背景音樂(lè),本文的音樂(lè)是關(guān)于《余生請(qǐng)多指教》的歌曲。

#播放音樂(lè)
print('播放音樂(lè)')
pygame.mixer.init()
pygame.mixer.music.load(r"F:\公眾號(hào)\49.余生請(qǐng)多指教\楊紫,肖戰(zhàn) - 余生請(qǐng)多指教 (Live).mp3") 
pygame.mixer.music.set_volume(0.5) 
pygame.mixer.music.play(1, 10)

這一部分的代碼和整體代碼是剝離的,可以選澤在最開(kāi)始放上該代碼,也可以直接刪除。如果選擇播放音樂(lè),需要在代碼music.load函數(shù)中把你想放音樂(lè)的地址填進(jìn)去。 

3.畫(huà)米老鼠頭部外輪廓

然后進(jìn)入米老鼠的正式繪制過(guò)程,先畫(huà)的是頭部外輪廓。

t.title('阿黎逸陽(yáng)的代碼公眾號(hào)')
t.speed(10)
#t.screensize(1000, 800)
t.setup(startx=0, starty = 0, width=800, height = 600)
##畫(huà)外輪廓
#畫(huà)頭
print('畫(huà)頭')
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('畫(huà)下巴')
#t.right(30)
t.circle(60, 20)
t.right(30)
t.circle(33, 110)

關(guān)鍵代碼詳解:

t.pensize(width):設(shè)置畫(huà)筆的尺寸。

t.color(color):設(shè)置畫(huà)筆的顏色。

t.penup():抬起畫(huà)筆,一般用于另起一個(gè)地方繪圖使用。

t.goto(x,y):畫(huà)筆去到某個(gè)位置,參數(shù)為(x,y),對(duì)應(yīng)去到的橫坐標(biāo)和縱坐標(biāo)。

t.pendown():放下畫(huà)筆,一般和penup組合使用。

t.left(degree):畫(huà)筆向左轉(zhuǎn)多少度,括號(hào)里表示度數(shù)。

t.right(degree):畫(huà)筆向右轉(zhuǎn)多少度,括號(hào)里表示度數(shù)。

t.circle(radius,extent,steps):radius指半徑,若為正,半徑在小烏龜左側(cè)radius遠(yuǎn)的地方,若為負(fù),半徑在小烏龜右側(cè)radius遠(yuǎn)的地方;extent指弧度;steps指階數(shù)。

畫(huà)外輪廓的關(guān)鍵是:通過(guò)調(diào)節(jié)circle函數(shù)中的半徑和弧度來(lái)調(diào)節(jié)曲線的弧度,從而使得米老鼠的輪廓比較流暢。

4.畫(huà)衣服和耳朵

畫(huà)完頭部外輪廓后就可以分模塊畫(huà)其它組成部分了,本小節(jié)畫(huà)衣服和耳朵。

#上半身
t.backward(5)
t.right(150)
t.forward(18)
#t.left(10)
t.circle(-100, 25)
#衣服下弧線
print('畫(huà)衣服下弧線')
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)
##畫(huà)耳朵
#畫(huà)右耳朵
print('畫(huà)右耳朵')
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()
#畫(huà)左耳朵
print('畫(huà)左耳朵')
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()

5.畫(huà)眼睛、鼻子、嘴

本小節(jié)介紹畫(huà)眼睛、鼻子、嘴的代碼,為了看起來(lái)效果更好,需要注意的是眼睛的對(duì)稱。

#畫(huà)眼睛
print('畫(huà)眼睛')
#眼睛下方的線
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()
#畫(huà)鼻子
print('畫(huà)鼻子')
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()
#畫(huà)嘴
print('畫(huà)嘴')
#上弧線
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()
#畫(huà)舌頭
print('畫(huà)舌頭')
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()
#畫(huà)笑臉弧度
#左弧度
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('畫(huà)下巴')
#畫(huà)下巴
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繪制一個(gè)可愛(ài)的米老鼠”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI