hn.today

Understanding the Dual Polytope for Hull Simplification

cairnc.github.io19 points2 comments
Screenshot of Understanding the Dual Polytope for Hull Simplification

Support function h(y) = max_i v_i · y of a convex polytope with the origin inside is piecewise-linear on the sphere, with one linear wedge per vertex. Level sets {h ≤ c} are flat inside each wedge and bend only along seams between wedges; because h(ty)=t h(y) they are scaled copies, and {h ≤ 1} equals the polar dual P° = {y : x · y ≤ 1 for all x ∈ P}. Concretely P° is the finite intersection of halfspaces v_i · y ≤ 1, so each wedge i induces a face lying in the plane v_i · y = 1 and different vertices of the original produce different faces of P°. Rays from the origin hit the boundary at y/h(y), so projecting the boundary of P° onto the sphere recovers the Gauss map; vertices of P° occur along face normals n of the original, at n/d when that face has equation n · x = d.

That geometric identification gives a clean hull-simplification recipe: editing, merging or dropping face normals changes the vertex set of P°, and rebuilding by taking the convex hull of the edited dual points reconstructs a dual polytope whose faces v · y = 1 correspond to vertices v of the simplified primal hull. In practice this is why converting face planes n · x = d to dual points n/d and taking their convex hull yields the simplified hull, an alternative to clipping large plane quads.

Read on cairnc.github.io2 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Other

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.