Anda di halaman 1dari 35

Parameterization of Meshed Surfaces

Presented by: Nathan Carr

What is Surface Parameterization?


A mapping between locations in Euclidean 2space, to locations on some surface in
embedded in 3-space.

: 3

Is this important to computer graphics?


A very hot topic of research:

Polyhedral Projection ( Maillot et. al. )


Shape Preserving ( Floater )
Conformal ( Sheffer et al., Desbrun et al.,Levy et al. )
Authalic (Desbrun et al. )
Signal Specialized ( Sander et. al. )
Non-linear Metrics (Hormann and Greiner,..)
Anisotropic ( Guskov )
Progressive Meshes ( Sander et. al. )
Adaptive ( Igarishi and Cosgrove )
Dynamic MMA Atlas (Carr and Hart)
and many, many more

Why Parameterize?
3 Big Reasons:
Texture mapping, Texture mapping, and Texture
mapping
2D images are a great place to store surface data.
Fast graphics hardware supported rendering.
Easy to post-filter (bilinear filtering, mip-mapping).

Other Reasons:
2D is sometimes easier to work with
Remeshing
Surface Computation

Simplest Methods (basic projections)


Planar Projection

Cylindrical Projection

Spherical Projection

Whats wrong with theses methods?

Some Definitions
Let M be a surface in 3-D
Def: M is a manifold iff a neighborhood of any point x in
M is topologically equivalent to the unit disk ( e.g. locally
appears like R2 )
Q1: Why is the manifold property important?
Q2: How can I violate this property in constructing some
triangle mesh?
embedding
Def: forms an embedding for M iff no fold-overs
occur in the parameter domain .

Texture Atlases
Texture Atlas
Def: An injective mapping between an objects
surface and a texture.

Surface

Texture domain

Parameterization and Topology


Not all surfaces are flattenable without
cutting
Closed manifolds

The more topologically complex the more


cuts required to lay the surface flat
Sphere requires 1 cut
Torus ( a donut ) requires 2 cuts

Atlas Generation via Triangle Packing


V

Texture Map

U
Isosceles Pack With Area Distribution
v

Polyhedral Projection/Normal Bucketing

Polyhedral Projection

General Goals for Parameterization


Guarantee and embedding
Fold-over is bad!

Minimize seams ( maximize continuity in texture


space )
Minimize distortion
Each triangle should get its fair share of texture
space!

Minimize wasted texture space


Make it post-filterable
Allow for bilinear filtering and mip-mapping

Make it rasterization friendly with graphics


hardware

Single Chart, Linear Solve Methods


3

Map single closed loop boundary to boundary of parameter domain

Linear System Construction


ui

Make every internal vertex is a linear combination of its neighbors:

w u

u j N i

ij

w u

u j Bi

ij

ui

Position To Solve For


Non-Border Neighbors
(unknown)

Border Neighbors
(known)

Weighting: Convex combination


Make every vertex a convex combination of its
neighbors.
Two Properties:

wij 0
Property 1

w w

jNi

ij

jBi

ij

Property 2

If parameter domain is convex Guarantees


and embedding. Why?
Simplest choice of weights: wij=1/valance(i)

Linear System Construction Cont.

w u

u j N i

ij

w u

u j Bi

ij

ui
Position To Solve For

Non-Border Neighbors
(unknown)

Border Neighbors
(known)

Rearrange Terms

ui wij u j wij u j
u j N i
u j Bi

Ax

The Linear System


w1 j u j
w12 w1n u1 u j B1
1

w
2n
21

w
u
1 un nj j
wn1 wn 2
u j Bn

Yields Sparse Linear System!!!


Efficiently solved using:

conjugate-gradient (wij=wji)
biconjugate-gradient (wijwji)

Internal Vertices
(unknown)

Border Vertices
(known)

More on choosing weights


Tutte Weights *:

1
wij
valence(ui )

ui

Mean Value (shape preserving) *,**:

tan(1 / 2) tan( 2 / 2)
wij
ui u j

1 2
1 2

uj

Conformal **:

wij

cot(1 ) cot( 2 )
ui u j

Authalic **:

wij cot( 1 ) cot( 2 )

* Strictly Positive (
embedding is
guaranteed)
**Normalize weights so
they sum to one

Are Linear Methods Good Enough


NO!

High Area
Distortion

Solution 1: Make addition cuts???

Solution 2: Non-linear Metrics


Goals:
Better preserve area ratios between triangles.
Avoid shearing/stretch in parameterization
Allow parameter domain to take on a natural
shape that minimizes the distortion.

: 3

Geometric Stretch Metric


u3
u1

p3

P(u)

p1

u2

u=[u,v]2

(u )

p2

u, u2 , u3 p1 u, u3 , u1 p2 u, u1 , u2 p3
u1 , u2 , u3

u1 , u2 , u3 denotes the area of p1 p2 p3

The Jacobian Matrix


u3

p3

u1

u2

(u,v)2

p1

p2

Mapped
Tangent Vectors

x
u

y
J

u v u
z
u

x
v
y

v
z

Computing the singular values


x
u

y
J

u v u
z
u

x
v
y

v
z
v

The values 1 and 2 are


the maximal stretching
and shrinking caused to
a unit-length vector by
the mapping .

Closed form solution to singular values of J:


1
1
a c
2

a c 2 4b 2

1
2
a c
2

a c 2 4b 2

u u

u v

v v

Non-linear Metrics based on singular values


Let T be a parameterized triangle
Possible Error Metrics:
-

E(T) = max(1)
E(T) = max(1/ 2)
E(T) = max(1 , 1/2)
E(T) = sqrt( (12 + 22) / 2)

max stretching
stretching over shrinkage
max shrinkage or stretching
rms shrinkage & stretching

Note: E(T) as triangle becomes degenerate.


Make E(T)=, when triangle flips
Error for an entire mesh can be defined as:

A(Ti )E (Ti )

E (M )

Ti M

A(T )

Ti M

A(T) area of
triangle in 3D

Solving the non-linear system


Steps to solve non-linear system:
1. Solve for the parameterization with a
linear method.
2. Perform non-linear optimization.
Work on a single one-ring at a time
Perform random line search and repeat

More principled approaches possible

Analytic Gradient
Newtons method
Conjugate Gradient
Multi-grid

Parameterization Comparison: Area Distortion

Authalic

L2 Stretch

oversampled

Conformal

Zang et al. Stretch

Mean-Value

L2 Multi-Chart

undersampled

Mesh Cutting and Segmentation


Meshes of higher
genus(topology) or closed
surfaces must be cut or
segmented.
Which surfaces may be
flattened without
distortion/stretch?
Multi-chart Geometry Images
Sander et al.

Developable Surfaces
developable
Def: M is developable iff it is flattenable without
distortion. For this to be true M must have zero
Gaussian curvature at every point x on the surface
Gaussian Curvature: product of principle curvatures K1 and K2
K1
K1
K2
K2

Signal Specialized Parameterization


Ideally we want the parameterization to
reconstruct some surface signal over our mesh

Geometry ( weve already done this )


Colors
Bumps
Normals

Signal may vary across the triangle


Triangles with high frequency signals should
receive more texture space.
Solution: Analyze instead of .
Form the (n x 2) Jacobian matrix
Examine the two singular values of J: 1 , 2
Integrate the stretch error over the surface of the
triangle.

Signal Stretch Results


Provides better usage of texture space
Can be viewed as a compression method

Geometry Images SIGGRAPH 2002


X. Gu, S. Gortler, H. Hoppe

Idea:
Given a manifold (w/ or w/out boundary ) perform the
following:
1. Find the cuts necessary to flatten the model into 2D.
2. Parameterize the model forcing the boundary (cut
edges) to lie along edges of a rectangle.
3. If distortion is high

Find additional cuts to reduce distortion.


Return to step 2.

Geometry Images
Example of the iterative cut and
parameterize process..

Geometry Images Examples

Parametrization & GPUs

Anda mungkin juga menyukai