Monday, July 18, 2011



Some experiments using clustering on meshes to create semi-regular planar tilings of surfaces. I use a variant of a technique called Variational Shape Approximation (VSA), from one of the most cited papers published by the Caltech Applied Geometry group. The algorithm is simple, and moreover has the nice property that it's easy to retrofit with new error functions. The so-called L2,1 metric that they use in the paper, which is based on similarity of normals, resulted in too many long, skinny regions, and gave tilings which differed considerably from the clusters. After a bit of experimentation I came up with a cost function which favours compact regions, along with similarity in normals, and it works really well, resulting in planar regions which are very close indeed to the clusters.

It works well on a big range in numbers of clusters. The above example uses 300; this one uses 50 (the first frame is mostly blank due to an ffmpeg glitch):

Tuesday, July 12, 2011

The link to the jskFx code broke a while ago because I changed hosting. For those who are interested, you can download it here.

You can use it to do stuff like this:



I've been dragging my heels in fixing the link since the code, while mostly not bad, is frequently kind of crap. I'm very interested in dataflow programming, and the implementation in jskFx is reasonably solid and flexible, but it was written in the spirit of doing the simplest thing that could possibly work (which actually turned out to work pretty well), and I fancy that I could do a lot better second time round.

Also, I've been meaning to switch the license from GPL to something less restrictive -- LGPL, or BSD or some such. The code in the download link above is still GPL, but stay tuned, something friendlier is coming soon.

Thursday, July 07, 2011

Fast Image Cloning Library





I've written a fast image cloning library which you can download here. MIT license. It's loosely based on this paper. It differs from it in a couple interesting ways which you can read about in the readme file.

When I saw image cloning for the first time, the only explanation I could come up with was that it must be magic. I subsequently learned that there are a situations where it works beautifully, and many other situations where it falls over. Nonetheless, when it works, it's lovely. My fond hope is that someone will use it for some cool interactive application.

A couple things I didn't mention in the video: 1) transformations can be any combination of scaling, translation and rotation; 2) it's only Linux and Mac so far (gts is the only potential problem for Windows). If anyone ever gets it going on Windows, I'd love to hear from you.


Drop me a line if you find it useful or have questions. kevin dot atkinson at gmail dot com.

[Update] Or how about this: if you like the library, send me a Google+ invite!

[Update 2] Google+ invite sorted! Thanks Nick!

Tuesday, July 05, 2011

Paper Beats Rock, But Rock Beats Titanium




John Ochsendorf, a civil engineering professor at MIT and masonry enthusiast has really made me reconsider Frank Gehry. His buildings sometimes seem like monstrous frivolities to me now, like giant fabergé eggs, or like spending a hundred million dollars on cotton candy.

And as structures, they're frequently junk: leaky, high-maintenance, outrageously expensive. They defy gravity in a breath-taking way, but at enormous cost. Beneath the swooping, graceful forms is the brute force of massive quantities of structural steel. Structures at that scale don't want to do those things -- which is why his buildings are spectacles, I suppose. With enough structural steel, you can do just about anything, but that's not necessarily admirable.

And then there's the fact that he seems to be edging into self-parody, with buildings like this.

What Ochsendorf and Peter Rich Architects did with the Mapungubwe Interpretive Center -- turning the dirt under their feet into those gorgeous, vaulting forms, and with vanishingly small energy costs -- that's elegance. That's magic.

Friday, July 01, 2011



Found this while going through an old hard drive -- some art for a flyer for a show I did 3 years ago. Isocontours of sparse convolution noise.