Algorithm Overview

This page gives an overview of the power crust algorithm.

The idea, in a nutshell, is first to build a discrete approximation to the medial axis transform (or MAT), and then reconstruct the surface from the MAT.

A two-dimensional example of power crust construction. a) An object with its medial axis (shown in violet). b) The Voronoi diagram of a point sample S from the object boundary, with a Voronoi ball surrounding one of the poles. In 2D all Voronoi vertices can be considered poles but not in 3D. c) The inner and outer polar balls. The infinite polar balls degenerate to half spaces. d) The power diagram cells of the poles. e) The power crust and the power shape of the interior solid.

The figure above shows a 2D version of the power crust algorithm. Our MAT approximation consists of a subset of the Voronoi vertices of  S, which we call the poles. The Voronoi ball centered at a pole is its polar ball. The radius of the polar ball defines a weight on the pole. Just as the medial axis transform completely describes the object with an infinite union of balls, the set of polar balls approximates the object by a finite union of balls.

The algorithm to compute the surface representation from the approximate MAT uses the power diagram of the weighted poles, a kind of weighted Voronoi diagram. We select a subset of the cells of the power diagram to represent the interior of the object. The boundary of the union of these interior cells forms the power crust.

The inner poles are connected according to the connectivity of their power diagram cells, forming a simplicial complex which we call the power shape. We use the power shape as an estimate of the interior medial axis.

We have several papers about the theory and the implementation of the power crust, and the software is available.