Achraf Kassioui


Design by simulation

Ivan Sutherland invented a revolutionary way of designing on a computer in 1962. We can find some of his core ideas in modern 3D software.

Here’s Alan Kay presenting a revolutionary program made by Ivan Sutherland for his PhD thesis in 1962:

screenshot of Ivan Sutherland’s Sketchpad
Sketchpad. The user could draw two lines and tell the program that the two lines should be parallel. The program would figure out the rest.

Sketchpad seems smarter and different from common 2D drawing programs. In Sketchpad, you draw without trying too hard, then you assign goals and constraints to the computer, and it resolves the shape into what you instructed it to be. In contrast, regular 2D drawing programs encourage you to precisely build your shapes bottom up and step by step.

Alan Kay laments about how surprisingly hard it is to find something like Sketchpad available for the general public today.

Design by simulation

The way Sketchpad does things reminds me of how we work with 3D software. Here’s an example from Cinema 4D:

screenshot of Cinema 4D
Constraints based animation. We tell the head of the character to “aim” at the ball, and watch the result.

In this example, the scene is animated using physics and constraints only:

The result is a goofy character that follows the ball. There was no manual keyframing involved in the making of the animation.

This way of doing things is closer in spirit to Sketchpad’s. We setup the initial conditions, we instruct the computer with goals and constraints, and the solvers do the rest. It is a wonderful way to experiment. The possibilities are immense. I’m often paralyzed by the combinatorial explosion of the interesting situations we can setup.

However, with this method of design, a great deal of blind trial and error is necessary to build a meaningful scene. It is like reverse engineering biological evolution. Most experiments won’t snap into an "aha!" resolution.

It took me several attempts to find the right axis and degrees of freedom I should constrain to, as well as a careful setup of the initial conditions, before I got the animation above. And I still should tweak the animation to improve the character performance: I could add a delay between the ball position and the head tracking, and make the character body react to the ball when it hits it.

The learning curve required to art direct physics and constraints based animations is steep. I think there is a huge opportunity to make the discovery process more fun and natural with improved user interfaces and feedback loops.


The tools that were developed for digital computer animation and 3D visual effects, unlike 2D drawing programs, seem to be a direct descendant of Sketchpad. I believe this is not a coincidence. We can trace the inception of 3D graphics to the University of Utah and the ARPA project during the 60s and 70s. Amongst the researchers there was Edwin Catmull, the inventor of texture mapping and other fundamental 3D graphics routines, and now president of Pixar and Disney Animation. Catmull was a student of Ivan Sutherland.