One line to rule them all...
Continuous line illustration (CLI) is an artistic drawing style consisting of portraying an object or scene with a single line. Despite their simple nature, these illustrations surprisingly manage to convey the most important details of a scene with only one line.
In this work, we focus on the generation and design of CLIs consisting on a non-intersecting line that varies its spacing accordingly, in order to portray the shading of the scene. We also show how to convert CLIs created with this approach into continuous line paintings (CLP), and artistic style consisting of a single line that varies in color and thickness, covering the entire drawing space, while depicting the tones of the original scene.
Original Image | User-specified Regions |
Continuous Line Illustration | Continuous Line Painting |
Continuous Line Illustration (CLI)
Our CLI generation and design framework takes as input an image and a group of user-specified regions. An orientation field is then computed for each of these regions, and a grid is computed per region according to the generated fields. Users can customize the look of these grids, by specifying different region types to each region as well as other properties, and computing the orientation fields according to the selected constraints.
The previously computed grids are then combined into a single grid spanning the entire drawing space, and a path that visits most of the cells of the grid is computed, based on an iterative cycle growth and merging strategy. The appearance of the CLI can be improved by performing smoothing operations and varying the opacity along the line.
Generated Grid | Computed Path | Final CLI |
Continuous Line Painting (CLP)
CLIs created through the previous approach can be employed as a base for creating continuous line paintings. In a naive manner, this could be achieved by simply thickening the CLI, or by removing walls of the previously computed grid in some manner. However, the first approach might incur in self-overlappings at different parts of the line and also might not cover the entire drawing space as in the works of CLP artists. The second approach would work in this case, but computing the set of walls that need to be removed from the grid is by itself an NP-hard problem, as it is equivalent to computing a Hamiltonian path in the grid, and even we could compute it, line smoothness in the final CLP is not guaranteed.
We overcome these problems by creating a special type of grid or tessellation from the CLI instead. This is achieved by taking sample points at small intervals along the CLI, and using these samples as generators for a Voronoi diagram. As we did earlier for the grids, we generate a diagram per region first, and then combine them all into a diagram of the entire space, while respecting the region boundaries. A group of Voronoi edges is then removed from the diagram, in such a way that the area enclosed by the remaining edges resembles a single line of variable thickness, traced all over the canvas.
Colors are computed for both sides of each wall, based on the color of original image, and are propagated along the drawing through color diffusion techniques. Users can modify the color of the painting on a per-region basis as well. The painting is finished by tracing the previously computed walls for the painting on top of the diffused colors.
Generated CLI | CLI Samples | Region-based Voronoi Diagram |
Voronoi Edge Removal | Computed Wall Colors | Final CLP |
Please refer to our paper for more details on how to create these types of artistic drawings.