View
234
Download
0
Tags:
Embed Size (px)
Citation preview
Bounded-distortion Piecewise Mesh Parameterization
Olga Sorkine, Daniel Cohen-OrTel-Aviv University
Rony Goldenthal, Dani LischinskiThe Hebrew University of Jerusalem
2
Overview
Parameterization – definition Applications Distortion and partition Previous work Our approach Results
3
Parameterization - definition
S R3 - given surface
D R2 - parameter domain
s : D S 1-1 and onto
),(
),(
),(
),(
vuz
vuy
vux
vus
4
Mesh parameterization
Uniquely defined by mapping the mesh vertices to the parameter domain:
U : {v1, v2, …, vn} → D R2
U(vi) = (ui, vi)
No two edges cross in the plane U is piecewise linear (linear inside each face) Mesh parameterization mesh embedding
5
Applications
Texture mapping, 3D painting Resampling, remeshing Digital geometry processing Multi-resolution analysis
Using parameterization, we can operate on the 3D surface as if it were flat.
Remeshing images taken from “Interactive Geometry Remeshing”, P. Alliez, M. Meyer and M. Desbrun, SIGGRAPH 2002
6
Distortion and partition
Ideal parameterization is an isometry General surfaces cannot be embedded without distortion
– Surfaces with non-zero Gaussian curvature– Non-disk topology
Partitioning the surface reduces distortion But: the parameterization is not continuous over the
boundaries between the patches of the partition
7
Previous work
Partition/cut the mesh in pre-process– Interactive user input– Normals bucketing– Region growing from feature curves (Lévy et al. 02)
Flatten each patch by energy minimization– Convex mapping (Floater 97)
– Harmonic mapping (Maillot et al. 93, Eck et al 95)
– Conformal mapping (Lévy et al. 02, Desbrun et al. 02)
– Non-linear Jacobian energy minimization (Sander et al. 01)
8
Previous work – partial list
Maillot et al. 93 Eck et al. 95 Floater 97 Lévy and Mallet 98 Lee et al. 98 Haker et al. 00 Sander et al. 01 Gu et al. 02 Sheffer 02 Lévy et al. 02 Desbrun et al. 02 Zigelman et al. 02
Bennis et al. 91
9
Previous framework - discussion
A-priori partition sets lower bound on the distortion cannot comply with preset upper bound on the distortion.
If the distortion is too high, need to subdivide the partition and recompute the parameterization.
Most of the methods cannot prevent triangle flips and global self-intersections (overlaps).
High computational cost (for non-linear optimizations).
10
Bennis et al. 91
Works on C2 surfaces sampled on regular grid, even geodesic spacing in both u and v directions.
Surface Plane
If distortion > threshold stop
11
Our contribution
Parameterization with bounded distortion Simultaneous partition and parameterization Valid parameterization – no self-intersections Simple and fast algorithm Generic scheme
12
Algorithm overview
Greedy algorithm: grow one patch at a time, until no more vertices can be added.
At each step, attempts to flatten the “best” vertex adjacent to the current patch – local criteria.
The distortion of each mesh triangle is guaranteed to be below specified threshold.
13
Algorithm overview
Select random seed triangle, flatten it.
Maintain a priority queue of the vertices adjacent to the current patch.
Flatten triangles adjacent to current patch:– At each step, take the best vertex off the queue– Check for self-intersections
Stop when no triangles can be added to the patch, and start a new one.
14
The 3D surface
Patch Growth
15
The planar patch
Patch Growth
The 3D surface
16
Patch Growth
The planar patchThe 3D surface
17
Patch Growth
The planar patchThe 3D surface
18
Patch Growth
The planar patchThe 3D surface
19
Patch Growth
The planar patchThe 3D surface
20
Patch Growth
The planar patchThe 3D surface
21
Patch Growth
The planar patchThe 3D surface
22
Patch Growth
The planar patchThe 3D surface
23
Patch Growth
The planar patchThe 3D surface
24
Patch Growth
The planar patchThe 3D surface
25
22min
22max
42
1
42
1
bcaca
bcaca
t
S
t
Sc
t
S
s
Sb
s
S
s
Sa
The Jacobian distortion metric
D(T, T’) = max{max , 1/ min }
max and min are the singular values of the Jacobian [S/s S/t]:
The values max and min are the maximal stretching and shrinking caused to a unit-length vector by the mapping S
We want to equally “punish” stretch and shrink Any other reasonable metric can be used!
ST T’
In 2D In 3D
26
T1 T2
V
v
t1 t2t1 t2
v1 v2
Flattening a single vertex
27
Vertex grade components
Maximal distortion caused to the triangles flattened with the vertex. If it’s greater than the threshold, the grade is set to zero and the vertex can’t be flattened in the current patch!
The ratio between patch area and squared perimeter (to create round patches with small boundary length).
Crease angles or other segmentation information.
More criteria…
28
Local self-intersection – triangle flipping
V
1
1 2
2
Checking self-intersections
29
Global self-intersections: maintain space partition data structure, check the new triangles with the existing boundary edges.
Checking self-intersections
30
Adding seams
After the patch is finished, we may add seams as a post-process, to benefit from cylinder-like structure.
31
Adding seams
After the patch is finished, we may add seams as a post-process, to benefit from cylinder-like structure.
32
Results
11,000 triangles, 1.3 seconds, unoptimized code
33
1.01.0
1.51.5
2.02.0
3.03.03.03.0
1.01.0
1.51.5
2.02.0
3.03.0
1.01.0
1.51.5
2.02.0
3.03.0
Results
34
Bounding the area/perimeter2 ratio...
Results
40,000 triangles, 4 seconds, unoptimized code
35
Results
100,000 triangles, 9 seconds, unoptimized code
36
Results
37
Comparison with global relaxation technique, normal bucketing partition
Conclusions from the comparison:– Much faster– Lower average distortion– Boundary length – sometimes the same, sometimes longer…
38
Texture mapping with our parameterization
39
3D painting with our parameterization
40
Summary
A simple and fast method for surface parameterization Simultaneously computes the partition and the
parameterization Employs local (generic) criteria rather than global ones No self-intersections
No explicit control on the number and the size of the patches
Future work: to incorporate segmentation information to gain some “global” properties
41
Acknowledgements
Israel Science Foundation founded by the Israel Academy of Sciences and Humanities
Israeli Ministry of Science German Israel Foundation (GIF) Deutsch Institute
Thank you!