Canned Kandinsky

Canned Kandinsky (a.k.a. Project K++) was an exploration of computer-generated abstract art, featured in International PHP Magazine and on Slashdot. You can download a copy here.

Here is the FAQ from its release in 2004:

What are you trying to do here?

Project K++ (nee “Canned Kandinsky”), an exploration of computer-generated abstract visual art. Originally an attempt to simulate the work of Kandinsky through programmatic means, the project has evolved into an emulation of his work, extrapolating from his interest in ever more abstract representations into creating art through an abstract — that is, mathematical — medium: code.

The project will provide a framework for exploring heuristics derived from aesthetic principles. The goal of the project is to create progressively more humanly “pleasing” or “artistic” works. The side effect, which is in this case more important than the goal, is a deeper understanding of what the words “artistic” and “pleasing” mean. This project is unique in that it attempts to improve our understanding of these words in a more quantifiable way.

Why did you release this code in such an early stage of development?

This release (0.1a) is purely a proof-of-concept release. I am releasing it now to generate feedback on the ideas behind the project more than anything. Since the purpose of the project is to ultimately generate data about how and what people perceive to be art, I thought it was in keeping with the philosophy of the project to also see what people think of the project itself, the code itself, and even the images generated at this early stage of development. The wide variety of opinions, particularly on slashdot, have been fascinating.

C’mon, isn’t this really just a bunch of random shapes?

Well, yes and no. I have already begun to make aesthetic decisions, like assigning a color palette to the shading and constraining how far the shapes can be flung. Also, the “randomSymphonic” class does something very common in Kandinsky’s work – arranges either 3, 5 or 7 shapes in a vertical pattern. Usually, these look like brush strokes. It’s a start.

So, already the beginnings of human aesthetics are poking their way in to the picture. I’ll need to bear these in mind as a baseline when I start applying more advanced principles. The ultimate goal of this project is to apply and then test (via human feedback) a wide variety of aesthetic principles. Because it is web-native, the potential for getting a large sample size for human data on what “is and is not art” as well as mapping this data to precise heuristics makes this project interesting.

Couldn’t this have been done in Action Script?

0.1a could have probably been done entirely in Action Script. However, Action Script lacks the flexibility of PHP for the more complex tasks involved with later releases. In particular, the strengthened object model of PHP 5 makes a language already rich in built in functions and useful packages all the more attractive. That it is web-ready makes it a good fit for the philosophy behind the project, which is one of gathering and using feedback constructively.

Where’s the AI?

0.1a doesn’t have much. The color scheme is determined using a colorTheme class that attempts to assign colors to shapes in a much more pleasing way than would be acheived with randomness. Clusters of objects generated by the randomSymphonic class are astep in the right direction for composition. Other than that, the majority of the “art” currently resides in the viewer’s imagination.

What about Kandinsky?

He’s a wonderful artist. The story of how he arrived at his art is equally wonderful. This site gives an introduction.

Why motion?

Realizing motion conflicted with the original intent to produce “Kandinsky-like” art helped me realize a new goal: to use the modern tools in a way that would not simulate as much as emulate and continue the work of abstract artists like Kandinsky.

How do I make this my screensaver?

My honest answer is, “I don’t know.” I hadn’t considered making the project into a screensaver. I’m sure it’s possible and my instincts tell me that php-gtk might be a nice way to go about it. Let me know if you end up making something like this.


Popular Tags

Academia Academy Of American Poets Accessible Poetry Adam Zagajewski Aliso Street Bear Andrew Philip Anna Akhmatova Arroyo Arts Collective Artists' Union Gallery Art Therapy Avant Garde B.H. Fairchild Bart's Books Bell Arts Factory Blogging Code Poet Conservation Czesław Miłosz David Allen Day Fire Denise Levertov Dorianne Laux Facebook First Books Friday Lubina Galway Kinnell George Wallace Gerard Manley Hopkins Gregory Orr GTD Gwendolyn Alley Heart And Mind Henri Cole Hope Jackson Wheeler James Valentine Peake Japan Jawanza Dumisani John Ashbery John Keats Joseph Millar Kathleen Tyler Li-Young Lee London Los Angeles Louise Glück Low-Residency MFA Mark Doty Marriage Marvin Bell Mary Oliver Merlin Mann MFA Residency 1 MFA Residency 2 MFA Residency 3 MFA Residency 4 MFA Residency 5 Michael Wells Michelle Bitting Miranda Nature Negative Capability Ojai Ojai Poetry Festival Pacific University Passings Performance Poetry Phil Taggart Poetry In The Windows Polish Poetry Post-Postmodernism Ralph Waldo Emerson Rattle Read Write Poem Robert Hass Robert Pinsky Sandford Lyne Sandra Alcosser Sarah Maclay Seamus Heaney Social Networking Sonnets Spirituality Stanley Kunitz Stephen Booth Stephen Dunn Suzanne Lummis The Economy The Phoenix The World Stage Tree Bernstein Twitter Umberto Saba Wallace Stevens Why Poetry Zbigniew Herbert ZCE Zen Zoey's Cafe