Tuesday, December 9, 2014

Project 4 Final Final

FlockLA


 I am pleased with the final result. For those familiar with Los Angeles, they could make out locations such as Downtown, The Valley, and where the oceans and mountains must be.

After the last class, it was clear that I need to make my project a real time animation rather than a still print. I also changed the attraction force and flocking forces to get a more appropriate "wandering" motion from the particles, rather than orbiting.

I wanted the piece to be reminiscent of how cities look at night viewed from a plan, which informed my color choices. I also plotted the intersections themselves and scaled them by their traffic flow.


More animation progression (1st run through):





Wednesday, December 3, 2014

Project 4 Final Progress


I finally decided where I want to go with this project. After sitting in traffic for over almost an hour, I thought about ways I could visualize traffic in an artistic way. After some looking, I found traffic data for Los Angeles, a notorious location for traffic, and I was all too familiar with the traffic situation after living there for 4 years. The data contains the average number of cars passing through a random sample of intersections across LA. I want to plot the intersections according the latitude and longitude and then use the traffic flow through the intersection as the mass in order to attract the particles and have them flock to the intersections.

The most difficult step will be parsing the data, because the latitude and longitude of the intersections is not easily attainable. They are very easy to get using the Google Maps API, but the restrictions on the use of the API make it unusable for my purposes. Therefore I have to use Open Street Maps, which does not provide an easy way to get the latitude and longitude for a cross street. I am working on parsing the Open Street Maps data for a specified region of LA, so that I can get the latitude and longitude of an intersection.

For now, here is an update plotting random intersections as white dots with random attraction magnitudes.




Tuesday, November 25, 2014

Project 4 Final Progress





 The flocking simulation is now running and displaying the trails for each particle. Initially I was drawing each trail every frame because my sketch was 3D and allowed for camera movement. However, that significantly slowed down the animation. I realized that I could significantly speed up the drawing by locking the camera and only drawing the changes every draw, instead of redrawing the whole frame.

Below is an example of the flocking behavior with the trails drawn as described above.



I'm still trying to decide where I want to go with this project. Right now the flock is just following a particle moving along a 3D sinusoidal curve. I know I want the flock to be influenced by something else, like an image, and have that source be revealed by the behavior of the flock.

Thursday, November 13, 2014

Project 4 Final

Idea
Create generative art piece utilizing the swarm behavior of a flocking system as part of the aesthetic.

Goals
Have the boids "paint" an image by leaving behind a colored trail or some other type of trail technique, such as a polygon trail or bezier curve.
Develop some way to control the boids in an interesting way, such as based off an image map, or just through user interaction.

Technical
Will be coded in Processing, and built on top of the flocking system I've already created. Or I may migrate my code to webGL so it is easier to be presented anywhere.

Presentation
My project would be either projected in real time, or shown on the big HVS screen.



Inspiration:

Golan Levin
Floccugraphs



585_Golan Levin_floccugraph_1_1999

Robert Hodgin
Magnetic Structures
585_robert hodgin_Magnetic Structures_2007

Daniel Shiffman
Swarm
 http://www.multimedialab.be/blog/wp-content/uploads/2007/03/swarm3_482.jpg

Thursday, November 6, 2014

Project 3 Chaos and Complexity: Progress

After presenting my last work in progress it was clear that merely looking "chaotic" was not enough and I needed to embed a true chaotic system into my simulator.

I found the interactivity of my piece very rewarding and did not want to give that up. However, when it was not in use, my piece was quite uninteresting and would not entice viewers to actually interact with it. So I decided to embed a chaotic system to drive the cursor position when there are no users interacting, and as soon as someone starts interacting with the mouse, it uses their input to drive the simulation.

For the chaotic system, I chose to implement a double pendulum especially since it has similar forms to what my piece was already generating and I thought the movement would go well together. I use the end of the double pendulum to drive the particles and I only display the endpoint of the pendulum, so it is not very visible that my simulation is using a double pendulum. And I have not yet decided if that is desirable, or if I want to make the double pendulum more apparent.

Also, in order for my pendulum to be stable, I needed to implement 4th order Runge-Kutta instead of just simple Euler integration.

You can see the trail of the double pendulum as the circle in the image below.



Thursday, October 30, 2014

Project 3 Chaos and Complexity: Progress

I begun with experimenting with gravitational attraction/repulsion of the particles from the mouse cursor. After some experimenting, I was able to get some interesting behavior from my particle simulation. The movement of the particles looks "chaotic," but strictly speaking, the system itself is not really chaotic. Nevertheless, I am happy with the shapes and forms I am able to achieve and I find the simple user interaction I included to be very rewarding and fun to play with.

Below is an example of just one of the many dynamic forms my system produces interactively.



Tuesday, October 28, 2014

Project 3 Chaos and Complexity: Idea

For project 3 I am interested in creating a chaotic particle system, and I was inspired by this work by Felix Woitzel:
http://www.cake23.de/fmx/turing-fluid-particle-projection-feedback.html

I plan on creating some sort of feedback loop that affects the particles, however, I don't have an exact plan and I will first just experiment and see if I can come up with something interesting.

In order to run a simulation with a large number of particles, I will look into how to do the simulation with shaders on the GPU. In the meantime, I will implement something CPU based to see what interesting behaviors I can achieve before worrying about the number of particles.