小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python海龜畫圖方法匯總,繪圖案例實(shí)戰(zhàn)!

 Python集中營(yíng) 2022-10-28 發(fā)布于甘肅

turtle是python編程的一個(gè)非標(biāo)準(zhǔn)庫,可以通過機(jī)器指令的方式來在一款空白的畫布上完成繪圖。

可以將它理解成生活中一個(gè)畫筆,通過調(diào)整畫筆的顏色、寬度等、其次設(shè)置畫筆的軌跡從而畫出一幅圖。

繪畫時(shí)默認(rèn)的畫筆起點(diǎn)就是屏幕的正中間位置(也就是坐標(biāo)0,0),畫筆的命令一般分為兩種。

一種是設(shè)置畫筆參數(shù)的相關(guān)指令,另一種則是畫筆的運(yùn)動(dòng)指令,也就是畫筆繪畫的軌跡設(shè)定,再對(duì)軌跡運(yùn)動(dòng)后產(chǎn)生的圖形進(jìn)行圖案的填充即可完成。

1. 全局指令設(shè)置

一般在開始繪畫之前會(huì)進(jìn)行對(duì)畫筆全局參數(shù)指定的設(shè)置,并且可以將一些公共的后期繪畫過程中不會(huì)改變的屬性進(jìn)行設(shè)置。

Turtle 函數(shù)使用
相關(guān)函數(shù)說明
turtle.clear()清空畫布中的內(nèi)容,但是此時(shí)畫筆的起點(diǎn)還是在原來的位置不會(huì)改變
turtle.reset()清空畫布中的內(nèi)容,并且畫筆狀態(tài)為起始狀態(tài)
turtle.undo()撤銷上一個(gè)繪畫動(dòng)作
turtle.isvisible()查看當(dāng)前畫筆的狀態(tài)是否為可見狀態(tài)
stamp()復(fù)制當(dāng)前畫好的圖形
turtle.write(s [,font=(“font-name”,font_size,“font_type”)])向畫布中寫入內(nèi)容,并設(shè)置寫入內(nèi)容的大小、顏色等

2. 畫筆屬性控制

通過對(duì)畫筆的寬度、速度、顏色等相關(guān)的參數(shù)設(shè)置實(shí)現(xiàn)比較漂亮的繪圖效果,若是不喜歡畫筆在畫布上面的展示還可以將其隱藏等等。

Trutle 函數(shù)使用
相關(guān)函數(shù)說明
turtle.pensize()設(shè)置畫筆的寬度
turtle.pencolor(color)設(shè)置畫筆的顏色,顏色支持三種格式的顏色表示方法
turtle.speed(speed)設(shè)置畫筆移動(dòng)速度,畫筆繪制的速度范圍[0,10]整數(shù),數(shù)字越大越快
turtle.fillcolor(colorstring)繪制圖形的填充顏色,一般放在開始填充、結(jié)束填充的函數(shù)之間
turtle.color(color1, color2)第一個(gè)參數(shù)為畫筆顏色設(shè)置、第二個(gè)則為填充顏色
turtle.filling()查看當(dāng)前是否在填充狀態(tài)
turtle.begin_fill()開始填充顏色
turtle.end_fill()結(jié)束填充顏色
turtle.hideturtle()隱藏畫筆
turtle.showturtle()顯示畫筆

3. 畫筆軌跡設(shè)置

整個(gè)繪圖的圖形、輪廓等繪制都是通過不斷的調(diào)整畫筆的運(yùn)動(dòng)參數(shù)以及畫筆的抬起或放下來完成的,就是模仿一個(gè)人的繪畫過程來實(shí)現(xiàn)的。

Turtle 函數(shù)使用
相關(guān)函數(shù)說明
turtle.forward(distance)向當(dāng)前畫筆方向移動(dòng)distance像素長(zhǎng)度
turtle.backward(distance)向當(dāng)前畫筆相反方向移動(dòng)distance像素長(zhǎng)度
turtle.right(degree)順時(shí)針移動(dòng)degree°
turtle.left(degree)逆時(shí)針移動(dòng)degree°
turtle.pendown()移動(dòng)時(shí)繪制圖形,缺省時(shí)也為繪制
turtle.goto(x,y)將畫筆移動(dòng)到坐標(biāo)為x,y的位置
turtle.penup()提起筆移動(dòng),不繪制圖形,用于另起一個(gè)地方繪制
turtle.circle(radius,extent)根據(jù)半徑radius繪制extent角度的弧形,若是繪制圓形則不需要extent參數(shù)
turtle.setx()將當(dāng)前x軸移動(dòng)到指定位置
turtle.sety()將當(dāng)前y軸移動(dòng)到指定位置
turtle.setheading(angle)設(shè)置畫筆箭頭的朝向
turtle.home()將當(dāng)前畫筆的坐標(biāo)位置設(shè)置為原點(diǎn)
turtle.dot()繪制一個(gè)指定直徑和顏色的圓點(diǎn)
turtle.setpos(x,y)設(shè)置畫筆的位置(x,y)坐標(biāo)
turtle.pos()獲取當(dāng)前的畫筆的坐標(biāo)位置
turtle.xcor()獲取X坐標(biāo)值
turtle.ycor()取Y坐標(biāo)值

上面對(duì)于turtle的畫筆的相關(guān)設(shè)置基本涵蓋了日常繪畫過程中需要用到的所有函數(shù),下面通過幾個(gè)比較常見的小例子來實(shí)戰(zhàn)一下。

若是沒有安裝turtle小烏龜?shù)目梢詐ip的方式安裝一下即可,將命令放在下面。

pip install turtle -i https://pypi.tuna./simple/

4. 玫瑰花繪制

在其他平臺(tái)上發(fā)現(xiàn)的玫瑰花的繪制過程,這里優(yōu)化了一下隱藏了一些參數(shù)以及設(shè)置了畫筆相關(guān)的屬性,如有雷同、純屬巧合。

Importing the turtle module and renaming it to tle.
import turtle as tle

# 初始化畫筆的全局參數(shù)屬性設(shè)置

tle.hideturtle()
tle.pensize(3)
tle.penup()
tle.left(90)
tle.forward(200)
tle.pendown()
tle.right(90)

# 繪制玫瑰花的花蕊畫筆運(yùn)動(dòng)軌跡設(shè)置

tle.fillcolor("red")
tle.begin_fill()
tle.circle(10180)
tle.circle(25110)
tle.left(50)
tle.circle(6045)
tle.circle(20170)
tle.right(24)
tle.forward(30)
tle.left(10)
tle.circle(30110)
tle.forward(20)
tle.left(40)
tle.circle(9070)
tle.circle(30150)
tle.right(30)
tle.forward(15)
tle.circle(8090)
tle.left(15)
tle.forward(45)
tle.right(165)
tle.forward(20)
tle.left(155)
tle.circle(15080)
tle.left(50)
tle.circle(15090)
tle.end_fill()

# 繪制玫瑰花的上部分花瓣的運(yùn)動(dòng)軌跡參數(shù)設(shè)置

tle.left(150)
tle.circle(-9070)
tle.left(20)
tle.circle(75105)
tle.setheading(60)
tle.circle(8098)
tle.circle(-9040)

# 繪制玫瑰花的下部分花瓣的運(yùn)動(dòng)軌跡參數(shù)設(shè)置

tle.left(180)
tle.circle(9040)
tle.circle(-8098)
tle.setheading(-83)

# 繪制玫瑰花的上部分綠葉的運(yùn)動(dòng)軌跡參數(shù)設(shè)置

tle.forward(30)
tle.left(90)
tle.forward(25)
tle.left(45)
tle.fillcolor("green")
tle.begin_fill()
tle.circle(-8090)
tle.right(90)
tle.circle(-8090)
tle.end_fill()

tle.right(135)
tle.forward(60)
tle.left(180)
tle.forward(85)
tle.left(90)
tle.forward(80)

# 繪制玫瑰花的下部分綠葉的運(yùn)動(dòng)軌跡參數(shù)設(shè)置

tle.right(90)
tle.right(45)
tle.fillcolor("green")
tle.begin_fill()
tle.circle(8090)
tle.left(90)
tle.circle(8090)
tle.end_fill()

tle.left(135)
tle.forward(60)
tle.left(180)
tle.forward(60)
tle.right(90)
tle.circle(20060)

# 完成繪圖
tle.done()

「Python 集中營(yíng)」,只做知識(shí)分享 !

又是櫻花盛開的季節(jié),使用小烏龜來畫一顆櫻花樹吧!

用python為心愛的人制作520照片墻,已成功做出效果圖!

python中最簡(jiǎn)單的turtle繪圖:奧運(yùn)五環(huán)!

有趣的控制臺(tái)玩法:一行代碼繪制控制臺(tái)圖像!

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多