public
Description: Using evolution to make computers draw.
Homepage:
Clone URL: git://github.com/ynd/genetic-drawing.git
name age message
file .gitignore Fri Dec 12 14:43:16 -0800 2008 Initial commit. [ynd]
file LICENSE Tue Jan 06 12:25:43 -0800 2009 Improved README, added zips for source code and... [ynd]
file README.markdown Wed Jan 07 14:47:04 -0800 2009 Modified license. [ynd]
file TODO Sun Dec 21 18:49:18 -0800 2008 Rewrite to use GA instead of GP. [ynd]
file build.xml Sat Dec 20 14:53:17 -0800 2008 Added profiler. Various optimizations for the f... [ynd]
directory dist/ Mon Dec 22 15:55:10 -0800 2008 Fixed null pointer exception when runnning out ... [ynd]
file genetic_drawing-0.1.zip Mon Jan 05 17:16:57 -0800 2009 Added zip for release 0.1 [ynd]
file genetic_drawing-src-0.1.zip Wed Jan 07 14:50:40 -0800 2009 Added zip for source. [ynd]
directory lib/ Wed Dec 17 14:04:05 -0800 2008 Added a chart to the GUI. [ynd]
file manifest.mf Fri Dec 12 14:43:16 -0800 2008 Initial commit. [ynd]
directory media/ Tue Jan 06 12:25:43 -0800 2009 Improved README, added zips for source code and... [ynd]
directory nbproject/ Tue Jan 06 12:25:43 -0800 2009 Improved README, added zips for source code and... [ynd]
directory src/ Wed Jan 07 14:47:04 -0800 2009 Modified license. [ynd]
README.markdown

About

GeneticLeonardo is a program that "evolves" drawings. The chromosomes encode the position, shape and color of 50 polygons. The fittest chromosomes are those who produce images most like a given image.

The goal is to approximate any image with only 50 polygons.

Here's how it works:

  1. Generate a random population of chromosomes

  2. Produce images by interpreting these chromosomes

  3. Select the chromosomes that produce the best images

  4. Mate the best chromosomes by exchanging information

  5. Mutate the new chromosomes slightly

  6. Kill the worst ranked chromosomes

  7. Repeat from step 2 until satisfied

Download

An executable version can be downloaded from:

http://github.com/ynd/genetic-drawing/raw/master/genetic_drawing-0.1.zip

Contributing

You are more than welcome to contribute to this project! There is room for a lot of improvement.

Source code

The code is released as Open Source under the BSD license.

A zip of the source code is available at:

http://github.com/ynd/genetic-drawing/raw/master/genetic_drawing-src-0.1.zip

A zip of an earlier version which uses Genetic Programming is available too:

http://github.com/ynd/genetic-drawing/raw/gp/genetic_drawing-gp-src-0.1.zip

Note that the GP version doesn't converge very well yet.

Source guide

The most important classes are:

Screenshot

Cool hu?