boris (at) vgc.io

Hi there, I'm Boris!

I'm the founder of VGC, a startup based in Lyon, France.

I like to create all sort of things, and give them life :-)

PhD thesis, University of British Columbia, 2017

Quick links: [ PDF ] [ BibTeX ]

Our open source implementation VPaint is available at www.vpaint.org

The successors of VPaint, VGC Illustration and VGC Animation, are being developed at VGC

Topological Modeling for Vector Graphics

PhD thesis, University of British Columbia, 2017

In recent years, with the development of mobile phones, tablets, and web technologies, we have seen an ever-increasing need to generate vector graphics content, that is, resolution-independent images that support sharp rendering across all devices, as well as interactivity and animation. However, the tools and standards currently available to artists for authoring and distributing such vector graphics content have many limitations. Importantly, basic topological modeling, such as the ability to have several faces share a common edge, is largely absent from current vector graphics technologies. In this thesis, we address this issue with three major contributions.

First, we develop theoretical foundations of vector graphics topology, grounded in algebraic topology.
More specifically, we introduce the concept of Point-Curve-Surface complex (PCS complex) as
a formal tool that allows us to interpret vector graphics illustrations as non-manifold, non-planar,
non-orientable topological spaces immersed in R^{2}, unlike planar maps which can only represent
embeddings.

Second, based on this theoretical understanding, we introduce the vector graphics complex (VGC) as a simple data structure that supports fundamental topological modeling operations for vector graphics illustrations. It allows for the direct representation of incidence relationships between objects, while at the same time keeping the geometric flexibility of stacking-based systems, such as the ability to have edges and faces overlap each others.

Third and last, based on the VGC, we introduce the vector animation complex (VAC), a data structure for vector graphics animation, designed to support the modeling of time-continuous topological events, which are common in 2D hand-drawn animation. This allows features of a connected drawing to merge, split, appear, or disappear at desired times via keyframes that introduce the desired topological change. Because the resulting space-time complex directly captures the time- varying topological structure, features are readily edited in both space and time in a way that reflects the intent of the drawing.