欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python繪制一個可愛的米老鼠

 更新時間:2022年03月16日 17:08:08   作者:阿黎逸陽  
turtle庫是一個點線面的簡單圖像庫,在Python2.6之后被引入進(jìn)來,能夠完成一些比較簡單的幾何圖像可視化。本文將利用turtle繪制一個可愛的米老鼠,感興趣的可以試一試

楊紫和肖戰(zhàn)的《余生請多指教》于3月15日起騰訊視頻全網(wǎng)獨播,湖南衛(wèi)視金鷹獨播劇場晚8:20播放。對于楊紫的純劇粉(戰(zhàn)長沙入的坑圖片),想要用Python制作一份獨特的宣傳視頻。

一、效果展示

在介紹代碼之前,先來看下本文的實現(xiàn)效果。

視頻鏈接

二、代碼詳解

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

1.導(dǎo)入庫

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

import os
import pygame
import turtle as t

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

2.播放音樂

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

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

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

3.畫米老鼠頭部外輪廓

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

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)

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

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

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

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

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

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

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

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

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

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

4.畫衣服和耳朵

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

#上半身
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()

5.畫眼睛、鼻子、嘴

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

#畫眼睛
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)

其余代碼用到的函數(shù)也大致相同,由于篇幅原因,本文不再一一展示。

以上就是利用Python繪制一個可愛的米老鼠的詳細(xì)內(nèi)容,更多關(guān)于Python米老鼠的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 對于Python深淺拷貝的理解

    對于Python深淺拷貝的理解

    這篇文章主要介紹了對于Python深淺拷貝的理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 快速下載VScode并配置Python運(yùn)行環(huán)境(圖文教程)

    快速下載VScode并配置Python運(yùn)行環(huán)境(圖文教程)

    本文主要介紹了快速下載VScode并配置Python運(yùn)行環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 教你使用python做一個“罰點球”小游戲

    教你使用python做一個“罰點球”小游戲

    這篇文章主要介紹了用python做一個“罰點球”小游戲,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Pytorch自動求導(dǎo)函數(shù)詳解流程以及與TensorFlow搭建網(wǎng)絡(luò)的對比

    Pytorch自動求導(dǎo)函數(shù)詳解流程以及與TensorFlow搭建網(wǎng)絡(luò)的對比

    PyTorch是一個開源的Python機(jī)器學(xué)習(xí)庫,基于Torch,用于自然語言處理等應(yīng)用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch,這篇文章主要介紹了Pytorch自定義自動求導(dǎo)函數(shù),以及PyTorch與TensorFlow搭建網(wǎng)絡(luò)的對比
    2021-11-11
  • flask框架使用orm連接數(shù)據(jù)庫的方法示例

    flask框架使用orm連接數(shù)據(jù)庫的方法示例

    這篇文章主要介紹了flask框架使用orm連接數(shù)據(jù)庫的方法,結(jié)合實例形式分析了flask框架使用flask_sqlalchemy包進(jìn)行mysql數(shù)據(jù)庫連接操作的具體步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-07-07
  • python函數(shù)也可以是一個對象,可以存放在列表中并調(diào)用方式

    python函數(shù)也可以是一個對象,可以存放在列表中并調(diào)用方式

    這篇文章主要介紹了python函數(shù)也可以是一個對象,可以存放在列表中并調(diào)用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python 中的range(),以及列表切片方法

    Python 中的range(),以及列表切片方法

    今天小編就為大家分享一篇Python 中的range(),以及列表切片方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python實現(xiàn)簡單的學(xué)生管理系統(tǒng)

    python實現(xiàn)簡單的學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)簡單的學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Python3內(nèi)置模塊random隨機(jī)方法小結(jié)

    Python3內(nèi)置模塊random隨機(jī)方法小結(jié)

    這篇文章主要介紹了Python3內(nèi)置模塊random隨機(jī)方法小結(jié),random是Python中與隨機(jī)數(shù)相關(guān)的模塊,其本質(zhì)就是一個偽隨機(jī)數(shù)生成器,我們可以利用random模塊基礎(chǔ)生成各種不同的隨機(jī)數(shù),以及一些基于隨機(jī)數(shù)的操作,需要的朋友可以參考下
    2019-07-07
  • python中關(guān)于range()函數(shù)反向遍歷的幾種表達(dá)

    python中關(guān)于range()函數(shù)反向遍歷的幾種表達(dá)

    這篇文章主要介紹了python中關(guān)于range()函數(shù)反向遍歷的幾種表達(dá),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論