Our Tools

"We become what we behold. We shape our tools and thereafter our tools shape us." - Marshall McLuhan

Tuesday, April 24, 2012

Generative Art with Shapes

For the final assignment, I decided to do a program in Processing that would have different shapes floating around and they would interact with each other.  My initial idea was to have the different shapes have some human characteristics such as creating offspring if the shapes were of the same form.  However, I was not able to bring this idea to life as I had hoped.  I wrote the program, but for some odd reason it did not behave the way I wanted it to.  After several hours of debugging the code, I decided to go a different route with the project and decided to have it focus in the generative art the shapes can produce.  Therefore, I decided to show in the program the different locations the shapes have been in.  In one of the programs, called BoundaryProject.exe, I allowed the different locations to fade, thus giving the illusion that it has been a lot of time since this object has gone to this location just how one's footprint fades over time if it is not stepped over again.  In this way, I was still able to give human characteristics to the objects even though it was not a human characteristic I had initially planned.  I also allowed the user to interact with the program a little.  If the user clicked anywhere in the program screen, it would create another shape in that location.  However, there is a limit to the number of shapes one can create.  In my case, the maximum is 40 objects, but you will see that after having a certain number of objects created, the objects will begin to lag.  The only problem this program had, was that the art the shapes were producing was very dull.  So I edited the program so that one could still see the locations the shape has been to, but this time they did not fade.  Thus, giving a more vibrant image.  I called this program BoundaryProjectVibrant.exe.  Note that it has the same functionality as BoundaryProjet.exe except the colors are seen better.  For Assignment 4, I also included the program that I had created that allowed shapes to create offspring when  they touched each other so that you can see what problem I was encountering.  The program is called AddingClone.exe.  A characteristic the shapes in all of these programs share is that when the shapes touch, they bounce against each other.  The following links are to the different programs and they were exported so that the programs can run in different operating systems.  Included in the folders is the source code to the different programs.  The code is not the neatest code, but the main focus of the assignment is the end product which are the executable programs.  I have included the source code mainly for educational purposes.

AddingClone

BoundaryProject

BoundaryProjectVibrant

Sources:

Fry, Ben, and Casey Reas. "Processing.org." Processing. http://processing.org/ (accessed April 23, 2012).


Berchek, Chad. "Elastic Collisions Using Vectors instead of Trigonometry." Vobarian Software Home. http://www.vobarian.com/collisions/ (accessed April 23, 2012)

Greenberg, Ira. Processing: Creative Coding and Computational Art. Berkeley, California: Apress, 2007.

Shiffman, Daniel. Learning Processing. Burlington, MA: Morgan Kaufmann Publishers, 2008.








No comments:

Post a Comment