The purpose of this project was to make use of class inheritance to draw shapes and trees. I did this by making one shape class, then other classes that inherited from the shape class.
The first task was to create a Tree shape class. The tree, being a shape, was a child of the Shape class. However, the _init_, and draw functions were overwritten and a couple more functions specific to trees were added. I wrote a test function that would use an L-system with multiple replacements for one rule that would output three versions of the tree. This is what was outputted, notice how the three trees differ from each other.
The second task was to create more shape classes and output a demonstration of them. This is what I made:
The third task was to create an indoor scene only using the shapes made in this assignment. A tree had to be placed in a painting-like structure within the image. Here is my output:
Finally, the fourth task was to make a new file that has a tile function that would make a square tile of a specified size with some shapes inside. Then I had to write a mosaic function that would place tiles in a grid of specified size, nxm tiles. Here is my output:
I learned in this project how to handle classes and inheritance to make for much simpler and easier to navigate code. Without inheritance this project's code would be quite unruly. I worked on this alone.