possible (see merge branch). This gives us a new set of
cells Ωk for which we update sΩk.
Convergence. After each optimization step, and split-and-merge, we check whether all fill values βk ∈ [ε, 1 − ε] correspond to cells Ωk at the maximum resolution. If so, we
terminate the optimization.
Our functionals ftop and fyo-yo are nonlinear in the fill variables βk. To prevent an underdetermined minimization
problem, we penalize differences between fill variables
using a uniform symmetric Laplacian L, constructed over
neighboring cells. This results in the following regularized
where β is a vector containing all βk, and f (β) refers either
to fyo-yo(β) or ftop(β ), and st denote the respective linear equality constraints ( 6) or ( 7).
To optimize the above regularized functionals, we use an
active set algorithm with sequential linear-quadratic programming. 18 We further restrict the fill values to the unit
interval using box constraints. As the Hessian is dense, in
our experiments we experienced better time performance
when using LBFGS, 18 a memory-efficient approximation of
Fabrication. All our models were printed on an Objet
Connex 350 with an ABS-like plastic (green surface finish) and Objet’s “Vero White” material (white finish). The
printer has a resolution of 600 and 1600 DPI on the two
horizontal and vertical axes, respectively. The Connex
350—like most other 3D printers—builds models layer-by-layer in a bottom-up manner, requiring a supporting structure for fabricating overhanging parts. Because we cannot
remove any support from the interior without introducing
holes in the models’ shells, we cut them prior to printing
and glue them afterward.
Spinning tops. We validated our approach by designing and fabricating a variety of spinning tops, ranging
from posed characters and abstract shapes to household
objects. For the models presented in Figures 1, 4, and 5,
we use an adaptive octree with a maximum refinement
level of nine during the optimization. On a standard
desktop computer with 3. 2 GHz and 8 cores, the complete processing time for each takes less than a minute.
This includes loading the input mesh, initializing the
octree, performing hollowing optimization, and writing
the output mesh. The hollowing optimization itself takes
approximately 10 s.
In the figures below we illustrate the before-and-after
body frames with black spheres for the center of mass,
and red, green, and blue arrows for the maximal, mid-,
and minimal principal axes of inertia (see, e.g., Figure 4):
the Ellipsoid in Figure 4 (top) demonstrates how we can
turn asymmetric models, whose principal axes are far off
the user-specified rotation axis, into dynamically balanced
models that spin stably.
Figure 4. Asymmetric “Ellipsoid” and “Heart”: (Left) Unstable input
designs with misaligned principal axes. (Middle) Optimized results
after hollowing: for the “Ellipsoid”, a cross-section is shown. The
dominant principal axis (red) aligns with the spin axis. Opaque
surfaces indicate the boundary of the void space. (Right) Fabricated
results with hollowing.
Figure 5. “Break-dancing Armadillos”: Through our hollowing
optimization, the Armadillos can perform spinning dance moves.
For each design, the unstable input (left), and the optimized stable
output (right) are shown. The Armadillo on its shell is particularly
badly aligned in the initial model.
Similar to the Ellipsoid, the input model for the Heart
in Figure 4 (bottom) has a poor mass distribution, leading
to a principal axis far off the desired rotation axle (cupid’s
arrow). Our optimization fixes the axis’ orientation and produces a very stable spin.
Finally, two break-dancing Armadillos are shown in
Figure 5, one spinning on his back shell, one on the tip of
his finger. Our hollowing successfully aligns the maximal
principal axis of inertia with the user-specified one, even if it
is far off as for the Armadillo spinning on his shell (compare
left and right visualizations). Both Armadillos “dance” very
stably around a.
Rotational stability. For the Teapot model (inset), the
center of mass is reasonably close to the central spinning