A few days ago I got it in my head to "quickly make a genetic algorithm". Here is the result:
If you look closely, you will notice that you see only triangles. Each drawing is a sequence of commands. One type of command is "Change color to RGBA (a way to tell color to a computer)". The other type of drawing command is "Make a triangle between p1, p2 & p3 using the most recently set color".
The algorithm started with this "seed" drawing:
Imagine this crazy, random pile of triangles as the "parent". Then, 100 times over, the parent is copied, but each copy gets its own little copying error made to it. Each of those 100, flawed copies, are redrawn themselves and compared with the original image. The one that is the "closest" wins and becomes the new parent. Wash, rinse, and repeat. And in my case, then wash, rinse and repeat some more...
It's taken 24 hours just to get this far. The literature say it should be possible to get this close in about 3 hours, so I'm not such a bad-ass...
24 hours during which my computer has been completely unusable for anything else. I am struggling even just to write this blog post (yay me) about it, while it is running.
For comparison, this is the original picture that the algorithm is trying to emulate.
Here are a few images every 6 hours along the way, showing the progress. This next one is about 3 hours after the algorithm started. Last night before bed:
12 hours after the algorithm started. You can see significant progress has been made overnight. This morning:
More or less 18 hours after starting. Noon today:
The last one is the most, most recent one, and differs from the one at the start of this post by about an hour. Ie, as long as it's been taking me to get this post ready and done. Just now:
And the goal again...
Update 36 hours after starting: I'm about to yank this process to get my computer back. This is the last image it's made: