
繪制如下圖的,多角圖形,思路,
(1)每個角是一個標準的等邊三角形,把繪制等邊三角形作為一個標準函式,
(2)觀察圖形,可以看出,畫的三角形在不斷的旋轉和移動,因此第一步找到三角形畫法起始點的海龜頭旋轉角度
(3)轉動海龜頭后,把海龜移動到新的繪制起點處,
(4)此時的海龜頭剛好與繪制三角形的第一條直線的起始方向相反,因此在轉動海龜頭180度
(5)回圈化三角即可
重點:如果計算,相鄰兩個三角旋轉的角度,利用通用公式進行計算,先算內角,360/N,在算外角180-360/N
代碼:
還有更多好玩的游戲和畫圖原始碼,關注公眾號:學習py最風sao的方式
import turtle
L = 50 # 邊長
N = 12 # 角的個數
jiaodu = 180 - 360 / (N) # 每個三個型相對于上一個三角的角度,left轉動
tl = turtle.Turtle() # 海龜的物件
# tl.speed(0)
tl.screen.delay(0) # 繪畫延時為0
def f1():
tl.fillcolor("yellow") # 三角形填充顏色
tl.begin_fill() # 填充開始
for i in range(3):
tl.fillcolor()
tl.forward(L)
tl.right(120)
tl.end_fill() # 填充結束
# 畫外部的三角
for i in range(N):
tl.left(jiaodu) # 下一個三角形的角度
tl.penup()
tl.forward(L) # 新三角的起始位置
tl.pendown()
tl.right(180) # 轉動到畫三角形的相對0度
f1()
# 畫內部的多邊形
tl.fillcolor("red") # 填充顏色
tl.begin_fill()
for i in range(N):
tl.left(jiaodu)
tl.forward(L)
tl.right(180) # 轉動到畫三角形的相對0度
tl.end_fill()
tl.screen.mainloop()
展現圖

六角星
代碼:
from turtle import * #引入turtle庫
for i in range(6):
forward(100)
right(120)
forward(100)
left(60)
#第一個回圈畫外部邊線
for n in range(6):
right(60)
forward(100)
#第二個回圈畫內部六邊形
done() #視窗畫完后不自動關閉
小風車
代碼:
import turtle
turtle.speed("fastest")
turtle.pensize(1)
for y in range(200):
turtle.forward(3*y)
turtle.left(20)
turtle.right(175)


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/279803.html
標籤:python
上一篇:《Python爬取求職網第二天》——requests庫和BeautifulSoup庫
下一篇:前端如何關閉已經發送的請求
