計算分析
分析五角星和内接正五邊形的邊長關系。已知五角星的邊長為l,求在同一直線上五角星的頂點到正五邊形的頂點的距離,即r的值;以及正五邊形的邊長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,因此有
,得到
,帶入
,經過計算可以得出
,
。
繪制邊長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()
運行結果
功能要求
繪制邊長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()
運行結果
功能要求
繪制邊長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()
運行結果
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!