cutting a surface into a disk jie gao nov. 27, 2002
Post on 19-Dec-2015
214 views
TRANSCRIPT
![Page 1: Cutting a surface into a Disk Jie Gao Nov. 27, 2002](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/1.jpg)
Cutting a surface into a Disk
Jie GaoNov. 27, 2002
![Page 2: Cutting a surface into a Disk Jie Gao Nov. 27, 2002](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/3.jpg)
• 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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/7.jpg)
• 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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/8.jpg)
• 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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/9.jpg)
![Page 10: Cutting a surface into a Disk Jie Gao Nov. 27, 2002](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/10.jpg)
![Page 11: Cutting a surface into a Disk Jie Gao Nov. 27, 2002](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/15.jpg)
![Page 16: Cutting a surface into a Disk Jie Gao Nov. 27, 2002](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/21.jpg)
Example
![Page 22: Cutting a surface into a Disk Jie Gao Nov. 27, 2002](https://reader030.vdocuments.us/reader030/viewer/2022032703/56649d395503460f94a13310/html5/thumbnails/22.jpg)
More example…