Algorithms for generating brick walls
I would like to comment this, but reputation...

What you are looking for is a Tessellation. 


  A tessellation of a flat surface is the tiling of a plane using one or more geometric shapes, called tiles, with no overlaps and no gaps.


For example, the Penrose Tiling, the Pithagorean Tiling, Domino Tiling or Polyomino Tiling.