Real-Time Halftoning with Perfect Circles

How to transform an image in real-time into an array of perfect circles (or other geometrical shapes) with their diameters proportional to the local image brightness below the circle?

This is classically known as halftoning and one of the most ancient digital image manipulation methods, still used today in printing business.

I managed to do this using Quartz Composer, here is an example video. In this video, the resolution i.e. the number of circles used, changes over time. Video starts with black and white circles, continues with circles colored with original pixel values and finishes with random colored circles. It is all done in real time without any noticeable delay.


Perfect for VJing purposes. When real-timing is not necessary the content of the video can be a political figure for example...

Halftoning AngelaMerkel from sonat on Vimeo.

The concept can be generalized to other politicians or other half-toning shapes...

Halftoning Politicians from sonat on Vimeo.

Halftoning AngelaMerkel Hearts from sonat on Vimeo.

Cross modal integration with auditory modality could be implemented by adding a noise to the diameter of the circles that is proportional to the amplitude of the instantaneous sound signal.. 

Programming a Weather Station with Quartz Composer

This is a weather station clock programmed in Quartz Composer. There are 6 different parameters that are taken into consideration. The temperature, air pressure, rain drop, humidity, wind speed and direction. Weather information is downloaded from Osnabrueck University Physics Department's web page and an XML parser extracts different parameters. These parameters determine then the background color (reddish for warm and bluesh for cold), diameter of the turning rainbow wheel (high air pressure), global blurriness (humidity), speed of the wheel (average wind speed). Two examples illustrates how the clock behaves under different weather conditions:

Hello Quartz Composer

One of the first things I have programmed with Quartz Composer was this rainbow clock. I currently use this as a screen saver.

Clock from sonat on Vimeo.