Artful Computing

Natural History Museum main hall - perspective illustrated
Perspective is Mathematics: (Natural History Museum, London)

Let’s explore the connection between art, computing and maths.

Don’t panic!

Artists have always had an intuitive understanding of some parts of maths because symmetry and pattern have always been important themes in the visual arts - going back at least as far as ancient Egypt. Symmetry and pattern are also fundamental concepts in maths, and many mathematicians have powerful visual imaginations which help them to manipulate otherwise very abstract ideas. 

 

Artists have, for example, always known that things that are further away look smaller, though the formal science of perspective was much discussed and elaborated by Arabian philosophers (such as Ibn al-Hatham) and later Renaissance notables such as Brunelleschi (goldsmith, engineer and architect). The explicit understanding of the perspective rules helped Renaissance artists produce the increasingly realistic images - some with highly foreshortened viewpoints - emerging from their studios.

Penrose Tiling
Why do Oxford mathematicians use this pattern for their entrance paving?

In a similar way, good artists have always intuitively understood what makes a tree look like a tree, or a cloud look like a cloud, even if they have in mind no particular tree or cloud. (Artists such as Claude painted entirely imaginary but completely realistic landscapes.) In the 1980s, however, Benoit Mandlebrot showed how to make this understanding precise using the new maths of fractal  geometry, which he invented for the purpose. (He called it "The geometry of nature".) As a result film animators can now use computers to produce astonishingly realistic artificial worlds populated by fractal landscapes, fractal clouds, fractal trees and so on. Intuitive understanding is an important first step - but sometimes you need systematic investigations to really explore the landscape of possibilities.

Perhaps more surprisingly, artists latched on to one of the great mathematical debates of the early 20th Century between Hilbert's "formalist" agenda and Brouwer's "intuitionist" approach. Movements developed that aimed to create art through manipulation of "meaning-free" symbols according to formal rules. (Perhaps it is not so surprising: the world of those who really cared about ideas was then fairly small. The leading figures often knew each other rather well.) There are intellectual lines of descent here involving conceptual approaches that eventually lead to piles of bricks in Tate Modern.

So, links between maths and art have always been there. Artists also began to use computers as soon as they developed graphic capabilities (though at first access to expensive facilities went only to those with the right contacts and a willingness to acquire the still esoteric programming skills). Now, however, commodified home computers are sufficiently powerful to give anyone who cares about it a means of artistic expression and mathematical investigation. 


Pattern is mathematics

Pattern is a mathematical algorithm

On this website I will introduce you to some of the tools that are now available, and show you how to get a foothold in this most interesting geography.  Follow the "Next" link to find out more.


Generative Art and Design

Many visual artists now use computers to modify and manipulate pre-existing images. In recent years, however, a growing number of people have been exploring how one can use computers to generate art out of abstract mathematical rules. Not surprisingly, the area is becoming known as Generative Art or Generative Design. You may also find links under topics such as Creative Coding or New Media Art. There are even Creative Computing degree courses now available. (The art historians will point out that generating art using algorithms pre-dates the invention of computers. Computers just let you handle much more complicated algorithms. Whether this necessarily leads to more interesting art is another argument. The change in recent years is that almost everyone has sufficiently powerful computing tools in their home.)

I think that exploring this new medium is likely to be fun. It is also perhaps easier than you might think. Visual artists may find that here is a different type of medium which opens possibilities for exploring visual ideas that are simply impossible in other ways. In fact most of the work in this area is the product of people trained in visual arts, rather than those from a computing or maths background. They can do it! Why not you?

Generative Art - click on image to see at full resolution.

Those who approach the medium with previous experience of computing may have some early advantages in getting on terms with the basic tools, because they have evolved as simplifications of the more general, powerful and complex methods used by people from more technical backgrounds.

However, the visual artists soon will find that developing ideas in this medium is fundamentally not so very different from their previous experience. You use your imagination to conceive of a possible image, then work out how to get there and often, along the way, the unexpected occurs and you end up following a different route to a more exciting outcome. (And, of course, much also gets thrown away.)

It turns out that we do not have to climb very high up the ladder of computing and maths skills in order to make an incredible variety of images, whereas good art always requires a sophisticated visual imagination and a deep understanding of the way people react to visual stimuli. Drawing is more than just knowing how to make a mark with a pencil, and generative art is much more than knowing how to program. 

There is a practical side to doing Generative Art (for which we will explore the use of the Processing toolkit), but there is also a "Principles and Philosophy" side the the business, which addresses the "What" and "Why" questions, rather than just the "How". Both aspects are important. The practical side will be demonstrated though my developing efforts under "Processing Sketchbooks" and in the Gallery. The principles will be covered in  "blog" articles, as ideas and questions occur to me. The art is up to you.

 


 

So You Want to Know How to Code?

As it happens, even if you just want a fun way to get a basic understanding of programming, in my opinion this looks like a pretty good way to start. Turning programs into pictures is a fairly effective way of giving a concrete experience of some of the fundamental ideas underlying all programming. You will find that some of this stuff will become intuitive before you realise that you have actually been learning it. The skill is also highly transferable. Having learned programming this way, you will find it much easier to learn other types of programming.

If you have no interest in the visual side of programming, and are more focused on maths and science, I would suggest that Python is probably the best text-based computer language to learn. (The people who designed the Raspberry PI have the same idea.) As it happens, you can now use Python in conjunction with the Processing tool kit. This is rather recent and most of my own work pre-dates the capability, so I have limited experience with what gets easier and what gets harder. Watch this space: I would be strongly tempted to switch, except that the Python versions of some of my programs seem to run rather more slowly than the Java versions. (This may not be a big issue for many types of generative art, but some of my programs have a good deal of intensive image processing.)

I do not produce great art when I pick up a pencil, but I enjoy the process. You do not need to produce great art with a computer in order to enjoy the process ... but who knows? And... it may very well be that people who cannot get very excited by the technical challenges of computing will be motivated by the possibility of creating original visual work - and creative coding is not yet an overcrowded field. There is a chance to join the pioneers.

So, enjoy the experience. Like every other discipline, however, the more you understand, the more you can get out. Programming is not easy, but neither is it esoterically difficult. Although people admittedly have different levels of natural aptitude, it is something anyone can do with a certain amount of application.


Click on the image to enlarge.

Probably the easiest way to get started is by exploring the Processing toolkit

There are other toolkits available, but in my opinion this is one of the easier ones in which to gain a foothold fairly quickly.

Breadcrumbs