Introduction

For my project, I built a software system for creating calligraphic letterforms.  The user positions skeleton letters on the screen, uses the user-interface to specify constraints, then finally clicks "Render."  The program runs a dynamics simulation to create calligraphic-looking pen strokes, taking into account the mass of the pen and the friction of the pen with the paper.  Finally, the program takes the output of the simulation and applies a user-specified rendering style to draw a final image. 

Related Work

I am not aware of any other system that uses a dynamics simulation to create calligraphy.  A few commercial calligraphic software packages exist.  One, "ByHand," claims to take into account "pen speed and direction."  However, since this package creates strokes in real time, it is unlikely that it solves a physical optimization problem.

The inspiration for this technique comes from Paul Haeberli's DynaDraw paint program, which modulates mouse strokes using a simple dynamics model and generates calligraphic-looking strokes.  However, using DynaDraw to actually write a word is virtually impossible--the system is too difficult to control (since the user is specifying the inputs to a continuously varying simulation, a task that is even more difficult than specifying the initial values for an initial value problem).  You can play with a Java applet implementation of DynaDraw here.  The inspiration for this project was that if there was a way to specify constraints on the dynamics simulation beforehand, and then run the simulation, the system could potentially be useful for creating calligraphy.

Witkin and Kass's "Spacetime Constraints" paper (SIGGRAPH 88) describes how to create an animation by having the animator specify a series of constraints (e.g. jump from point A and fall down at point B) and then having the computer solve a physically constrained optimization problem to generate the motion.  I use a variant of their "spacetime particle" model in this project.

Other papers that had an influence on this project are discussed in the paper.

Artifacts

Futuristic

Uncial

Pen

Snapshots from the User Interface

    

Some Rendering Styles


Detailed Description

I have written a paper giving a complete, in-depth description of this project.  There are some neat images in the paper... check them out!