![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxjqM3YUrOPs5kHXcSXJk2ypRNLy9d48ExEEnCvDpdZCQ9M7v9qN6a3lgt1mCvUlUs1t6XaELIN1_8WLDhG0YIJ7pbSFvkyi77sPyrbPsI0lrCKOe_RFBYKLfOYNkHMusc9X2IwOrAHKQ/s400/penrose.png)
![](https://plsw.net/canvas/penrose0.png)
![](https://plsw.net/canvas/penrose1.png)
►Start demo
The current algorithm is still suboptimal, there remain gaps in the pattern. The algorithm works as follows: Before a tile is added, the local neighborhood is checked for upcoming conflicts. Since only a local environment is checked, there can still emerge conflicts (gaps) for the global pattern. To improve the algorithm, one could introduce heuristics or make it interactive: a user could remove pattern areas which contain gaps. Then the generating could be restarted in this areas. (The demo is inspired by an article in the journal Spektrum d.W.)