勾股樹畫法,角度隨機,與現實樹形狀接近

2021-09-27 02:48:40 字數 1821 閱讀 6352

先上圖:

**如下:

『』』勾股樹畫法(角度隨機):

此勾股樹的畫法採取角度隨機的方式進行,樹的

形狀與現實樹比較接近,每次執行生成的樹形狀

都不一樣

『』』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演算法 通過自頂向下構造決策樹來進行學習,構造過程是從 選取分類能力最好的屬性作為根節點...