Golden Fractal Tree is a tree based on Golden Ratio. The golden fractal tree contains the main branch and three smaller golden fractal trees: the first branch turns left by 72 degrees with ratio of main branch to the parent’s main branch = 2-golden_ratio; the second branch have the same the direction as the parent with ratio of main branch to the parent’s main branch = golden_ratio-1; the first branch turns right by 72 degrees with ratio of main branch to the parent’s main branch = 2-golden_ratio. For more details on golden fractal tree, please check out this web page.
Source Code:
import turtle
import math
screen = turtle.Screen()
screen.title('Golden Fractal Tree - PythonTurtle.Academy')
screen.setup(1000,1000)
screen.setworldcoordinates(-1000,-1000,1000,1000)
turtle.speed(0)
turtle.hideturtle()
turtle.tracer(0,0)
golden_ratio = (1+5**0.5)/2
def golden_fractal_tree(x,y,direction,length):
turtle.up()
turtle.goto(x,y)
turtle.seth(direction)
turtle.pensize(math.log(length,2)/3)
if length<10: turtle.color('forest green')
else: turtle.color('gray')
turtle.down()
turtle.fd(length)
if length < 3: return
cx,cy = turtle.xcor(), turtle.ycor()
golden_fractal_tree(cx,cy,direction+72,(2-golden_ratio)*length)
golden_fractal_tree(cx,cy,direction-72,(2-golden_ratio)*length)
golden_fractal_tree(cx,cy,direction,(golden_ratio-1)*length)
golden_fractal_tree(0,-900,90,700)
turtle.update()