Research highlights

Technical Perspective: A Fresh Approach to Vector Graphics

Posted

To understand the impact of the following paper, I would like to first reflect on the following question: What is a good representation for two-dimensional images?

There are generally two distinct choices to represent and process an image: raster graphics and vector graphics. In raster graphics, color values are stored as discrete samples on a regular pixel grid. The major advantage of this representation is its simplicity and raster images are the most common image representation today. This is mainly due to the fact that photographs are naturally stored as raster images.

Still, as an important alternative, vector graphics provides many unique advantages. In vector graphics, images are stored using curves, typically placed at image edges. Traditionally, these curves have been closed curves, so that each curve encloses a clearly defined region. The curves are given some attributes that describe how the enclosed region should be filled, for example, in the simplest case using a single color. One advantage of vector graphics is that it provides infinitely sharp edges. If we wish to zoom into an area of the image, or print a very high-resolution version of the image, the edges will remain sharp. Therefore, vector graphics is considered to be resolution independent in a certain sense. Additionally, some editing operations and animations are much easier with a vector graphics representation.

The following paper makes a fundamental contribution to the world of vector graphics by introducing a new primitive called diffusion curve. Diffusion curves no longer have to be closed, but can be open curves. To determine the colors in other parts of the image, the authors propose to use a diffusion equation. The figure here offers an example of a diffusion curve image generated by my colleague, Stefan Jeschke. The fact that most of the curves are open has some implications for editing this image. While in many areas of this image we can still imagine a similar representation with closed curves this creates some overhead. Closed curves require the user to manage the curves on different layers to define occlusions and to manage the topology. Using open curves it is easier to draw like using pen and paper.

Personally, I believe the importance of this paper is mainly due to two reasons. First, it is very difficult to make a fundamental contribution to a mature and important area of research, such as vector graphics. An essential aspect of this contribution is it increases the expressiveness of vector graphics. It becomes easier to represent and edit images using curves. Diffusion curves are a versatile representation and they make for a great addition to any vector graphics software.

Second, this is a seminal paper that poses many exciting questions for future research. How can diffusion curves be used in computer animation? Can the idea of diffusion curves be extended to represent textures? How can three-dimensional textures, smoke, or surfaces be defined by diffusion curves? How to accelerate the rendering of diffusion curves? How to extend the definition of diffusion curves to have more control over how colors are diffused? How to further automate the conversion of raster images into a diffusion curve representation?

Many of these questions have been addressed in subsequent papers, demonstrating how a paper like this, with a fresh approach to an old representation, can breath new life into a mature area like vector graphics.

Figures

Figure. Diffusion curves example: Curves with texture samples and rendering.

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.