Image Evolution is a very interesting Javascript tool based on Roger Alsing's Evo-Lisa idea. It uses a genetic algorithm to represent images as a collection of overlapping polygons. Just feed it an image and hit start, and a random collection of coloured polygons will gradually evolve into a cool abstract rendition of your picture.

The evolution of a 36-hexagon depiction of the Pokémon Porygon2
The evolution of a 36-hexagon depiction of the Pokémon Porygon2

How does something like this work?

We start from [a set of random] polygons that are invisible. In each optimization step we randomly modify one parameter (like color components or polygon vertices) and check whether such new variant looks more like the original image. If it is, we keep it, and continue to mutate this one instead.

References

Source code

dna.txt
6 36 254 254 254 0.001 28 32 127 25 102 118 26 71 169 15 90 36 224 57 81 0.9693889501666504 95 4 166 51 158 58 16 39 173 46 71 29 253 255 255 0.21484375 179 42 109 169 103 8 108 11 49 136 24 28 255 255 255 1 111 129 44 110 87 81 104 4 79 4 132 55 4 133 198 1 159 92 102 26 82 147 70 170 13 116 135 138 255 255 255 0.7578125 90 16 138 15 12 110 170 70 142 1 115 154 2 154 210 1 50 165 22 132 168 44 98 142 51 78 149 110 3 158 214 1 30 141 76 154 27 29 7 40 59 169 139 95 116 17 0 0.859375 152 110 56 81 22 99 80 147 129 131 13 28 2 159 215 0.8390480553169326 19 142 35 42 147 122 4 24 27 91 158 86 248 55 77 0.91015625 1 97 72 137 170 73 75 139 165 51 14 104 254 254 254 0.001 98 124 158 14 35 27 135 140 177 52 6 145 106 216 254 0.07072165202819503 50 87 121 107 54 153 134 130 40 133 154 89 255 255 255 1 0 92 24 133 56 68 6 18 180 110 71 80 0 26 1 0.91015625 48 93 89 38 109 133 58 134 142 136 127 48 43 3 27 0.009309745934040548 70 135 34 133 103 10 75 161 2 38 15 24 7 233 245 0.9990320213723275 152 135 113 32 180 56 54 162 157 110 108 130 254 254 254 0.001 108 167 32 114 59 96 162 75 3 34 95 142 255 255 255 0.99609375 137 119 63 9 96 13 29 34 172 98 151 34 237 64 90 0.9416174642896964 63 115 124 118 132 54 79 85 125 36 119 14 254 254 254 0.001 135 163 119 31 119 140 104 96 108 118 109 130 255 255 255 0.74609375 85 96 36 30 54 59 4 23 37 179 3 26 0 98 189 0.5576732457663881 161 43 136 101 65 146 153 133 112 35 142 39 255 255 255 1 121 56 32 74 25 160 0 84 118 49 171 176 255 255 255 0.6171875 42 89 61 26 149 82 36 95 97 124 131 2 255 255 255 0.64453125 82 180 95 178 24 116 131 174 105 79 171 42 255 255 254 0.671875 74 80 62 92 99 88 162 91 129 118 109 74 254 254 254 0.001 116 112 41 4 11 140 172 110 45 176 77 156 201 7 31 0.7631294290622577 96 22 102 82 69 28 76 103 73 69 103 58 255 255 255 0.9992843606686401 142 143 180 52 13 100 77 66 130 78 180 161 220 39 64 0.83203125 119 28 52 103 97 125 127 17 83 12 118 82 255 255 255 1 150 120 98 77 151 122 159 48 74 84 33 21 113 190 221 0.0035521448448603277 122 4 92 25 126 158 12 101 135 49 46 12 254 254 254 0.001 159 148 86 115 90 33 150 34 63 8 105 99 0 0 0 0.001 115 76 38 141 158 175 83 61 145 48 1 150 0 0 0 0.001 143 151 101 7 96 145 89 141 171 18 154 109