Skip to main content


Maria Xia built Evo-Pearl in order to put genetic algorithms to the test of painting a picture. Inspired by Roger Alsing's "Evo-Lisa," which uses a modified genetic algorithm (or hill-climbing algorithm) to evolve a set of polygons (max 50) to resemble the Mona Lisa, "Evo-pearl" translates the idea to Javascript, and takes Vermeer's "The Girl with the Pearl Earring" as its muse.

Using Paper.js to draw and animate on HTML Canvas, Evo-Pearl animates the evolution of successive generations of "solutions," (in this case, groups of polygons) as it strives to resemble the source image. Each new generation modifies polygons and runs a pixel-by-pixel comparison between the rasterized vector drawing and the source.

Project Members: Maria Xia

Find the program that fits your life.

Learn about our coding, cybersecurity, and data analytics bootcamps offered on full-time and part-time schedules.