  We present a method for automatically building diagrams for olympiad-level
geometry problems and implement our approach in a new open-source software
tool, the Geometry Model Builder (GMB). Central to our method is a new
domain-specific language, the Geometry Model-Building Language (GMBL), for
specifying geometry problems along with additional metadata useful for building
diagrams. A GMBL program specifies (1) how to parameterize geometric objects
(or sets of geometric objects) and initialize these parameterized quantities,
(2) which quantities to compute directly from other quantities, and (3)
additional constraints to accumulate into a (differentiable) loss function. A
GMBL program induces a (usually) tractable numerical optimization problem whose
solutions correspond to diagrams of the original problem statement, and that we
can solve reliably using gradient descent. Of the 39 geometry problems since
2000 appearing in the International Mathematical Olympiad, 36 can be expressed
in our logic and our system can produce diagrams for 94% of them on average. To
the best of our knowledge, our method is the first in automated geometry
diagram construction to generate models for such complex problems.
