Saturday, October 25, 2025
HomeLanguagesDraw a tree using arcade library in Python

Draw a tree using arcade library in Python

Drawing a tree isn’t a tough task in Python using the turtle module. But, what if you can draw it using Arcade Module as well. Arcade is an object-oriented library. It can be installed like any other Python Package using an import arcade.

Approach:

  • Import arcade.
  • Define a function to draw trees. Here, we are drawing a pine tree made up of a rectangle and a triangle. So, you can use the inbuilt arcade function to rectangle and triangle.
def draw_tree(x, y):

   # Draw the triangle on top of the trunk
   arcade.draw_triangle_filled(x + 40, y,
                               x, y - 100,
                               x + 80, y - 100,
                               arcade.color.DARK_GREEN)
   # Draw the trunk
   arcade.draw_lrtb_rectangle_filled(x + 30, x + 50, y - 100, y - 140,
                                     arcade.color.DARK_BROWN)
  • Now, since we have defined the function to tree, let’s define the main function and under which define arcade.open_window() to specify the screen width, height, and title. Also, use arcade.start_render() and arcade.finish_render to instruct arcade module when to start and stop drawing. Finally, add the arcade.run() to specify the ending.
def main():
   # Open the window
   arcade.open_window(600, 600,"TREE")
   arcade.set_background_color(arcade.color.SKY_BLUE)
   
# Start the render process. 
   arcade.start_render()
  
 # Call our drawing functions.
   draw_tree(50, 250)
 
  # Finish the render.
   arcade.finish_render()
  
 # keep the window up .
   arcade.run()
   main()

 Example 1:

Python3




import arcade
 
 
def draw_tree(x, y):
 
    # Draw the triangle on top of the trunk
    arcade.draw_triangle_filled(x + 40, y,
                                x, y - 100,
                                x + 80, y - 100,
                                arcade.color.DARK_GREEN)
 
    # Draw the trunk
    arcade.draw_lrtb_rectangle_filled(x + 30, x + 50, y - 100, y - 140,
                                      arcade.color.DARK_BROWN)
 
 
def main():
 
    # Open the window
    arcade.open_window(600, 600, "TREE")
    arcade.set_background_color(arcade.color.SKY_BLUE)
 
    # Start the render process.
    arcade.start_render()
 
    # Call our drawing functions.
    draw_tree(50, 250)
 
    # Finish the render.
    arcade.finish_render()
 
    # Keep the window up.
    arcade.run()
 
 
main()


Output:

Example 2: 

Python3




#import module
import arcade
 
# specify spacing
Column_spacing = 20
Row_spacing = 20
Left_margin = 110
Bottom_margin = 400
 
# Open the window and set the background
arcade.open_window(700, 700, "BOX")
 
# set background color
arcade.set_background_color(arcade.color.BABY_PINK)
 
# Start the render process. This must be done before any drawing commands.
arcade.start_render()
 
# Loop for each row
for row in range(8):
    # Loop for each column
    for column in range(8):
        # Calculate our location
        x = column * Column_spacing + Left_margin
        y = row * Row_spacing + Bottom_margin
 
        # Draw the item
    arcade.draw_triangle_filled(x + 40, y,
                                x, y - 100,
                                x + 80, y - 100,
                                arcade.color.DARK_GREEN)
 
arcade.draw_lrtb_rectangle_filled(x + 30, x + 50, 300, 230,
                                      arcade.color.DARK_BROWN)
 
# Finish the render.
arcade.finish_render()
 
# Keep the window up until someone closes it.
arcade.run()
 
# This code is contributed by pulkitagarwal03pulkit


Output:-

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS