tft每日頭條

 > 生活

 > python海龜畫圓形代碼

python海龜畫圓形代碼

生活 更新时间:2024-07-26 08:15:07
分析镂空五角星邊長的關系

計算分析

分析五角星和内接正五邊形的邊長關系。已知五角星的邊長為l,求在同一直線上五角星的頂點到正五邊形的頂點的距離,即r的值;以及正五邊形的邊長x的值。如下圖所示:

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)1

已知正五邊形的頂角∠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,因此有

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)2

,得到

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)3

,帶入

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)4

,經過計算可以得出

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)5

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)6

繪制邊長l為400的五角星

功能要求

繪制邊長l為400的五角星,将畫筆顔色設置為yellow,填充顔色設置為red,畫筆寬度為3,畫筆速度最快,并隐藏畫筆。

實例代碼

import turtle

turtle.speed(0)

turtle.ht()

l = 400 # 設定五角星的邊長

turtle.speed(0) # 設置畫筆的速度

turtle.ht() # 隐藏畫筆

turtle.pensize(3) # 設置畫筆的粗細

# 設置畫筆的初始位置

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()

運行結果

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)7

繪制邊長l為400的镂空五角星

功能要求

繪制邊長l為400的五角星,将畫筆顔色設置為yellow,填充顔色設置為red;移動畫筆到正五邊形的頂點,即向前移動r距離,繪制一個邊長為x的正五邊形,設置畫筆顔色為yellow,填充顔色為white,即用白色正五邊形覆蓋五角星的中學部分,畫筆寬度為3,畫筆速度最快,并隐藏畫筆。

實例代碼

import turtle

import math

l = 400 # 設定五角星的邊長

r = l * 2 / (math.sqrt(5) 3) # 計算兩個頂點的距離

x = l * (math.sqrt(5) - 1) / (math.sqrt(5) 3) # 計算五邊形的邊長

turtle.speed(0) # 設置畫筆的速度

turtle.ht() # 隐藏畫筆

turtle.pensize(3) # 設置畫筆的粗細

# 設置畫筆的初始位置

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()

運行結果

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)8

為镂空五角星添加文字信息

功能要求

繪制邊長l為400的五角星,将畫筆顔色設置為yellow,填充顔色設置為red;移動畫筆到正五邊形的頂點,即向前移動r距離,繪制一個邊長為x的正五邊形,設置畫筆顔色為yellow,填充顔色為white,即用白色正五邊形覆蓋五角星的中學部分,畫筆寬度為3,畫筆速度最快,并隐藏畫筆。完成繪圖後,在圖中添加文字“镂空五角星”

實例代碼

import turtle

import math

l = 400 # 設定五角星的邊長

r = l * 2 / (math.sqrt(5) 3) # 計算兩個頂點的距離

x = l * (math.sqrt(5) - 1) / (math.sqrt(5) 3) # 計算五邊形的邊長

turtle.speed(0) # 設置畫筆的速度

turtle.ht() # 隐藏畫筆

turtle.pensize(3) # 設置畫筆的粗細

# 設置畫筆的初始位置

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()

運行結果

python海龜畫圓形代碼(利用海龜畫筆繪制镂空五角星)9

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved