My Blog: projects, sketches, works in progress, thoughts, and inspiration.

Tagged: opengl

I cracked open the old Processing Particle System again and tried something a little bit different.

Beginning with particles moving through a Perlin Flow Field I moved them into 3d. Since my particle system is built on the PVector class, adding the third dimension was a simple matter of adding a third parameter to every call to a new PVector and adding either the P3D or OpenGL (used for all the images here) rendering engine. An extra force pushes the particles up through space an array stores the previous locations for each particle. As particles die an instance of another object is created, exclusively for storing and rendering these paths.

Another addition causes the growing strands to bud. The budded particles inherit the properties from the parent. Changing the forces between particles, the branching rate, and the environmental properties creates many different structures.

Processing Particle Generated Tree

Processing Particle Generated Tree

As the script runs, a cloud of particles drifts up through space leaving behind a colorful twisted shrubbery. Using the mouse and keyboard the camera can be moved around the structure while it generates itself.

Read On »

Read On (Post Continues) »

perlin noise flow field particle system 3151

Perlin noise is a pseudo-random gradient texture, developed by Ken Perlin beginning with his work on the 1982 movie Tron. It continues to be a great tool to create textures and dynamic elements. The function generates a continuous string of values in any number of dimensions. Although it was initially developed to build textures it can be very useful for many other things such as particle motion. Noise is generated by a series oscillations over a variety of frequencies, similar to an audio signal.

Processing supports Perlin noise in up to three dimensions and can be implemented by calling the noise function with the parameters for the coordinate. I’ve been playing with using Three dimensional noise to create an animated force field or flow field in which particles move and thought I’d build a little tutorial to demonstrate some useful applications.

Read On »

Read On (Post Continues) »

This is the same script as my last video. Each particle on the sphere has a curve drawn to all nearby particles with an extra point in the middle scaled toward the center. This creates a spike at each point. Again the height is determined by the density of particles in a particular area on the sphere. The script uses the OpenGL 3d environment and the video library to capture the rendering. The OpenGL library has some issues working with the video library but renders many layers of transparent objects better.

Read On »

Read On (Post Continues) »

This Processing script generates a randomized particle system over a sphere. I’ve been playing around with it for a few days and, although the script has gotten a little messy, I’ve come up with a few interesting things. Each particle is generated from two random rotations and a set radius and contains a second point based on another radius. Initially I was using these points to create curves radiating from each particle, but got a little distracted. In this video the second radius of each point is dynamically calculated based on the density of particles it’s proximity. Lines are drawn between nearby points to create the web effect.

Post Page »

A variation on a script I’ve been working with to generate a 3d visualization of an audio spectrum. The color and position of the first row of cubes is based on spectrum values and then passed down the array with a decay factor. Created with Processing using the OpenGL library to create the 3d environment and ESS to gather sound data.

Another variation renders a 3d grid rather than an array of cubes.

Post Page »

This Processing application uses the audio spectrum values to generate a 3d visualization. The first row of the 2d array gets it’s values from the audio input and all subsequent rows take the previous one’s each frame, multiplied by a decay factor. the result is this undulation 3d grid. The script uses the OpenGL library to handle the 3d environment and the ESS sound library to get the audio spectrum.

Post Page »

Videos

11-02-08

Tagged: , , ,

I’m working to create a section of my site for interactive applets, but in the meantime i have also gotten a vimeo account to post videos of what I’m working on, especially my work with processing. There’s not much there yet, but I’ll be putting things up as i go.

Read On »

Read On (Post Continues) »