A new Voronoi-based computer print by Paul Hertz, Surprised Party. Paul suggests that this print registers his giddy mood upon being welcomed to a surprise birthday party, a plot hatched by his wife, sister, and son and very successfully executed. The party was surprised.
The image was generated with multiple passes of Michael Balzer’s code for Capacity-Constrained Voronoi Tesselations. Basically, the CCVT algorithm generates random dot patterns where the dots are evenly distributed. The CCVT algorithm has the particularity of greatly reducing geometric artifacts, such as hexagonal grids, that may appear in other generation methods. The artifacts can easily be detected just by looking, from which one might deduce that the human visual system is very good at detecting order within randomness.
Like a perfect gray tone, CCVT-generated dot patterns seem to have a aesthetic appeal that has a statistical correlate. Using them to produce art seems rather natural, in the tradition of “all-over” abstract painting. Their lack of order has the somewhat paradoxical effect of enabling one to see all sorts of orders–trails and swirls of dots where the fundamental rules are, roughly, for dots to keep their distance and avoid regimentation.
The Fibonacci Series and some shuffling were instrumental in selecting and assigning the colors. I leave it to the curious to decipher the numerical game. It should not be difficult. Like a good friend, you can count on the Fibonacci series.
/** * Shuffles an array of integers into random order * @param intArray an array of ints */ public void shuffle(int[] intArray) { for (int lastPlace = intArray.length - 1; lastPlace > 0; lastPlace--) { // Choose a random location from 0..lastPlace int randLoc = (int)( randGenerator().nextInt(lastPlace + 1) ); // Swap items in locations randLoc and lastPlace int temp = intArray[randLoc]; intArray[randLoc] = intArray[lastPlace]; intArray[lastPlace] = temp; } }
0 Responses to “Surprised Party”