
Federico Sichetti, Enrico Puppo, Zizhou Huang, Marco Attene, Denis Zorin, Daniele Panozzo
Many problems in computer graphics can be formulated as finding the
global minimum of a function subject to a set of non-linear constraints
(Minimize), or finding all solutions of a system of non-linear constraints
(Solve). We introduce MiSo, a domain-specific language and compiler for
generating efficient C++ code for low-dimensional Minimize and Solve
problems, that uses interval methods to guarantee conservative results while
using floating point arithmetic. We demonstrate that MiSo-generated code
shows competitive performance compared to hand-optimized codes for
several computer graphics problems, including high-order collision detection
with non-linear trajectories, surface-surface intersection, and geometrical
validity checks for finite element simulation.
MiSo: A DSL for Robust and Efficient SOLVE and MINIMIZE Problems