先上圖:
**如下:
『』』勾股樹畫法(角度隨機):
此勾股樹的畫法採取角度隨機的方式進行,樹的
形狀與現實樹比較接近,每次執行生成的樹形狀
都不一樣
『』』import turtle
from math import cos, radians
import random
t = turtle.turtle()
lim = 8 #勾股樹邊值下限
#設定了10個角度,角1角2一一對應,
jiao1 = [10,70,30,50,40,45,35,65,15,85]
jiao2 = [80,20,60,40,50,45,55,25,75,5]
def square(s):
# 設定正方形填充顏色,顏色隨機產生,如果r,g,b
# 的值超過0.5,則將其減去0.5,這樣的目的使其填
# 充色較深
r = random.random()
if r > 0.5:r -= 0.5
g = random.random()
if g > 0.5:g -= 0.5
b = random.random()
if b > 0.5:b -= 0.5
t.color(r,g,b)
t.begin_fill()
for i in range(4):
t.fd(s)
t.right(90)
t.end_fill()
def draw(s):
if s < lim:return
square(s)
# 生成隨機角度
tt = int(random.random() * 10)
j1 = jiao1[tt]
j2 = jiao2[tt]
t.fd(s)
t.left(j1)
draw(s * cos(radians(j1)))
square(s * cos(radians(j1)))
t.right(90)
t.fd(s * cos(radians(j1)))
draw(s * cos(radians(j2)))
square(s * cos(radians(j2)))
t.right(90)
t.fd(s * cos(radians(j2)))
t.right(j1)
t.fd(s)
t.right(90)
t.fd(s)
t.right(90)
ifname== 『main』:
turtle.setup(1400,1060)
t.speed(0)
t.up()
t.goto(0, -500)
t.down()
t.seth(90)
draw(100)
# 匯出繪圖結果,格式為eps,可用ps開啟,
# 再存為自己需要的格式
t.hideturtle()
ts = t.getscreen()
ts.getcanvas().postscript(file = 『勾股樹.eps』)
turtle.done()
判定表與判定樹的畫法 判定樹和判定表
判定樹又稱決策樹,是一種描述加工的圖形工具,適合描述問題處理中具有多個判斷,而且每個決策與若干條件有關。使用判定樹進行描述時,應該從問題的文字描述中分清哪些是判定條件,哪些是判定的決策,根據描述材料中的聯結詞找出判定條件的從屬關係 並列關係 選擇關係,根據它們構造判定樹。例4.5 某工廠對工人的超產...
隨機森林與梯度提公升樹
提公升樹模型 提公升方法實際採用加法模型 即基函式的線形組合 與前向分步演算法。以決策樹為基函式的提公升方法稱為提公升樹。對分類問題決策樹是二叉分類樹。提公升樹模型可以表示為決策樹的加法模型 fmx m 1mt x m 其中t x m 表示決策樹 m為決策樹的引數 m為樹的個數。提公升樹演算法採用前...
決策樹與隨機森林演算法
決策樹 分類樹 是一種樹形結構,其中每個內部節點表示乙個屬性上的測試,每個分支代表乙個測試輸出,每個葉節點代表一種類別。決策樹只需要構建一次,每一次 分類的最大計算次數不超過決策樹的深度。決策樹學習演算法 id3演算法 通過自頂向下構造決策樹來進行學習,構造過程是從 選取分類能力最好的屬性作為根節點...