I'm not sure which StackExchange community is the correct place to ask this so I'm trying this one.

I want to write a code that generates random brick wall type textures. Similarly to what, for example, this commercial software does: http://www.vizpark.com/shop/walls-and-tiles/ .

So far I've thought at least three types of brick wall textures I would like to generate: 1) Periodic and user-defined pattern with one or more predefined brick types (bricks can be different shape an size). This is the simplest case. 2) Completely random pattern with predefined brick types 3) Completely random pattern with random sized bricks.

This is pretty much a mathematical problem that could be rephrased as: what is the way to fill a predefined area with certain shapes (either random or predefined) without leaving gaps?

I would assume that people have thought about this type or problems before, but I don't know how to search for it. I'm not looking for a conclusive answer, but would appreciate links to articles, etc. discussing different variations of this or related problems.

  • $\begingroup$ 'what is the way to fill a predefined area with certain shapes (either random or predefined) without leaving gaps?' First, this looks like a much more general question than creating a 'randomized' brick wall. Assuming you do not want to rotate the bricks, you only have to decide on the order of bricks of certain shapes and sizes per layer, which means that the problem is. $\endgroup$
    – Discrete lizard
    Mar 18, 2017 at 9:04
  • $\begingroup$ Second, selecting a random pattern is very simple. You should clarify what you mean with 'completely random pattern'. Perhaps you mean a 'non-periodic' pattern, such as the Penrose tiling $\endgroup$
    – Discrete lizard
    Mar 18, 2017 at 9:09
  • $\begingroup$ Yes, I meant nonperiodic. As for shapes and rotations of the bricks, I would first think about just rectangle shaped bricks (with varying widths and heights), all without rotations, but maybe it would also be interesting to consider more general shapes and rotations. $\endgroup$
    – Echows
    Mar 18, 2017 at 10:59

1 Answer 1


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.

Penrose Pithagorean Triominos Tetrominos

  • $\begingroup$ Thanks. This should already get me started. I will wait a bit to see if I get more useful links and, if not, then mark the question as solved. $\endgroup$
    – Echows
    Mar 18, 2017 at 11:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.