Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Genetic reproduction and evolution of aesthetically pleasing fractals.
C++ C Objective-C Other
branch: master
Failed to load latest commit information.
libs/AntTweakBar Add ternary nodes
.gitignore Updated .gitignore
Makefile Replace dirty shared library linkage with proper Makefile components
Queue.h Switched to mainfractal/safequeue setup
README.md README now ten times cooler and more accurate
bb.h End of Semester commit. This would make more sense if the bitbucket r…
color.cpp End of Semester commit. This would make more sense if the bitbucket r…
common.h create filter image when saving
expression.cpp Add boolean ops
expression.h Add boolean ops
expressionParser.cpp Add boolean ops
expressionParser.h Add ternary nodes
fbo.cpp add alpha_save bool in fbo.cpp
fbo.h Add precision point and alpha control, fit values to bar, update only…
fractal.cpp create filter image when saving
fractal.h Node cleanup, add print functions
fractalEditor.cpp Switched to mainfractal/safequeue setup
fractalEditor.h BG color control, reformatted tweakbar, limit numerical values
main.cpp merge resolution
mainWindow.cpp create filter image when saving
mainWindow.h Async with loader; image saving from cmd line broken
rng.h End of Semester commit. This would make more sense if the bitbucket r…
tw.h Switched to mainfractal/safequeue setup
types.h End of Semester commit. This would make more sense if the bitbucket r…
vec.h End of Semester commit. This would make more sense if the bitbucket r…

README.md

Genetic Fractals

A research tool studying the generation and evolution of aesthetically-pleasing fractals. It uses crowd-sourced testing along with observational patterns in the mathematical structure of attractor fractals to find optimal constants and equations.

This program is meant to be used in conjunction with Tyler Yates' Java Evolutionary GUI.

Genetic Fractals

Dependencies

    sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev libglew-dev libpng-dev

Building

    run 'make' in root folder

If you have issues linking the AntTweakBar library on compilation, follow these steps:

    1. Manually run 'make' in libs/AntTweakBar/src/
    2. Add the libs/AntTweakBar/lib folder to your LD_LIBRARY_PATH

Usage

Rendering Mode

To open the single-fractal viewer with a randomized Clifford Attractor:

    ./aesthetics

You can also provide optional infix equation representations with vars {x,y,z}, consts {a,b,c,d}.

    ./aesthetics [ -p PRECISION POINTS] [EXPR_X EXPR_Y EXPR_Z EXPR_R EXPR_G EXPR_B]
    ./aesthetics -p 100000 "sin(-1.4 * y) + cos(-1.4 * x)" "sin(1.6 * x) + 0.7 * cos(1.6 * y)" "x" "x" "y" "z"

Controls:

  • f - Toggle Fullscreen
  • s - Save image to test.ppm

Image Save Mode

In addition to rendering mode, you can call the program to draw and save fractals offscreen with optional parameters:

    ./aesthetics -save [ -p PRECISION_POINTS ] [ -s WIDTH HEIGHT ] IMG_NAME EXPR_X EXPR_Y EXPR_Z EXPR_R EXPR_G EXPR_B

Kevin Yeh and Tyler Yates © 2013 (UT Freshman Research Initiative: Computational Intelligence)

Something went wrong with that request. Please try again.