Draw a Tree Using Arcade Library in Python

Python's Arcade library is a modern graphics library designed for creating 2D games and graphical applications. In this tutorial, we'll learn how to draw a simple tree using Arcade's drawing functions.

What is Arcade Library?

Arcade is a Python library built on top of Pyglet that provides a simple interface for creating graphics and games. It offers modern features and cleaner syntax compared to older graphics libraries like Pygame.

Key features of Arcade include:

  • Shape drawing functions draw_circle_filled(), draw_rectangle_filled(), draw_polygon_filled()

  • Sprite support Sprite and SpriteList classes for animations

  • Physics engines PhysicsEngine for realistic motion

  • Audio support load_sound() and play_sound() functions

Installing Arcade

First, install the Arcade library using pip:

pip install arcade

Drawing a Simple Tree

Let's create a tree using basic shapes a rectangle for the trunk and circles for the leaves:

import arcade

# Set up the window
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480
SCREEN_TITLE = "Drawing a Tree using Arcade Library"

# Open the window
arcade.open_window(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)

# Set background color
arcade.set_background_color(arcade.color.SKY_BLUE)

# Start rendering
arcade.start_render()

# Draw the trunk of the tree (brown rectangle)
arcade.draw_rectangle_filled(320, 150, 40, 120, arcade.color.BROWN)

# Draw the leaves (three green circles)
arcade.draw_circle_filled(290, 220, 50, arcade.color.DARK_GREEN)
arcade.draw_circle_filled(320, 250, 50, arcade.color.DARK_GREEN)  
arcade.draw_circle_filled(350, 220, 50, arcade.color.DARK_GREEN)

# Finish rendering
arcade.finish_render()

# Keep the window open
arcade.run()

How the Code Works

The tree drawing process involves these key steps:

  1. Window Setup arcade.open_window() creates a 640x480 pixel window

  2. Background arcade.set_background_color() sets a sky blue background

  3. Rendering arcade.start_render() prepares the window for drawing

  4. Tree Trunk arcade.draw_rectangle_filled(x, y, width, height, color) draws a brown rectangle

  5. Tree Leaves arcade.draw_circle_filled(x, y, radius, color) draws three overlapping green circles

  6. Display arcade.finish_render() and arcade.run() display and maintain the window

Function Parameters

Function Parameters Description
draw_rectangle_filled() x, y, width, height, color Draws filled rectangle at center (x,y)
draw_circle_filled() x, y, radius, color Draws filled circle at center (x,y)

Creating More Complex Trees

You can enhance the tree by adding branches, different leaf shapes, or multiple trees:

import arcade

arcade.open_window(640, 480, "Enhanced Tree")
arcade.set_background_color(arcade.color.SKY_BLUE)
arcade.start_render()

# Main trunk
arcade.draw_rectangle_filled(320, 150, 40, 120, arcade.color.BROWN)

# Branches
arcade.draw_rectangle_filled(280, 180, 60, 15, arcade.color.BROWN)
arcade.draw_rectangle_filled(360, 200, 60, 15, arcade.color.BROWN)

# Leaves (larger canopy)
arcade.draw_circle_filled(280, 220, 45, arcade.color.FOREST_GREEN)
arcade.draw_circle_filled(320, 250, 55, arcade.color.DARK_GREEN)  
arcade.draw_circle_filled(360, 220, 45, arcade.color.FOREST_GREEN)
arcade.draw_circle_filled(320, 200, 40, arcade.color.DARK_GREEN)

# Ground
arcade.draw_rectangle_filled(320, 50, 640, 100, arcade.color.DARK_OLIVE_GREEN)

arcade.finish_render()
arcade.run()

Key Points

  • Coordinate system Origin (0,0) is at bottom-left corner

  • Rendering order Always call start_render() before drawing and finish_render() after

  • Colors Use arcade.color.COLOR_NAME or RGB tuples

  • Positioning Plan coordinates carefully for proper object placement

Conclusion

Arcade library provides an intuitive way to create 2D graphics in Python. By combining simple shapes like rectangles and circles, you can create complex objects like trees. Practice with different coordinates, colors, and shapes to create more detailed graphics.

Updated on: 2026-03-27T14:32:41+05:30

466 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements