Perlin Noise Visualization

First off, I played around with the beat frequency-based art and animated it. Now each sinusoid has a phase that changes between 0 and TWO_PI, and then resets back to zero. This creates the illusion of the pattern rotating and expanding at the same time. Check it out: Radial Beating (Animated)

It’s a bit computationally intensive, so I should think of a better way to update the pixel information. It starts to slow down substantially at around 400 x 400 pixels, and I’d like to have it at 512 x 512 if possible. If you have any thoughts on a speedier algorithm, let me know!

I’ve been on a bit of a Processing spree lately. This week I continued my previous adventure in noise by exploring two-dimensional noise maps. The short version of what I did was turn every x,y point in the plane into a single perlin noise value, and then feed that value into another function that does something interesting with it.

The first thing I did was make that perlin noise value proportional to the intensity of the color in each pixel. That was pretty boring, so I made one color proportional to the noise, and the other color inversely proportional to the noise (so one color dominates for high values of noise, and another color dominates for low values of noise). That resulted in an intensity-based visualizer:

Intensity-Based Perlin Noise Visualizer
Intensity (Perlin Visualzation)

The next visualization I tried was to divide up the grid into 5×5 segments, and each segment was filled with a box proportional to the magnitude of the noise. Bigger noise, bigger box; smaller noise, smaller box. In addition, the shade of purple varies with the noise.

Size-Based Perlin Noise Visualizer
Size (Perlin Visualization)

The last one was an attempt to create something a bit more visually complex and appealing than the previous attempts. I take each point in x,y space and make it the center of a circle. The value of the noise gets mapped between zero and two pi, and a line is drawn between the center of the circle and a point on its circumference that is at the aforementioned angle. This causes each line to rotate depending on the value of the perlin noise at each point. Sound a bit confusing? Perhaps an example will help:

Angle-Based Perlin Noise Visualizer
Angles (Perlin VIsualization)

There are a couple of different directions that I’m planning on taking with this. The first is to animate it — I think that some of these visualizations would look quite pleasing if I animated them to shift in a subtle manner. The other potential direction is to use them as photo filters, as I did with the differential/proportional filters. I think the ‘blocking’ algorithm could be used to quite an effect on photographs, to distort the original image and create a new work from it. The rotational algorithm could also have such an effect. Hopefully I can draft up some new photo filters this weekend and test them out! There is definitely more to come.


~ by asymptoticdesign on 26 January, 2012.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: