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

利用Python繪制創(chuàng)意中秋節(jié)月餅

 更新時間:2022年09月05日 15:24:19   作者:猿童學(xué)  
又是一年中秋至——花好月圓夜。turtle庫作為Python重要的標(biāo)準(zhǔn)庫之一,是最有價值的程序設(shè)計入門實踐庫,它是程序設(shè)計入門層面最常用的基本繪圖庫。本文將使用turtle(海龜)來繪制中秋創(chuàng)意月餅,感興趣的可以了解一下

一、效果展示

話不多說先上效果

為了更有意境我加了個完美的背景來襯托出月餅的好看

我的月餅畫的不圓的原因是我故意的,為什么呢?

因為月有陰晴圓缺?。」?!

上面是直接畫的,沒有填充,接下來我們畫一個有填充的。

也可以添加好看的背景噢。

二、程序代碼

代碼將在下面解釋,可以看著代碼對應(yīng)下面的函數(shù)解釋。

第一種:

import turtle
import math
turtle.title("照徹乾坤,印透山河")
turtle.bgpic("yueliang/1.png")
 
p = turtle.Turtle()
p.pensize(4)
p.speed(3)
 
#做月餅的面
def ellipse(a,b,n=500,c='#CD950C'):
    p.penup()
    p.setpos(a,0)
 
    color = p.color(c)
    p.pendown()
 
    for i in range(n):
        radian = 2 * math.pi /n
        theta = (i+1) * radian
        next_point = (a * math.cos(theta)),b * math.sin(theta)
        p.setpos(next_point)
 
ellipse(300,200,c='#CD950C')
ellipse(296,196,c='#FFB90F')
ellipse(292,192,c='#FFD700')
 
#做月餅的底
turtle.penup()
turtle.goto(-10,-300)
turtle.color("#CD950C")
turtle.pensize(6)
turtle.pendown()
 
turtle.circle(430,42)#33
turtle.circle(420,-84)#-60
turtle.goto(-296,-40)
turtle.penup()
turtle.goto(296,-40)
turtle.pendown()
turtle.right(54)
turtle.forward(151)
turtle.penup()
turtle.goto(0,0)
turtle.pendown()
 
 
 
def draw(a1,b1,a2,b2,f='#CD950C'):#邊角的2個點,分別是(a1,b1),(a2,b2)
    turtle.penup()
    turtle.goto(a1,b1)
    turtle.pensize(6)
    turtle.color(f)
    turtle.pendown()
    turtle.goto(a2,b1)
    turtle.goto(a2,b2)
    turtle.penup()
    return()
 
#下面是4個角圖案
draw(260,78,130,170,'#FFD700')
draw(250,90,150,160)
draw(240,102,172,150)
draw(230,114,194,140)
 
draw(-260,-78,-130,-170,'#FFD700')
draw(-250,-90,-150,-160)
draw(-240,-102,-172,-150)
draw(-230,-114,-194,-140)
 
draw(260,-78,130,-170,'#FFD700')
draw(250,-90,150,-160)
draw(240,-102,172,-150)
draw(230,-114,194,-140)
 
draw(-262,78,-130,170,'#FFD700')
draw(-250,90,-150,160)
draw(-240,102,-172,150)
draw(-230,114,-194,140)
 
 
 
 
turtle.penup()
turtle.pensize(6)
turtle.color("#CD950C")
turtle.goto(-270,66)
turtle.pendown()
turtle.goto(-150,66)
turtle.goto(-150,-66)
turtle.goto(-270,-66)
turtle.goto(-270,-54)
turtle.goto(-170,-54)
turtle.goto(-170,54)
turtle.goto(-276,54)
turtle.goto(-276,42)
turtle.goto(-190,42)
turtle.goto(-190,-42)
turtle.goto(-276,-42)
turtle.goto(-276,-30)
turtle.goto(-210,-30)
turtle.goto(-210,30)
turtle.goto(-279,30)
turtle.goto(-279,18)
turtle.goto(-230,18)
turtle.goto(-230,-18)
turtle.goto(-282,-18)
turtle.goto(-282,-2)
turtle.goto(-258,-2)
turtle.penup()
 
turtle.penup()
turtle.goto(-128,-2)
turtle.pendown()
turtle.color("#FFD700")
turtle.pensize(2)
turtle.goto(126,-2)
turtle.penup()
 
turtle.penup()
turtle.pensize(6)
turtle.color("#CD950C")
turtle.goto(270,66)
turtle.pendown()
turtle.goto(150,66)
turtle.goto(150,-66)
turtle.goto(270,-66)
turtle.goto(270,-54)
turtle.goto(170,-54)
turtle.goto(170,54)
turtle.goto(276,54)
turtle.goto(276,42)
turtle.goto(190,42)
turtle.goto(190,-42)
turtle.goto(276,-42)
turtle.goto(276,-30)
turtle.goto(210,-30)
turtle.goto(210,30)
turtle.goto(279,30)
turtle.goto(279,18)
turtle.goto(230,18)
turtle.goto(230,-18)
turtle.goto(282,-18)
turtle.goto(282,-2)
turtle.goto(258,-2)
turtle.penup()
 
turtle.penup()
turtle.pensize(6)
turtle.color("#CD950C")
turtle.goto(-110,174)
turtle.pendown()
turtle.goto(-110,90)
turtle.goto(110,90)
turtle.goto(110,174)
turtle.goto(90,174)
turtle.goto(90,102)
turtle.goto(-90,102)
turtle.goto(-90,176)
turtle.goto(-70,176)
turtle.goto(-70,114)
turtle.goto(70,114)
turtle.goto(70,176)
turtle.goto(50,176)
turtle.goto(50,126)
turtle.goto(-50,126)
turtle.goto(-50,180)
turtle.goto(-30,180)
turtle.goto(-30,138)
turtle.goto(30,138)
turtle.goto(30,182)
turtle.goto(10,182)
turtle.goto(-10,182)
turtle.goto(-10,150)
turtle.goto(10,150)
turtle.goto(10,166)
turtle.penup()
 
turtle.penup()
turtle.goto(10,76)
turtle.pendown()
turtle.pensize(2)
turtle.color("#FFD700")
turtle.goto(10,-75)
turtle.penup()
 
 
turtle.penup()
turtle.pensize(6)
turtle.color("#CD950C")
turtle.goto(-110,-174)
turtle.pendown()
turtle.goto(-110,-90)
turtle.goto(110,-90)
turtle.goto(110,-174)
turtle.goto(90,-174)
turtle.goto(90,-102)
turtle.goto(-90,-102)
turtle.goto(-90,-176)
turtle.goto(-70,-176)
turtle.goto(-70,-114)
turtle.goto(70,-114)
turtle.goto(70,-176)
turtle.goto(50,-176)
turtle.goto(50,-126)
turtle.goto(-50,-126)
turtle.goto(-50,-180)
turtle.goto(-30,-180)
turtle.goto(-30,-138)
turtle.goto(30,-138)
turtle.goto(30,-182)
turtle.goto(10,-182)
turtle.goto(-10,-182)
turtle.goto(-10,-150)
turtle.goto(10,-150)
turtle.goto(10,-166)
turtle.penup()
 
 
#中間金色邊框
turtle.penup()
turtle.goto(-130,170)
draw(-130,78,130,-78,'#FFD700')
draw(130,-78,-130,78,'#FFD700')
turtle.penup()
 
#中間金色字體
turtle.penup()
turtle.speed(1)
turtle.penup()
turtle.goto(-100,0)
turtle.pendown()
turtle.color('#D2691E')
turtle.write("花",font=("隸書",60,"bold"))
turtle.penup()
turtle.goto(30,0)
turtle.pendown()
turtle.write("好",font=("隸書",60,"bold"))
turtle.penup()
turtle.goto(-100,-80)
turtle.pendown()
turtle.write("月",font=("隸書",60,"bold"))
turtle.penup()
turtle.goto(30,-80)
turtle.pendown()
turtle.write("圓",font=("隸書",60,"bold"))
turtle.penup()
 
 
 
 
p.hideturtle()
turtle.mainloop()

第二種:

import turtle
turtle.title("祝大家中秋節(jié)快樂!")
# turtle.bgpic("hua/1.png")
 
turtle.speed(100)
turtle.color("#F5E16F")
for i in range(20):
 # 順時針移動18度
 turtle.right(18)
 turtle.begin_fill()
 # 向前移動的距離
 turtle.forward(220)
 # 畫半徑為 40 的半圓
 turtle.circle(40, 180)
 # 畫完半圓之后回到(0,0)
 turtle.goto(0, 0)
 turtle.right(360)
 turtle.end_fill()
# 設(shè)置畫筆粗細(xì)
turtle.pensize(20)
# 填充顏色(外部、內(nèi)部)
turtle.color("#F5E16F", "#FF9933")
turtle.goto(0, -200)
# 準(zhǔn)備開始填充
turtle.begin_fill()
turtle.circle(200)
# 填充結(jié)束
turtle.end_fill()
turtle.right(360)
turtle.color('#F5E16F')
turtle.goto(0, -180)
for i in range(12):
 turtle.begin_fill()
 turtle.circle(60, 120)
 turtle.left(180)
 turtle.circle(60, 120)
 turtle.end_fill()
 
 
turtle.penup()
turtle.goto(-80,-40)
turtle.pendown()
turtle.color("#F5E16F")
turtle.write("團(tuán)圓", font=("隸書", 60, "bold"))
 
 
turtle.mainloop()

三、素材背景

將圖片放在文件夾中

本文將1.png放在yueliang文件夾中

1.png

2.png

3.png

 更多的背景可以在網(wǎng)上搜索獲得。

四、原理解釋

1、概念

turtle(海龜)是Python重要的標(biāo)準(zhǔn)庫之一,它能夠進(jìn)行基本的圖形繪制,其概念誕生于1969年。turtle是最有價值的程序設(shè)計入門實踐庫,它是程序設(shè)計入門層面最常用的基本繪圖庫。

turtle的繪圖原理:

有一只海龜處于畫布正中心,由程序控制在畫布上游走;

海龜走過的軌跡形成了繪制的圖形

海龜由程序控制,可改變其大小,顏色等

使用 import 保留字對 turtle 庫的引用以下方式:

import turtle

2、函數(shù)

窗體函數(shù)

turtle.setup()函數(shù)與窗體有關(guān),定義如下:

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

作用:設(shè)置主窗體的大小和位置

參數(shù):

  • width:窗口寬度。如果值是整數(shù),表示像素值;如果值是小數(shù),表示窗口寬度與屏幕的比例
  • height:窗口高度。如果值是整數(shù),表示像素值;如果值是小數(shù),表示窗口高度與屏幕的比例
  • startx:窗口左側(cè)與屏幕右側(cè)的像素距離。如果值是None,窗口位于屏幕水平正中央。

 畫筆狀態(tài)函數(shù)

函數(shù)描述
pendown( )放下畫筆
penup()提起畫筆
pensize(width)設(shè)置畫筆線條的粗細(xì)為指定大小
pencolor()設(shè)置畫筆的顏色
color( a,b)同時設(shè)置畫筆和填充顏色
begin_fill()填充恩形前,調(diào)用該方法
end_fill( )填充圖形結(jié)束
filling()返回填充的狀態(tài),True為填充。False為未填充
clear( )清空當(dāng)前窗口,但不改變當(dāng)前畫筆的位置
reset()清空當(dāng)前窗口,并重置位置等狀態(tài)為默認(rèn)值
screensize( )設(shè)置畫布窗口的寬度、高度和背昱顏色
hideturtle()隱藏畫筆的turtle形狀
showturtle( )顯示畫筆的turtle形狀
isvisible( )如果turtle可見,則返回True
write(str,font=None)輸出font字體的字符串

畫筆運動函數(shù)

函數(shù)描述
fd(distance)沿著當(dāng)前方向前進(jìn)指定距離
bk(distance)沿著當(dāng)前相反方向后退指定距離
right(angle)向右旋轉(zhuǎn)angle角度
left(angle)向左旋轉(zhuǎn)angle角度
goto(x,y)移動到絕對坐標(biāo)xy)處
sex(x)修改畫筆的橫坐標(biāo)到次,縱坐標(biāo)不變
sety(y)修改畫筆的縱坐標(biāo)到y(tǒng),橫坐標(biāo)不變
seth(angle)設(shè)置當(dāng)前朝向為angle角度
home()設(shè)置當(dāng)前畫筆位置為原點,朝向東
circle(radius,e)繪制一個指定半徑r和角度e的圓或新形
dot(r.color)繪制一個指定半徑r和預(yù)色color的圓點
undo( )撤銷畫筆的最后一步動作
speed()設(shè)置畫筆的繪制速度,參數(shù)為0~10之間

顏色代碼大全

可以選擇自己喜歡的顏色畫。

以上就是利用Python繪制創(chuàng)意中秋節(jié)月餅的詳細(xì)內(nèi)容,更多關(guān)于Python月餅的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中字符串列表的相互轉(zhuǎn)換實際應(yīng)用場景

    Python中字符串列表的相互轉(zhuǎn)換實際應(yīng)用場景

    在Python編程中,經(jīng)常會遇到需要將字符串列表相互轉(zhuǎn)換的情況,這涉及到將逗號分隔的字符串轉(zhuǎn)換為列表,或者將列表中的元素連接成一個字符串,本文將深入討論這些情景,并提供豐富的示例代碼,幫助讀者更全面地理解字符串列表的轉(zhuǎn)換操作
    2023-12-12
  • MNIST數(shù)據(jù)集轉(zhuǎn)化為二維圖片的實現(xiàn)示例

    MNIST數(shù)據(jù)集轉(zhuǎn)化為二維圖片的實現(xiàn)示例

    這篇文章主要介紹了MNIST數(shù)據(jù)集轉(zhuǎn)化為二維圖片的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python實現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割代碼

    Python實現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割代碼

    這篇文章主要介紹了Python實現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割方法,本文分別給出代碼實例,需要的朋友可以參考下
    2015-05-05
  • 詳解Python核心編程中的淺拷貝與深拷貝

    詳解Python核心編程中的淺拷貝與深拷貝

    本片文章給大家講述了Python核心編程中的淺拷貝與深拷貝的相關(guān)知識點,有需要的朋友跟著學(xué)習(xí)下吧。
    2018-01-01
  • Windows 安裝 Anaconda3+PyCharm的方法步驟

    Windows 安裝 Anaconda3+PyCharm的方法步驟

    這篇文章主要介紹了Windows 安裝 Anaconda3+PyCharm的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • python多線程如何獲取有序結(jié)果

    python多線程如何獲取有序結(jié)果

    在Python中,多線程編程是一個常見需求,尤其是在處理I/O密集型任務(wù)時,然而,多線程環(huán)境下保持任務(wù)執(zhí)行結(jié)果的順序通常較為復(fù)雜,為了解決這一問題,可以通過封裝一個功能來確保即使在多線程環(huán)境下,任務(wù)的執(zhí)行結(jié)果也能按照一定的順序進(jìn)行收集和處理
    2024-09-09
  • 如何Tkinter模塊編寫Python圖形界面

    如何Tkinter模塊編寫Python圖形界面

    本文講解為何使用Tkinter而非PyQt,創(chuàng)建一個基本的Tkinter程序,模塊化Tkinter程序,希望對大家有幫助。
    2020-10-10
  • Python實現(xiàn)矩陣相乘的三種方法小結(jié)

    Python實現(xiàn)矩陣相乘的三種方法小結(jié)

    今天小編就為大家分享一篇Python實現(xiàn)矩陣相乘的三種方法小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python內(nèi)置模塊collections知識點總結(jié)

    python內(nèi)置模塊collections知識點總結(jié)

    這篇文章主要介紹了python內(nèi)置模塊collections知識點總結(jié),有興趣的朋友們學(xué)習(xí)下。
    2019-12-12
  • Python常用的爬蟲技巧總結(jié)

    Python常用的爬蟲技巧總結(jié)

    本文給大家匯總介紹了Python編寫爬蟲的時候經(jīng)常需要用到的一些技巧,非常的實用,有需要的小伙伴可以參考下
    2016-03-03

最新評論