#178 Fractal tree using python turtle
import turtle # Set up 'constants' # image size IMAGE_SIZE_X = 500 IMAGE_SIZE_Y = 500 # Determines depth of tree - try 2 and 1.25 as alternatives FACTOR = 1.45 def draw_tree(length, width=9): color = 'brown' if length < 1: return elif length < 3: color = 'green' if width < 1: width = 1 turtle.color(color) turtle.width(width) turtle.forward(length) turtle.left(30) draw_tree(length / FACTOR, width - 1) turtle.right(60) draw_tree(length / FACTOR, width - 1) turtle.left(30) turtle.color(color) turtle.width(width) turtle.backward(length) def setup_screen(title, background='white', screen_size_x=640, screen_size_y=320, tracer_size=200): # Sets up Turtle screen with useful defaults print('Set up Screen') turtle.title(title) turtle.setup(screen_size_x, screen_size_y) turtle.hideturtle() turtle.penup() turtle.backward(240) turtle.tracer(tracer_size) turtle.bgcolor(background) # Set the background colour of the screen print("Starting ...") setup_screen('Fractal Tree', screen_size_x=IMAGE_SIZE_X, screen_size_y=IMAGE_SIZE_Y, tracer_size=2000) # Ensure tree is centred and pointing in the right direction turtle.setposition(-50, -140) turtle.left(90) turtle.down() # Draw the tree draw_tree(110) # Ensure that all the drawing is rendered turtle.update() print('Done') turtle.done()
Recent Comments