「Python海龟画图」利用海龟画笔绘制镂空五角星
分析鏤空五角星邊長(zhǎng)的關(guān)系
計(jì)算分析
分析五角星和內(nèi)接正五邊形的邊長(zhǎng)關(guān)系。已知五角星的邊長(zhǎng)為l,求在同一直線上五角星的頂點(diǎn)到正五邊形的頂點(diǎn)的距離,即r的值;以及正五邊形的邊長(zhǎng)x的值。如下圖所示:
??
已知正五邊形的頂角∠EBD=180°-360°/5=108°,五角星的頂角∠BCA=(180°-108°)/2=36°,∠AED=(360°-2×∠CED)/2=(360°-2×72°)/2=108°,∠DEB=(180°-108°)/2=36°,因此DE=r。
△BDE∽△BCA,因此有,得到,帶入,經(jīng)過計(jì)算可以得出,。
繪制邊長(zhǎng)l為400的五角星
功能要求
繪制邊長(zhǎng)l為400的五角星,將畫筆顏色設(shè)置為yellow,填充顏色設(shè)置為red,畫筆寬度為3,畫筆速度最快,并隱藏畫筆。
實(shí)例代碼
import turtleturtle.speed(0)turtle.ht()l = 400 ????????????????????????????????????????# 設(shè)定五角星的邊長(zhǎng)turtle.speed(0) ????????# 設(shè)置畫筆的速度turtle.ht() ????????????# 隱藏畫筆turtle.pensize(3) ??????# 設(shè)置畫筆的粗細(xì)# 設(shè)置畫筆的初始位置turtle.penup()turtle.goto(-200, 50)turtle.pendown()# 繪制外面的五角星turtle.color("yellow", "red")turtle.begin_fill()for i in range(5):turtle.forward(l)turtle.right(144)turtle.end_fill()turtle.done()運(yùn)行結(jié)果
繪制邊長(zhǎng)l為400的鏤空五角星
功能要求
繪制邊長(zhǎng)l為400的五角星,將畫筆顏色設(shè)置為yellow,填充顏色設(shè)置為red;移動(dòng)畫筆到正五邊形的頂點(diǎn),即向前移動(dòng)r距離,繪制一個(gè)邊長(zhǎng)為x的正五邊形,設(shè)置畫筆顏色為yellow,填充顏色為white,即用白色正五邊形覆蓋五角星的中學(xué)部分,畫筆寬度為3,畫筆速度最快,并隱藏畫筆。
實(shí)例代碼
import turtleimport mathl = 400 ????????????????????????????????????????# 設(shè)定五角星的邊長(zhǎng)r = l * 2 / (math.sqrt(5) + 3) ?????????????????# 計(jì)算兩個(gè)頂點(diǎn)的距離x = l * (math.sqrt(5) - 1) / (math.sqrt(5) + 3) # 計(jì)算五邊形的邊長(zhǎng)turtle.speed(0) ????????# 設(shè)置畫筆的速度turtle.ht() ????????????# 隱藏畫筆turtle.pensize(3) ??????# 設(shè)置畫筆的粗細(xì)# 設(shè)置畫筆的初始位置turtle.penup()turtle.goto(-200, 50)turtle.pendown()# 繪制外面的五角星turtle.color("yellow", "red")turtle.begin_fill()for i in range(5):turtle.forward(l)turtle.right(144)turtle.end_fill()# 繪制正五角星turtle.penup()turtle.forward(r)turtle.pendown()turtle.color("yellow", "white")turtle.begin_fill()for i in range(5):turtle.forward(x)turtle.right(72)turtle.end_fill()turtle.done()運(yùn)行結(jié)果
為鏤空五角星添加文字信息
功能要求
繪制邊長(zhǎng)l為400的五角星,將畫筆顏色設(shè)置為yellow,填充顏色設(shè)置為red;移動(dòng)畫筆到正五邊形的頂點(diǎn),即向前移動(dòng)r距離,繪制一個(gè)邊長(zhǎng)為x的正五邊形,設(shè)置畫筆顏色為yellow,填充顏色為white,即用白色正五邊形覆蓋五角星的中學(xué)部分,畫筆寬度為3,畫筆速度最快,并隱藏畫筆。完成繪圖后,在圖中添加文字“鏤空五角星”
實(shí)例代碼
import turtleimport mathl = 400 ????????????????????????????????????????# 設(shè)定五角星的邊長(zhǎng)r = l * 2 / (math.sqrt(5) + 3) ?????????????????# 計(jì)算兩個(gè)頂點(diǎn)的距離x = l * (math.sqrt(5) - 1) / (math.sqrt(5) + 3) # 計(jì)算五邊形的邊長(zhǎng)turtle.speed(0) ????????# 設(shè)置畫筆的速度turtle.ht() ????????????# 隱藏畫筆turtle.pensize(3) ??????# 設(shè)置畫筆的粗細(xì)# 設(shè)置畫筆的初始位置turtle.penup()turtle.goto(-200, 50)turtle.pendown()# 繪制外面的五角星turtle.color("yellow", "red")turtle.begin_fill()for i in range(5):turtle.forward(l)turtle.right(144)turtle.end_fill()# 繪制正五角星turtle.penup()turtle.forward(r)turtle.pendown()turtle.color("yellow", "white")turtle.begin_fill()for i in range(5):turtle.forward(x)turtle.right(72)turtle.end_fill()# 在圖中添加文字信息turtle.penup()turtle.goto(-150, -50)turtle.color("violet")turtle.write("鏤空五角星", font=('微軟雅黑', 48, 'bold'))turtle.done()運(yùn)行結(jié)果
?
?
總結(jié)
以上是生活随笔為你收集整理的「Python海龟画图」利用海龟画笔绘制镂空五角星的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 厦门vr虚拟现实,工地安全教育VR体验,
- 下一篇: 用Python解决海量数据的分类汇总~一