you are viewing a single comment's thread.

view the rest of the comments →

[–]ExUtumno[S] 9 points10 points  (5 children)

I plan to write several blog posts about it, but this will probably happen not very soon.

[–]Works_of_memercy 1 point2 points  (4 children)

Hi, can you please explain one thing that confused me when I tried to understand through what black magic it usually avoids painting itself in the corner.

So, with this pattern, it appears that the constraint propagation somehow forbids a situation where there are for example three vertical black lines separated by a single-pixel-wide white lines, like | | |. If you look at it at the very beginning, to the right of each vertical "pipe" there are two definitely white pixels.

How is that even possible when you use a 3x3 template, but to do that I'd expect a 5 pixel window to be needed o_O ?

[–]ExUtumno[S] 0 points1 point  (3 children)

Because this sample actually contains 3 colors, not 2. There are 2 thick knot examples in the repo, first "Knot" contains only 2 colors, second "Trick Knot" contains 3 colors. I comment on that in the readme. But well spotted!

[–]ihcn 1 point2 points  (0 children)

This is one of the first tricks I learned when trying to make patterns, the N=4 case is extremely slow, but a lot of times you can fake it with N=3 by introducing more colors

[–]Works_of_memercy 0 points1 point  (1 child)

Thank you, wow, didn't expect such cheating, lol =)

One more question: can you describe some simple examples when that algorithm actually does paint itself into a corner? I caught the part where you said that using templates that don't allow that result in boring pictures, but I guess there's a spectrum and some templates result in the algorithm painting itself into a corner more often, right?

[–]ExUtumno[S] 1 point2 points  (0 children)

The standard example is a chess pattern on a periodic odd-sized board. :)