Don Havey

Sustainably harvested information

Archive for the diagram tag

Workrose  


In environmental planning, there’s something called a windrose which displays the intensity and frequency of the wind at a particular location, in relation to the cardinal points.

I decided the other day (after once again finding myself explaining what my workload this year has been like) to create a “workrose” that displayed my workload over a specified time period.

I built this thing pretty quickly in Processing. It loads an XML file that contains all of the projects that I’ve worked on this year and dates/events/milestones for each. The data is arranged in radial fashion, beginning with 365 days ago (located at 12:01 on the clock), and progressing clockwise to the current date (at 12:00).

I think it gives a nice overview of how projects are progressing. In addition to windroses, inspiration came from electron diagrams, with each project’s radius determined by its phase. Thus, as a project moves from concept to completion, you’ll see that it jumps from an inner position to an outer one. The specific phases are defined as follows:

  1. Concept, proposal
  2. Design development
  3. Execution, fabrication
  4. Revisions
  5. Maintenance

When a project is completed or canceled, it gets a green or red dot, respectively.

So you can see that the first part of my year wasn’t bad, then things became periodically crazy, and finally reached a pretty consistent level, which (fingers crossed) show no signs of stopping… there’s a lot of work going on and a lot of work on hold as well (the dotted lines). Most of my canceled projects die in the concept phase… usually meaning that a proposal was rejected.

Right now, most of my work is web-based (or at least digital), but I can imagine this type of diagram working for all types of creative processes. See ya.

** UPDATE: I put the Processing version of this up on my newly redesigned portfolio. **

The article has

no responses yet

Written by Don

November 19th, 2008 at 3:25 pm

Categories: Processing

Tags: , , , ,

Voronoi plateaus  

Well isn’t today just the most amazing day of self-motivation ever. This is project #3 that I’ve uploaded. It must be this new Vimeo account… I’m addicted to sharing video now. Here’s the video clip: Voronoi plateau from Don Havey on Vimeo.

This quick sketch used my Voronoi diagram class to create a landscape of plateau-like structures derived from an image. The image is “chiseled” into a Voronoi diagram, then extruded according to each cell’s brightness. The diagramming process is interesting, the result is… meh. It makes high-intensity images a little more intense… but that’s about it.

On a related note, I discovered that when overlaying a number of iterations of Voronoi-diagrammed images in Photoshop with an exclusion filter, the results approach the original image in terms of resolution. Here’s an example:

Notice that the red image is washed out a bit, but is much more resolved than the others… interesting.

Anyways, here’s the source code (get your own images this time) and a demo. Click to give the applet focus, then use the arrow keys to navigate once the diagram is finished. Enjoy.

The article has

2 responses

Written by Don

November 2nd, 2008 at 2:46 pm

Tutorial #7: Voronoi diagrams  

Voronoi previewSunday is looking a little overcast, a little gloomy, and a lot like a good day to tackle a complicated tutorial: Voronoi diagrams.

I’m sure you’ve seen them before. Given a set of points, a Voronoi diagram defines a series of cells surrounding each point. Each cell contains all points that are closer to its defining point than to any other point in the set. Subsequently, the “borders” of the cells are equidistant between the defining points of adjacent cells. I’ll give you a diagram later.

I haven’t used my Voronoi class in an exciting applet yet, but it has plenty of uses… mostly functional, some aesthetic. Golan Levin did a series of portraits using Voronoi diagrams. More commonly, they’re used in mapping applications.

But first, the moment you’ve all been waiting for: The final result

And how we get there: Voronoi classes

More introduction

Say you have a map of your city, and on it you have located a set of points representing every fast food restaurant. Creating a Voronoi diagram from these points would enable you (on your walk through the city) to know which restaurant you’re closest to at any given time. Of course, an application that simple could be solved more efficiently via other methods, but let’s raise the stakes a bit. What if you want to know the percentage of your walk that will be closest to one particular McDonalds. Suddenly, without a Voronoi diagram, this is tricky. With a Voronoi diagram, however, it’s a simple matter of intersecting the line that represents your walk with the cell that surrounds that particular restaurant.

Voronoi diagrams can also be used to make maps, not just analyze them. Say you have a set of points that represent air quality sample locations. To quickly generalize the sample points into a local map… bam! Voronoi diagram!

There are other more abstract information processing uses for the diagrams as well, but I’m not going to get into them here.

A few more notes

  • The most efficient way to create a Voronoi diagram is via Fortune’s sweepline method, which reminds me of how police departments use lines of people to do a walking search of an open area. We’re not going to use that method here. The math is less intuitive.
  • The dual graph of the Voronoi diagram for a set of points is called a Delaunay triangulation. It’s a pretty great way of generating a mesh from a set of points, because it allows for an efficient non-uniform distribution of detail.
  • All Voronoi cells are convex hulls, assuming that the boundary we are working within is a convex hull. This will be important.

Still alive?

Read more…

The article has

3 responses

Written by Don

May 4th, 2008 at 11:23 pm