Evolution generative art system repositories - original haXe version

I've moved further development of the project to Clevolution, in Clojure.

"Finding Clojure" slide presentation

The links below refer to the original haXe version.


See the video

See the slides

Download Evolution.swf

EvolutionLib contains the Lisp parser and interpreter and the Lisp environment that supports the Evolution system.

REPL is a simple simulator that exercises EvolutionLib's Lisp parser and interpreter. It installs several Lisp functions (lambdas) as symbol values into the environment, then presents several expressions that use these functions to the Lisp system for evaluation.

LispGraph passes an S-expression through the Lisp parser and draws the resulting syntax tree on the screeen.

Evolution is the generative system itself. It generates a random S-expression using the image-processing primitives provided in EvolutionLib; evaluates the expression using the Lisp system; displays the resulting image on the screen along with the S-expression that generated it; and (C++ target only so far) saves the image as a PNG file with the generator expression embedded in the header.

The plan is to grow Evolution into an interactive system similar to that described in Artificial Evolution for Computer Graphics. This will require the ability to direct the random expression generator by interactively setting the desired tree depth and perhaps a desired subset of the primitives, and to choose file names and location for saving. There must also be a desktop interface allowing the user to view saved images and to select images for mutation or breeding (which need to be implemented) or for rerunning an S-expression at higher resolution.

In addition, it is desired to expand the set of image-processing primitives to include color operations and vector graphics.