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:-