cutting a surface into a disk jie gao nov. 27, 2002
Post on 19-Dec-2015
214 views
TRANSCRIPT
Cutting a surface into a Disk
Jie GaoNov. 27, 2002
Papers
• Optimally cutting a surface into a disk, by Jeff Erickson and Sariel Har-Peled, in SoCG’02.
• Geometry images, by Xianfeng Gu, Steven J. Gortler and Hugues Hoppe, in Siggraph’02.
• Given a 3d mesh M, find a set of edges (called cut graph) whose removal transforms the surface into a topological disk.
Outline
• Theory work:– Minimize the length of the cut graph– Algorithms for exact/approximate
solutions.
• In practice:– Geometry Images.– Heuristics
Theory work
• Optimally cutting a surface into a disk, by Jeff Erickson and Sariel Har-Peled, in SoCG’02.
• Minimize the total weight of the cut graph.– e.g., the total length of the cut.
Definitions• M : compact 2-manifold with boundary.• Genus g: maximum number of disjoint
non-separating cycles of M. • k: number of boundary components. • 1-skeleton M1 of M is the graph
consisting of all the vertices and edges.• A cut graph G is a subgraph of M1 so
that M\G (polyhedral schema) is homeomorphic to a disk.
• Goal: find a polyhedral schema with minimum perimeter.
• Computing min cut graph of M with fixed g “or” k is NP-hard: reduction from rectilinear Steiner tree problem.
• Each point puncture• Cut graph Steiner
tree• To get high genus: attach
tori or cross-caps to punctures.
• Cut path: from one branch point (degree>2) or boundary point to another, without branching point in the middle.
• Lemma: Any cut path in the minimum cut graph G* can be decomposed into 2 equal-length shortest path in M1 .
• Proof: If there is a shorter path, then we can “cut and re-glue” and get a shorter cut graph.
Min cut graph
• Reduced cut graph– Remove vertices of degree-1 and their edges.– Replace maximal path through degree-2
vertices by a single edge– Degree-3, 4g+2k-2 vertices, 6g+3k-3 edges
(Euler’s formula).
• Min cut graph of M with fixed g “and” k can be computed in time O(nO(g+k)).– Find all-pairs shortest paths – Enumerating all possible solutions.
Approximate Min Cut Graph
1. Convert M to punctured manifold M’ without boundary.
• Contract every boundary to a puncture point. • Claim: |G(M)|=|G(M’)|, M’ includes all
punctures.
2. Cut along short essential cycles (doesn’t bound a disk with <2 punctures) until we get a set of punctured spheres.
3. Connect the punctures by cutting along a MST.
4. Re-glue some previously cut edges back.
Approximate Min Cut Graph
• Computing shortest essential cycle is expensive – O(n2logn).– Use 2-approximation – O(nlogn).
• O(log2g)-approximate min cut graph.
• Running time: O(g2nlogn).
In practice…
• Geometry images, by Xianfeng Gu, Steven J. Gortler and Hugues Hoppe, in Siggraph’02.
• We want not only the cut, but also a geometry image D – a unit square.
• Find a cut ρ and parametrization Φ.– Φ: piecewise linear map from D to M\ρ.
Why a disk?
• Texture mapping.• Hardware rendering • Compression and decompression
– Wavelet-based coder
Cut & parametrize•Find an initial cut & parametrization.
•Improve the cut with the info from the parametrization.
•Iterate until no improvement.
Cut & parametrize•Find an initial cut & parametrization.
•Any cut, e.g., the previous one.
•Heuristics: find a cut and locally shorten a cut path.
•Improve the cut with the info from the parametrization.
•Iterate until no improvement.
Cut & parametrize•Find an initial cut & parametrization.
boundary refinement
•Improve the cut with the info from the parametrization.
•Iterate until no improvement.
optimize a fewinterior pts
Cut & parametrize•Find an initial cut & parametrization.
•Improve the cut with the info from the parametrization.
•Search for regions with large geometric stretch.
•Pick a extremal vertex v.
•Add to ρ the shortest path from v to the current boundary.
•Iterate until no improvement.
Example
More example…