Artful Computing

Cart

Complex Mappings

Here, we are creating what mathematicians call a "mapping" by tying every pixel of the source image to a new position in the final image. It is like taking the source image, ripping it up into small pieces (say about a million pieces!) stretching and bending some, shrinking and bending others, then sticking them all back in different positions. In all the images below the source images is a simple grid (sometimes a bit like a tartan, sometimes like a dart-board). As my earlier Epicycles series, the final results is partly a result of the formulae that I actually program (which is really quite simple) and partly a result of my manipulations of the computer mouse while the program is running. Most of the images would be hard to reproduce exactly, for that reason.

In fact, the algorithm that I employ to do the transformation is an extension of the formulae used in my "Epicycles" series - the mathematically adept would recognise it as making an "extension into the complex plane". (That is a technical phrase. "complex" here means using complex numbers rather than ordinary numbers. Do not worry about this if you have never met them. They are enormously important in advanced maths, as a way of making connections between ideas that seem to be unrelated in elementary maths. However, once we start programming the rules we use to combine complex numbers are relatively simple. There are lots of things one could do with complex numbers, all of them relatively easy to program, but knowing some of these connections suggests ideas that are likely to be of deeper interest.)

I started off with the intention of using conformal mapping. These involve formulae based on complex numbers that have some specially neat mathematical properties. These properties have been shown to be interesting for image manipulation in the book Creating Symmetry (see the Books page). I soon realised that my first-draft program was wrong because the output images where not what I expected. They were, however, not uninteresting, so I continued to develop the "wrong" algorithm to see what it would do. Most of the images in this gallery are the output of this accidental line of investigation. I will pick up the conformal maps later.

You will need to look at full-resolution images to see the fine-grained textures produced by the algorithm. (The error in my programming produced less "smoothness" - more ripping and re-ordering - that a true conformal map, but in a way that created some interesting textures. I actually prefer them to the outputs of the correctly implemented conformal maps. I have slipped in a couple of images where the conformal algorithm was correctly implemented - see if you can spot them.)

There is only so much one can do with this type of approach: there is always a rather emphasised central point, and some degree of rotational symmetry. It is a useful exercise, and I will develop the line of investigation further, but the ultimate intention is to take the approach in less obviously "in-your-face" directions. I was also using the regular source image as a method of checking my programming. I always had the intention of following up some of the ideas in Creating Symmetry which involve using original photographs as the source plane. See the next gallery for some of the results.

Wednesday, 04 May 2016

Breadcrumbs