Un albero binario frattale

import turtle
WIDTH = 800
HEIGHT = 800
DISTANZA = 0.38*HEIGHT # Dimensione del tronco
RICORSIONE = 9
RATIO = 1.67 # Fattore di riduzione
turtle.setup(width=WIDTH, height=HEIGHT)
turtle.shape('turtle')
turtle.bgcolor("pink")
turtle.color("red", "#ff0000")
turtle.pensize(3) # spessore
turtle.speed(0)
turtle.penup()
turtle.setposition(0,-DISTANZA)
turtle.pendown()
turtle.left(90)
def albero(n, d):
if(n > 0):
d2=d/RATIO
turtle.forward(d)
turtle.left(45)
albero(n-1, d2)
turtle.right(90)
albero(n-1, d2)
turtle.left(45)
turtle.backward(d)
albero(RICORSIONE,DISTANZA)
Lo spessore di un ramo dipende dal suo livello

import turtle
WIDTH = 800
HEIGHT = 800
DISTANZA = 0.38*HEIGHT
RICORSIONE = 9
RATIO = 1.67
turtle.setup(width=WIDTH, height=HEIGHT)
turtle.shape('turtle')
turtle.bgcolor("pink")
turtle.color("red", "#ff0000")
turtle.speed(0)
turtle.penup()
turtle.setposition(0,-DISTANZA)
turtle.pendown()
turtle.left(90)
def albero(n, d):
if(n > 0):
d2=d/RATIO
turtle.pensize(n) # spessore
turtle.forward(d)
turtle.left(45)
albero(n-1, d2)
turtle.right(90)
albero(n-1, d2)
turtle.left(45)
turtle.backward(d)
albero(RICORSIONE,DISTANZA)