Optimization for Smooth Surface Design
Pushkar Prakash Joshi and Carlo H. Séquin
The goal of our project is to build an interactive but robust tool for designing smooth, beautiful surfaces. In order to achieve our goal, we need to make the complicated and computationally intensive problem of curvature-based surface optimization more accessible and useful for a surface designer.
As a first step towards our goal, we have built a robust, subdivision-based surface optimization system. This optimizer was used to produce all the optimal surfaces shown in the figures. Using this system, we perform a detailed comparison of the commonly used energy functionals and demonstrate the aesthetic properties of each. We do so by comparing (visually and numerically) the optimal shapes with respect to these functionals for a variety of canonical input shapes. We provide this comparison of aesthetic functionals as an aid for the surface designer.
The above surface design system is slow and making it interactive is the next step of our project. We are investigating techniques to speed up the optimization. In particular, we are investigating the use of discrete geometry operators or a point-based representation for fast surface energy interrogation, and multi-resolution shape editing for increasing the size of the steps taken to get to the optimal shape. The final product will be a robust, interactive system that takes as input an arbitrary surface with constraints (if any), and produces local minimizers of a variety of aesthetic energy functionals.
Figure 1: Minimizers of genus 2 (l-r): Control polygon of the input shape, minimizer of total curvature (Willmore Energy), minimizers of energies that measure curvature variation (MVS, MVS_cross). Minimizing the curvature variation (as opposed to total curvature) produces rounder, more pleasing shapes with thinner toroidal arms that have a uniform cross-sectional radius.
Figure 2: Minimizers of a boundary-constrained pipe blend (l-r): Input shape (with control polygon), minimizer of total curvature, minimizer of curvature variation. Curvature minimization produces an undesirable bulge in the blend region, while the curvature variation minimization produces a smooth blend.