Keenan Crane

CARNEGIE MELLON UNIVERSITY

Globally Optimal Direction Fields

SIGGRAPH 2013 / ACM Transactions on Graphics 2013

This paper presents a method for constructing smooth unit n-direction fields (line fields, cross fields, etc.) on surfaces that is an order of magnitude faster than state-of-the-art methods, while still producing fields of equal or better quality. The method is based on a simple quadratic energy whose minimizers are globally optimal in the sense that they produce the smoothest fields over all possible configurations of singularities (number, location, and index). The method is fully automatic and can optionally produce fields aligned with a given guidance field, for example, principal curvature directions. Computationally the smoothest field is found via a sparse eigenvalue problem involving a matrix similar to the cotan-Laplacian. When a guidance field is present, finding the optimal field amounts to solving a single linear Poisson problem.

Presentation

This research was supported by a Google PhD Fellowship, the Hausdorff Research Institute for Mathematics, BMBF Research Project GEOMEC, SFB / Transregio 109 “Discretization in Geometry and Dynamics,” and the TU München Institute for Advanced Study, funded by the German Excellence Initiative. Meshes provided by the Stanford Computer Graphics Laboratory and the AIM@SHAPE Shape Repository.

@article{Knoppel:2013:GOD,
author = {Kn\"{o}ppel, Felix and Crane, Keenan and Pinkall, Ulrich and Schr\"{o}der, Peter},
title = {Globally optimal direction fields},
journal = {ACM Trans. Graph.},
volume = {32},
number = {4},
year = {2013},
publisher = {ACM},
address = {New York, NY, USA},
}

- fieldgen—C++ implementation and simple interactive viewer. This version is the only one to date that supports some of the more sophisticated features described in the paper, such as the holomorphic/anti-holomorphic energy and the full finite element version of the connection Laplacian. It also supports Dirichlet boundary conditions (not described in the paper), which align the field to the shape of the domain boundary.
- Directional—header-only C++ implementation, built on top of libigl and Eigen. This version is part of a larger library of direction field algorithms; note that it does not support some of the more advanced features mentioned above.

Additional Figures