Home

Sketch2Growth: Generating Stochastic, Evolving Branching Shapes From a Single Sketch

Computer Graphics Forum, September 2026

Project Teaser

Pipeline overview: The input sketch is analyzed to extract a two-layers statistical model, composed of a global structural abstraction called the Seed, plus a Details layer encoding branch geometry. This model is then used to generate stochastic 3D branching structures from the same perceptual family as the sketch and animate their growth, while introducing variability through a variety of control operators.

Abstract

We present Sketch2Growth, an interactive system for generating a family of 3D branching shapes and animating their growth from a single user-drawn style sketch. The sketch, seen as a 2D idealized representation of the desired shape, is converted into a concise format called the Seed. This representation consists of a Directed Acyclic Graph (DAG) that encodes the recursive branching topology, and a series of Gaussian Mixture Models (GMMs) that capture statistical visual-style at branching points and in terms of branch curvature. During synthesis, the Seed serves as support for a lightweight, stochastic generator: Branches are recursively expanded by unfolding the DAG and sampling from learned distributions, which maintains the expected correlation between parent and child branches. Further growth and variability of the generated shapes are achieved through similarity-based looping in the Seed structure (re-starting from a similar node), stochastic mutations and clamping. Only requiring a light learning process through the GMMs, Sketch2Growth ensures perceptual similarity between the generated shapes and the input style sketch, as validated through a user study. In addition, interactive handles enable users to fake the effect of external forces during growth. As results show, our system allows to easily model and animate the continuous growth of complex branching shapes inspired by trees, plants, corals or anatomical structures.

Resources

Related Project(s)