Categories
Art Computing Generative Art Projects

How draw-something Works

The version of draw-something on tumblr is a simple model of creative drawing. It’s meant to be a minimally defensible model of art, although probably a pre-postmodern art.

The program generates some random points (between 4 and 20, as these seemed like good numbers) and joins them in the order that they are generated as a polyline.

It finds the topmost point of the polyline and positions the pen a little way above it. Then it draws around the polyline, moving forward a little each time and being careful not to get too close to or too far away from it. As the program is simulating human drawing it drifts a little in direction each time. When the outline returns to be close enough to its original point, the drawing stops. The quality of the resulting line is a product of each of these factors.

This drawing model was informed by research into human hand movement but mostly it was derived from watching myself draw. This is a difficult thing to do, as drawing isn’t a very conscious activity. Eventually I would start drawing a line, stop myself, and try to think about what I’d been doing. This

The original inspiration for draw-something was Harold Cohen’s AARON, but draw-something’s output has never resembled AARON’s as both the task that the programs attempt and the way they approach it are different.

http://draw-something-rebooted.tumblr.com

Categories
Art Computing Free Software Generative Art Projects

draw-something Rebooted

draw-something

A new old version of draw-something is now online.

You can see it (and follow it on tumblr!) here: http://draw-something-rebooted.tumblr.com/

draw-something started as a Prolog program called “Got To Start Somewhere”, which described both its algorithm and how I was feeling about art at the time. I quickly switched to Common Lisp, but once one of the earliest versions was working I created an ActionScript port to run online. This was made using a Free Software ActionScript compiler rather than Flash.

I wanted to show draw-something running for a talk Jim Andrews invited me to give, and I wanted an excercise in JavaScript, so I ported the ActionScript to node.js and to HTML5 canvas. Doing this and preparing for the talk inspired me to resurrect paintr as well.

It’s such an old version of draw-something that it has a couple of bugs that were later fixed. I fixed the most egregious one but there’s another that will crop up soon, finding it is left as an exercise for the audience. I also re-enabled the skeleton drawing code (the skeleton is the guide figure that draw-something draws around), using non-repro blue instead of the original bright red.

So welcome back draw-something online!

Categories
Art Computing Free Software Generative Art Projects

paintr Rebooted

paintr

I’ve updated paintr for the 2010s. It’s now implemented in node.js running on OpenShift and posting to tumblr.

paintr’s new address is http://paintr-rebooted.tumblr.com/ .

The images are inline svg, which displays well on the main page and in the individual article pages. If you follow the blog (please do!) the images don’t show in the previews on your dashboard. Clicking through displays the images properly.

I’m wary of using proprietary and cloud web services. In this instance the source code and generated art is available, so it could be rehosted easily.

Categories
Art Art Computing Free Culture Projects

Composition Generators Are Back

I’ve restored the composition generators. You can find them here:

http://OFFLINEZIP.wpsho/composition-generators/

You can use them online, download the code, or download PDF books containing examples of the output of each generator.

Enjoy!

 

Categories
Art Art Computing

Billy Idol’s “Cyberpunk” Promo Floppy

Billy Idols’ 1993 concept album “Cyberpunk” (see Wikipedia) was ahead of its time in its production and promotion. It’s the latter that I am interested in here. Idol gave out his email address, toured the online virtual reality communities of the day, and sent out a Macintosh floppy disk containing a multimedia introduction to the album along with the press pack.

Billy-Idol-Cyberpunk-191885

You can find copies of the press pack available for sale online. Despite being written for the obsolete Macintosh II system, the software can still be run by copying the contents of the floppy using the GNU/Linux “dd” command and then running it using the SheepShaver Macintosh emulator (using an emulated 640×480 256-colour monitor).

It looks like this:

1

2

10

9

8

7

6

3

5

4

Categories
Art Computing Culture Reviews

Cybersalon January 2013

Cybersalon

Legendary London net culture meet up Cybersalon has returned with a new home at The Arts Catalyst. The first event in the new series was appropriately retrospective, being devoted to the history of the digital design scene that has centred on Shoreditch from the 1990s to today, from self-proclaimed “Ditcherati” to government funding for “Silicon Roundabout”.

Richard Barbrook’s introduction explained the history of Cybersalon. Begun in mid-1997 by Armin Medosch it ran until the mid 2000s, getting kicked out of the ICA for getting too popular along the way. Barbrook also made the case for remembering the specific contributions that London made to cyberculture during this period. Beside the stage, old pre-iMac all-in-one Power Macintoshes displayed Antirom interactive multimedia CD-ROMs alongside brick-like mobile phones and floppy disc-based digital cameras from 1997. The scene was set for an evening of media archaeology, design criticism, and cybercultural history.

Jim Boulton’s presentation gave a history of the optimistic and fertile interaction of art, design and commerce that was London’s interactive multimedia and web design scene from the mid 90s to the mid-2000s along with its historical re-evaluation with INTERNET WEEK in 2010. Laura Jordan, despite having just lost her archive to a hard disk crash, told her history of being inspired to edit a feminist cyberculture zine in Australia after encountering a VNS Matrix poster then starting the world’s first cybercafe in London before finding success in design business and academia. Next Craig Blagg critiqued the tools and content of the design of web sites from the 90s to the state of the art. Finally Jordan chaired a discussion between Boulton and Blagg, with additional questions from the floor and from the net.

Seeing old and often long-forgotten work was nostalgic, and there was a sense of loss voiced by some of the audience. The dial-up Internet’s alterity has been squandered to build the walled gardens of social media. But the audience also reminded us that the wildness and openness of the early web is still with us in the form of Anonymous, Wikileaks, and the legacy of Aaron Swartz.

Even before this, what moved the event far beyond nostalgia was the way the history of digital design was presented critically, both in the sense of warts-and-all introspection and long overdue rediscovery and re-evaluation. Both provide an inspiring contrast to the contemporary Internet. The knowledge and awareness that Cybersalon gives us of the potential of the Internet to be different than it is can help us to start reclaiming a fun, abstract and fantastical Internet.

Categories
Art Computing Free Software Projects

merest

I bought a Wacom Inkling pen. It digitizes what you draw as you draw it on paper so you can upload it to computer later. The software that manages uploading those drawings to computer is proprietary and not available for GNU/Linux.

Forunately someone created a C++ class to parse the “WPI” files that the Inkling creates. It’s under the GPLv3 so anyone can use and build on it. I changed the code slightly to compile on platforms other than Windows, then wrapped it up in a command-line tool that outputs simple SVG. Inkscape reads the results just fine. There are also scripts to batch convert and batch copy/convert drawings from the Inkling.

The project is called “merest”. I need to scale the pixel values and retain the original drawing’s information about pressure and angle in a future version of my code. This version is perfectly usable, and has an Autotools-based build system that makes installing as simple as running ./configure && make && sudo make install , so I am releasing it.

You can get the code here: https://gitorious.org/robmyers/merest

Categories
Art Computing Art History Art Open Data Projects

Exploring Art Data 24

(This post uses new features from the R Cultural Analytics Library version 1.0.6 .)

We can divide an image into sections, analyse the R, G and B values of each of those sections and plot the results.

library(CulturalAnalytics)
library(jpeg)
library(vegan)
## http://blog.wolfram.com/2008/12/01/the-incredible-convenience-of-mathematica-image-processing/
## Load the image
imgdir<-paste(system.file(package = "CulturalAnalytics"), "images", sep = "/")
dirimgs<-paste(imgdir, dir(path = imgdir, pattern = ".jpg"), sep = "/")
img<-readJPEG(dirimgs[1])
## Divide it into sections and get a table of the median RGB values
sections<-divideImage(img, 8, 8)
## Get the median rgb values for each image
rgbs<-sapply(sections, function(img){ coords(medianRgb(imageToRgb(img))) },
USE.NAMES=FALSE)
## The list needs transposing so we have columns of r,g,b values
rgbs<-t(rgbs)
## Give the columns useful names
colnames(rgbs)<-c("r", "g", "b")
## Bubble Chart
plot(rgbs[,"r"], rgbs[,"g"], type="n", xlim=c(0,1), ylim=c(0,1),
main="Section Bubble Chart of \"Bonjour, Monsieur Corbet\"",
sub="(size is blue)", xlab="Red", ylab="Green")
images(rgbs[,"r"], rgbs[,"g"], sections, cex=rgbs[,"b"])


courbet bubble graph

This shows no areas of pure, saturated colour.

Next we can cluster the sections of the image and show the resulting clusters.


## Cluster the tiles by colour
## http://stackoverflow.com/questions/9019632/how-to-create-a-cluster-plot-in-r
## 5 is arbitrary
clusters<-kmeans(rgbs, 5)
## distance matrix
rgbs.dists<-dist(rgbs)
## Multidimensional scaling
cms<-cmdscale(rgbs.dists)
## Plot the clusters
plot(cms, type="n", xlim=range(cms[,1]), ylim=range(cms[,2]),
main="Section Clustering of \"Bonjour, Monsieur Corbet\"")
groups<-levels(factor(clusters$cluster))
images(cms[,1], cms[,2], sections, thumbnailWidth=20)
ordispider(cms, factor(clusters$cluster), label=TRUE)
ordihull(cms, factor(clusters$cluster), lty="dotted")
 
courbet section clustering
If the plots didn’t have helpful titles, would you be able to recognize the image?

Despite the arbitrary number of clusters chosen the groupings make some visual sense. Improving on the number of clusters is left as an exercise for the reader.

Categories
Art Art Computing Free Software Projects

Uploads

My Uploads project is getting there.

upload oneupload 2

Using a Kinect, a Mindwave, Python, and OpenFrameworks to create a DIY transhumanist realisation of Moravec-style personality uploads to the extent that affordable contemporary technology allows.

This is a low-resolution record of my mind (brain eeg via Mindwave) and body (a depth image/point cloud via Kinect) created using Python and played back using an OpenFrameworks application that uses the Twitter streaming API to match current emotional state data to the recorded states. It’s watching me watch Blade Runner…

Categories
Aesthetics Art Art Computing Projects

Small Sensoria 3

finished sensoriumHere’s a finished board, with the LEDs that are used as senses attached to wires made more rigid with heat shrink (this hides the resistors as well). The peculiar colour cast of the image is due to a coloured light being on in the background.

finished visualizationAnd here’s a plot of the light levels detected by each sense as I shone a light at them and shaded them with my hands.

I’d love to make a group of these and hang them up to experience their environment. I think I’ll port the code to Processing.js so they can run online as well.