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

line wave

Here’s another rendering of my line wave script iterated quite a few times. In this rendering the image is blurred before each new set of lines and also inverted to create complimentary colors. There are two desktop wallpapers one of the pictured rendering and a similar one in light blue. Click the thumbnail on the left to download a zip file containing fullscreen and widescreen versions of the wallpaper. They might be a little busy for some, but I like them. What do you think?

Post Page »

arduino led display

My processing work in my blog as slowed to a trickle recently. This is due to a couple of large projects which I can’t wait to reveal. One is a fun web project and the other a flash application. I’ve also been playing with my fancy new toy here and am beginning to make some progress. Along with the Arduino board I’m also using a prototyping shield from Adafruit. It creates a nice little workspace with a breadboard and some extra power sources and grounds. It also contains two led’s, one of which I wired to digital pin 0 on the underside of the board. This just keeps the light on (as long as I’m not using the pin for something else) when the board has power, and makes it blink when data is being transmitted. The shield covers up the power and transmission led’s on the Arduino itself.

In the photo above I have an led display I took out of something else and, for the sake of learning, programmed. Turning the potentiometer controls the display. Nothing thrilling, but it’s good practice. I’ve also been trying to understand serial communication so I can build devices which send and receive complex data.

Anyway, there’s a quick update, and here is my Arduino code in case it might be useful to someone. It’s not put together very well. In particular there should be a 2d array containing all the numerals and their corresponding led’s. But nonetheless.

Read On »

Read On (Post Continues) »

tubes 14139

Another little experiment with my particle system. Each particle is rendered very large with a slightly darker stroke than fill, and each frame is drawn over the previous one. This along with the color shifts creates some nice pseudo three dimensional effects. The effect is especially interesting when particles overlap as they move.

Read On »

Read On (Post Continues) »

arduino circuit board

Hooray! I got my first Arduino. It seems like a necessary step on the long path to becoming a true power-nerd.

“So what is this thing that gets nerds so excited?” you might be wondering. Well, chances are you are one if your reading my blog, but I will explain for the less fortunate. An Arduino is an open source circuit board created by a sister project of Processing. The board has a small micro controller (computer) and a number of input/output pins. The chip can be programmed with a language very similar to processing, and any sort of hardware can be wired to the board. The board connects to a computer via usb for programming and power, and can also be powered from a more portable source.

I’ve been programming for a little while now in Processing and the Arduino was easy to grasp after a quick read through the function reference. After the chip has been programmed it can also interact with Processing applications through a usb port.

There will certainly be a learning period. I havn’t done much circuitry before, but I have a few projects in mind and hopefully soon will have some things to show. I am hoping this will be a means for me to extend the work I’ve been doing into the physical world, creating new interfaces or autonomous works.

Post Page »

processing cell cluster circle orange

I built this script which creates circles budding off of circles. What better to do with it than put it in a circle? I could give some lofty symbolism for circles, and some if it might even be half true, but to be frank I just like them. They look nice. Not to mention it’s much too late to be coding anyway (or blogging).

Read On »

Read On (Post Continues) »

processing_perlin_ribbons_2

Although I am happy with how my initial Ribbons script turned out it still wasn’t exactly what I was trying to create. After playing with Perlin Noise based forces in my straightforward particle system and creating outstanding fluid motion, I thought I might go back to the Ribbons and add a Flow Field to that as well. The result is much more dynamic than the original and quite graceful.

And a little technical stuff. The ribbon is just a strategically rendered particle system. I created a particle system class with particles and springs. As new particles are added (on mouse press) new springs are also created connecting each particle to the one before. Each particle repels all nearby particles and springs pull them together. The result is a string of connected particles which would, if the forces extended infinitely, eventually straighten itself out into a line. To render the structure all particles and springs are hidden and a curve is drawn by wrapping the rendering loop in beginShape(); and endShape(); with a curve vertex for each.

In the previous version the wobble was created by a slight random force applied to each point and a wind vector of the particle system. Because of the varied weights of the particles and spring lengths the wind wobbled the structure more convincingly. In this version the same Perlin Flow Field I’ve been using in many of my recent projects pushes the ribbon around much more dynamically. Different parts of the string are pulled in different directions making it writhe back and forth. The color is an attribute of the particle system and ‘randomly’ shifts over time.

processing_perlin_ribbons_1

Read On »

Read On (Post Continues) »

In addition to interparticle forces, all the objects in this script are effected by a Perlin Flow Field. Two dimensional Perlin noise evolves through time and sits behind the particle system as a grid of forces. These forces are applied to each particle based on it’s exact coordinates each frame, before any other functions. The system creates some very elegant effects as smaller (lighter) particles get sorted out and complex force structures create swirling spirals and channels of flowing particles.

Post Page »

Adding lines connecting nearby points in a particle system creates an interesting effect, but it does get a little messy. I thought it would be interesting if the lines only connected the nearest particles to each, which would vary from point to point, and if the lines didn’t overlap or intersect. The result would be a nice mesh with varied density. Of course after putting the script together I turned it into a drawing machine. I’ll post more on exactly how this script works sometime soon.

In this Drawing Machine a series of particles spawned when the mouse is pressed move through a morphing Perlin noise flow field. They also slightly repel each other. The netting algorithm is applied to the particles to create the dark lines and their colors slowly shift. Many different factors effect the size and transparency of the points and lines in order to keep everything moving smoothly. Lines fade out as they get longer and fade out with the points they join.

spinal_network_drawing_machine_3

spinal_network_drawing_machine_2

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) »