# Blog 2014 November 12 Danqing's CS151 project 9

In this week's project we are supposed to get familiar with inheritance and class. Also, we learn how to use dictionary to build better lsystems.

For the first task, I made this picture. These trees are created based on systemI, with iteration number 3. Since there are several replacement for one rule these trees are variable.

I add some simple classes to my shapes document. As you can see, except square and triangle, i build pentagon, hexagon and star.

I also add color fill argument to every class. So that when I want to fill color in these figures I only need to set the fill value True.

Next one is the indoor scene. As you can see, I create this scene only with figures shown above. At first I used loop and square class to build the mosaic floor and wall. To make them look better I set random color but control the range of rgb value. So the wall is generally blue and the floor is brown.

The last task is the mosaic files. I create a simple file with a square and a star. To keep the random color of square and star different I set the star's rgb value in different order with square.
Extension:

I create a hexagon mosaic picture. It is important to find out the location relationship of nearby files. I did it in this way:

tile(x+i*scale*3,y+j*scale*1.732,scale)
tile(x+(i-1)*scale*3+1.5*scale,y+j*scale*1.732-0.866*scale,scale)
tile(x+i*scale*3,y+j*scale*1.732,scale)

tile(x+(i-1)*scale*3+1.5*scale,y+j*scale*1.732-0.866*scale,scale)
Next part is a new lsystem. I made some change to one of my old lsystem and get a totally new graph. This lsystem is shown below:
base V
rule V FV+FV+FV+FV+FV
rule F FF FFF
iteration number is 3 and angle is 144.

Next one is the tilt trees. To make this I make some change to the drawstring function.