So a few weeks ago I saw a really great pattern on a van driving around.
I thought it was really cool, so today I sat down and made an algorithm to generate something similar.
Lets begin with the finished product.
I started with perlin noise, this is for the smooth transitions and is actually the core of the pattern.
In the example above the perlin algorithm gives me values between 0 and 1 depending where on the grid each point is. I am then rendering it so that the values closer to 0 are darker and closer 1 one are lighter.
Then I simply map those values from 0 to 1 to a full spectrum of hue. This basically means that each value represents a colour in the rainbow, 0 is red, 0.2 is orange, 0.4 is yellow, 0.6 is green …. so on so forth… and every colour in between.
Then we get something like this…
The last step is just breaking it down into triangles, giving each triangle a different saturation and brightness. Then we are done. Easy as pie.
And here is a lovely animated version for reading the whole thing.
The source code for the above is here.