亚洲欧美日韩熟女|做爱高潮视频网址|国产一区二区三级片|国产Av中文字幕www.性色av|亚洲婷婷永久免费|国产高清中文字幕|欧美变态网站久re视频精品|人妻AV鲁丝第一页|天堂AV一区二区在线观看|综合 91在线精品

不要給糖果制造麻煩,用Python繪制有趣的萬圣節(jié)南瓜怪物

2023-05-21



















關(guān)于萬圣節(jié)






萬圣節(jié)又稱諸圣節(jié),是每年11月1日的西方傳統(tǒng)節(jié)日。萬圣節(jié)前夕的10月31日是這個節(jié)日最熱鬧的時刻。在漢語中,萬圣節(jié)前夕經(jīng)常被用來(Halloween)被解讀為萬圣節(jié)(All Saints' Day)。


為了慶祝萬圣節(jié)的到來,孩子們會打扮成各種可愛的鬼魂,一個接一個地敲門,要求得到糖果,否則他們會制造麻煩。與此同時,據(jù)說在這個晚上,各種各樣的鬼魂也會打扮成孩子們一起慶祝萬圣節(jié)的到來,人類會打扮成各種各樣的鬼魂,以使鬼魂更加和諧。



不知道什么時候,西方的節(jié)日一個個進入了中國,比如情人節(jié)、圣誕節(jié)、感恩節(jié)、萬圣節(jié)...對于那些整天只知道上網(wǎng)的大學(xué)生來說,萬圣節(jié)的熟悉自然來自于游戲!比如wow






魔獸世界




再或者MapleStory







冒險島




無論是魔獸世界帖子的發(fā)布時間,還是這個老式的2D冒險島游戲,都代表著我們80后的時代已經(jīng)過去…








萬圣節(jié)和Python






最近因為工作忙,會轉(zhuǎn)載一些大佬的優(yōu)秀文章。今天,我有一些時間想寫點什么??斓饺f圣節(jié)了。既然我們堅持python的學(xué)習(xí)態(tài)度,不如用Python畫一個萬圣節(jié)標志。------南瓜怪吧!


提到python制圖,難免會提到turtle模塊,小海龜就是python中最熱門的制圖模塊,雖然它的作用無法與專業(yè)的制圖工具相比,但還是可以畫出一些簡筆畫。之所以說turtle只能畫一些簡筆畫,主要是因為學(xué)習(xí)技巧太淺薄,無法用它來做出高大的作品。另外一個原因當(dāng)然是我在制圖方面沒有天賦,從小藝術(shù)就不及格?。〉菫榱嘶貞?yīng)情況,還是咬緊牙關(guān)去編碼吧!








模塊turtle






首先,python的turtle庫還是小甲魚的。【Python零基礎(chǔ)入門學(xué)習(xí)】我已經(jīng)很久沒用了,有點生疏。讓我們帶你回顧一下模塊的使用。如果你想努力學(xué)習(xí)這個數(shù)據(jù)庫,建議去官網(wǎng)仔細看看相關(guān)內(nèi)容:https://docs.python.org/3.7/library/turtle.html但是如果你只是像我一樣從娛樂開始,你只需要幾分鐘就可以開始繪畫。在這里,我為大家整理了一些常用的方法:


參數(shù)


表明


turtle.setup(width,height,startx,starty)


起點坐標:與屏幕的坐標相比,左上角默認位于屏幕中央。


turtle.bgpic('xxx.png')


將背景圖片添加到畫板上(記得使用png,jpg不支持)


turtle.begin_fill()


準備開始添加圖形


turtle.end_fill()


添充完成


turtle.goto(x,y)


把烏龜帶到坐標位置 絕對坐標


turtle.bk(d)


海龜?shù)雇?海龜坐標


turtle.fd(d)


海龜前行


turtle.circle(r,extent,steps)


extent范圍(360為一圈),setps感覺空虛,表示正圓,數(shù)字表示邊數(shù)。


turtle.seth(angle)


烏龜變成了絕對的坐標


turtle.left(angle)


左轉(zhuǎn)


turtle.right(angle)


右轉(zhuǎn)


penup()


抬起畫筆


pendown()


落下畫筆


pencolor()


筆的顏色


pensize()


筆的大小


turtle.colormode(mode)


改變RGB模式,mode=1.0小數(shù)值,mode=255整數(shù)值 RGB顏色,例如white的RGB總值為:255.255.255,修改數(shù)值可改變顏色。


turtle.done()


畫完后不要關(guān)窗


以上這些內(nèi)容,已經(jīng)完全夠大家強裝13了…








百鳥朝鳳圖






中國每天晚上的新聞聯(lián)播節(jié)目結(jié)束時,總會播放主持人收到稿件的場景。為了告訴觀眾朋友,主持人說新(段)聞(子)已經(jīng)寫好了!既然要畫南瓜怪,就得先打草稿!


每個人都記得星爺唐伯虎點秋香中國,祝枝山一對百鳥向鳳圖(小雞吃米圖)至今給人留下深刻印象。所以今天,讓IT界的王伯虎給你帶來以下畫軸,名字:這南瓜有點冷


不知這幅畫會吸引多少粉絲來取關(guān),沒辦法他們一定是嫉妒我的才華!







祝枝山在IT界








實現(xiàn)turtle代碼代碼






第一,為了達到遮蓋畫功拙劣的效果,我們應(yīng)該在制圖之前,先選擇一幅略顯美觀的背景圖,比如:






背景圖南瓜怪




因為南瓜不是正圓,所以我們應(yīng)該畫橢圓來達到效果。在我剛剛學(xué)習(xí)的內(nèi)容中,有一個turtle.circle(r,extent,steps)方法,其中steps參數(shù)值得我們重點分析,首先要看一段代碼:


1# -*- coding: utf-8 -*-
 2# @Author   : 王翔
 3# @微信號   : King_Uranus
 4# @公眾號   : Python清風(fēng)
 5# @GitHub   : https://github.com/BreezePython
 6# @Date     : 2019/10/30 22:31
 7# @Software : PyCharm
 8# @version  :Python 3.7.3
 9# @File     : circle.py
10
11import turtle as t
12
13for i in range(3, 10, 2):
14    t.circle(100, steps=i)
15    t.left(90)
16
17t.circle(100, steps=30)
18
19for i in range(30):     # 重復(fù)執(zhí)行i次
20    t.forward(20.93)    # 移動x個單位
21    t.left(12)          # 左轉(zhuǎn)y度
22
23t.done()

效果如下:






steps參數(shù)在circle中




事實上,steps參數(shù)可以理解為多邊形的邊數(shù)和邊數(shù),所以邊數(shù)越多(30邊形),在我們眼里,圖形是否趨近和圓潤?然后拆分思考,具體的實現(xiàn)能不能理解為畫筆畫一條直線,然后轉(zhuǎn)動視角,再畫一條直線,這樣往復(fù),最后轉(zhuǎn)360度,形成一個圖形。同樣如下:


有些朋友會問1.74是從哪里來的?C = 2πr = 628628/360 = 1.7444… 所以每個度的邊長是1.74。



1import turtle as t
2
3for i in range(360):    # 重復(fù)執(zhí)行i次
4    t.forward(1.74)     # 移動x個單位
5    t.left(1)           # 偏移弧度
6
7t.circle(100)





圓繪圖分析




知道了這一點,下來就要考慮怎么畫橢圓了。之所以是圓,是因為每邊都一樣,所以如果每邊都不一樣,會不會造成橢圓效果?現(xiàn)在我們用這種方式畫南瓜形狀:


1import turtle as t
 2
 3t.speed(10)
 4t.pensize(6)
 5t.hideturtle()
 6t.screensize()
 7t.bgcolor('black')
 8t.bgpic('dark_night.png')
 9t.color('#CF5E1A', '#CF5E1A')
10
11#  繪制南瓜
12t.penup()
13t.goto(250, 30)
14t.pendown()
15t.seth(90)
16t.begin_fill()
17for j in range(25):
18    t.fd(j)
19    t.left(3.6)
20for j in range(25, 0, -1):
21    t.fd(j)
22    t.left(3.6)
23t.seth(-90)
24t.circle(254, 180)
25t.end_fill()
26
27t.done()






南瓜外形




南瓜把兒比較簡單,只需將畫筆調(diào)粗,然后畫一段弧度即可。雙眼處理方法與南瓜頂蓋相似,不再贅述。








最后效果








最后效果圖




總體代碼:


1# -*- coding: utf-8 -*-
  2# @Author   : 王翔
  3# @WeChat   : King_Uranus
  4# @公眾號    : Python清風(fēng)
  5# @GitHub   : https://github.com/BreezePython
  6# @Date     : 2019/10/29 22:30
  7# @Software : PyCharm
  8# @version  :Python 3.7.3
  9# @File     : PumpkinMonster.py
 10
 11
 12import turtle as t
 13
 14
 15def init():
 16    # 初始化
 17    t.bgpic('dark_night.png')
 18    t.screensize(500, 500, bg='white')
 19    t.speed(10)
 20    t.hideturtle()
 21    t.bgcolor('black')
 22    t.bgpic('dark_night.png')
 23
 24
 25def outline():
 26    #  畫出南瓜的輪廓
 27    t.color('#CF5E1A', '#CF5E1A')
 28    t.penup()
 29    t.goto(250, 30)
 30    t.pendown()
 31    t.seth(90)
 32    t.begin_fill()
 33    for j in range(25):
 34        t.fd(j)
 35        t.left(3.6)
 36    for j in range(25, 0, -1):
 37        t.fd(j)
 38        t.left(3.6)
 39    t.seth(-90)
 40    t.circle(254, 180)
 41    t.end_fill()
 42
 43
 44def tail():
 45    # 繪制南瓜枝
 46    t.penup()
 47    t.goto(0, 180)
 48    t.pendown()
 49    t.color(#2E3C01')
 50    t.seth(100)
 51    t.pensize(25)
 52    t.circle(60, 100)
 53
 54
 55def eyes(args):
 56    # 雙眼
 57    for items in args:
 58        position, angle, direction = items
 59        t.pensize(6)
 60        t.penup()
 61        t.goto(position, 0)
 62        t.pendown()
 63        t.color(#4C180D', #4C180D'
 64        t.begin_fill()
 65        t.seth(angle)
 66        for j in range(55):
 67            t.fd(3)
 68            if direction:
 69                t.left(3)  # 左轉(zhuǎn)3度
 70            else:
 71                t.right(3)  # 左轉(zhuǎn)3度
 72        t.goto(position, 0)
 73        t.end_fill()
 74
 75
 76def nose():
 77    # 鼻子
 78    t.penup()
 79    t.goto(0, 0)
 80    t.seth(180)
 81    t.pendown()
 82    t.begin_fill()
 83    t.circle(50, steps=3)
 84    t.end_fill()
 85
 86
 87def mouth():
 88    # 嘴巴
 89    t.color('#F9D503', #F9D503'
 90    t.pensize(6)
 91    t.penup()
 92    t.penup()
 93    t.goto(-150, -100)
 94    t.pendown()
 95    t.begin_fill()
 96    t.seth(-30)
 97    t.fd(100)
 98    t.left(90)
 99    t.fd(30)
100    t.right(90)
101    t.fd(60)
102    t.left(60)
103    t.fd(60)
104    t.right(90)
105    t.fd(30)
106    t.left(90)
107    t.fd(100)
108    t.end_fill()
109    t.done()
110
111
112if __name__ == '__main__':
113    init()
114    outline()
115    tail()
116    eyes_items = [(-60, 230, 0), (60, -50, 1)]
117    eyes(eyes_items)
118    nose()
119    mouth()
120    t.done()





END





本文僅代表作者觀點,版權(quán)歸原創(chuàng)者所有,如需轉(zhuǎn)載請在文中注明來源及作者名字。

免責(zé)聲明:本文系轉(zhuǎn)載編輯文章,僅作分享之用。如分享內(nèi)容、圖片侵犯到您的版權(quán)或非授權(quán)發(fā)布,請及時與我們聯(lián)系進行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com