Stipple Cam

30 Nov

I’ve been playing with stipple rendering, borrowing some ideas from Adrian Secord. Here’s a still photo I processed with the technique, which resembles stipple portraiture.

I noticed, when reading Adrian’s very cool paper, that the Centroidal Voronoi diagrams he describes produce essentially the same pattern as the repulsion field algorithm I created a few years ago for my Coverpop website. While the patterns are essentially identical (producing a kind of blue noise), my algorithm is more efficient since it doesn’t need to do k-means clustering on every pixel.

My algorithm is a bit more like the avoidance part of Craig Reynold’s flocking algorithm — it just operates on the centroids, which repel each other. I thought it might be suitable for using with a live webcam feed.

This is my first test with a webcam. The video is running at a faster frame rate than I’m actually able to achieve on my laptop, but I think I should be able to crank it up a bit with some work.

Here’s a second test, this time using bigger pixels, and scissors.

Download the sketch

Tags: , , ,

5 Responses to “Stipple Cam”

  1. Bill Giles December 1, 2011 at 4:12 am #

    No download availale?

    • jbum December 1, 2011 at 10:25 am #

      Thanks for catching that. Fixed.

  2. Bill Giles December 1, 2011 at 12:59 pm #

    no problem. thanks for the code.
    i’ll repost any updated code to the processing forum.

    cheers.

  3. Justin January 21, 2012 at 7:34 am #

    Really like the rendering effect, especially the higher res webcam video.

  4. Paul Murray May 2, 2012 at 11:05 pm #

    I’d like to see this stipple cam with the added rule that the stipples tend to move to the right (and are replaced on the left as they move off the screen. Or how about: if a stipple falls off the screen, then a new one is created in the centre of the image to replace it.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>