cutting a surface into a disk jie gao nov. 27, 2002

22
Cutting a surface into a Disk Jie Gao Nov. 27, 2002

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

Cutting a surface into a Disk

Jie GaoNov. 27, 2002

Page 2: Cutting a surface into a Disk Jie Gao Nov. 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.

Page 3: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

• Given a 3d mesh M, find a set of edges (called cut graph) whose removal transforms the surface into a topological disk.

Page 4: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

Outline

• Theory work:– Minimize the length of the cut graph– Algorithms for exact/approximate

solutions.

• In practice:– Geometry Images.– Heuristics

Page 5: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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.

Page 6: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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.

Page 7: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

• 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.

Page 8: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

• 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.

Page 9: Cutting a surface into a Disk Jie Gao Nov. 27, 2002
Page 10: Cutting a surface into a Disk Jie Gao Nov. 27, 2002
Page 11: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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.

Page 12: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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.

Page 13: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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).

Page 14: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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\ρ.

Page 15: Cutting a surface into a Disk Jie Gao Nov. 27, 2002
Page 16: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

Why a disk?

• Texture mapping.• Hardware rendering • Compression and decompression

– Wavelet-based coder

Page 17: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

Cut & parametrize•Find an initial cut & parametrization.

•Improve the cut with the info from the parametrization.

•Iterate until no improvement.

Page 18: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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.

Page 19: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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

Page 20: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

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.

Page 21: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

Example

Page 22: Cutting a surface into a Disk Jie Gao Nov. 27, 2002

More example…