The most commonly asked question after a presentation

The most frequently asked question I get after a presentation in seminars is "how did you draw those pictures?"

For example, the main image in this slide

was created with x-fig, which is free software that comes with most distributions of Linux. x-fig allows relatively easy constructions of vector graphics, stored in postscript files. This is what it looks like when it's being created in x-fig.

The little square boxes are control points. That image consists only of "approximated spline" types in x-fig, but in varying widths and styles.

Most sketches start off as hand-sketches. I can't find the original hand-sketch the above was based on, but an earlier closely-related sketch is here.

In this case, I first created an image like the above hand sketch. I then re-created it in x-fig. I think I first used the ellipse tool but then created a duplicate ellipse out of splines, since you can't crop an ellipse in x-fig. I copied the image three times and modified the copies appropriately (mostly by rotation) to create the final image.

To ensure the splines are appropriately smooth and convincing I use the "zoom" feature. It helps to have a nice mouse and/or a big monitor to work with.

I also like to use the (La)TeX package dvips to have TeX insert appropriately typeset text into the images. So while I'm editing the image I tend to make frequent save/export-to-postscript cycles, together with recompiling the .pdf file from the .tex file to see how the final presentation works out.

A complaint I often hear is that x-fig is difficult to use. I think maybe x-fig is a little bit of a pain to use for the first couple of days, but once you get the hang of it, it's quite friendly. It does have some pesky input routines -- perhaps the "grouping" device is a little on the clumbsy side. I wrestled with x-fig the first week of writing my dissertation, but after that it's been mostly smooth-sailing since.

Sometimes I'm interested in more vivid life-like images. Like this

The above image was created in using a more elaborate process. Given a knot in the 3-sphere (or Euclidean 3-space) parametrized "nicely" I have some code that searches for things like quadrisecants and 6-tuples of points on the knot that sit on a common round circle. Once this data is computed, the surface of the knot is spit out as a triangulation. The circles and/or quadrisecants are also spit out. A white "backing wall" is inserted into the data. This data is packaged into a PoVRay source file, which is then rendered in PoVRay. I then take the resulting image, adjust the colour levels appropriately and add the text to the background, and it's done. So this can take some time! Modern computers make rendering this kind of image far more pleasant than say, in the mid 90's.

Explicit parametrizations for knots that are useful for such renderings can be non-trivial to construct. In principle you think it shouldn't be all that hard -- perhaps by the use of a constructive Stone-Weierstrass theorem applied to the derivative ? but there are practical matters, since knots are usually given by planar diagrams. The above parametrization came from a Fourier representation of the knot.