You are on page 1of 46

3D Surface Parameterization

Olga Sorkine, May 2005

Part One
Parameterization and Partition

Some slides borrowed from Pierre Alliez and Craig Got

What is a parameterization?
S R3 - given surface
D R2 - parameter domain
s:D S

1-1 and onto

x(u , v)

s(u , v) y (u , v)
z (u , v)

Example flattening the earth

Isoparametric curves
on the surface
One parameter fixed, one varies:
Family 1 (varying u):

Lv0 (u) = s(u, v0)

Family 2 (varying v):

Mu0 (v) = s(v0, v)

Analytic example:

Parameters: u = x, v = y
D = [1,1] [1,1].

z = z(x,y) = (x2+y2)
s(x,y) = (x, y, z(x,y))

Another example:
Parameters: ,
h
D = [0,] [1,1]
x(, h) = cos()
y(, h) = h

h
1

-1

z(, h) = sin()

Triangular Mesh
Standard discrete 3D surface representation
in Computer Graphics piecewise linear
Mesh Geometry: list of vertices (3D points of
the surface)
Mesh Connectivity or Topology: description
of the faces

Triangular Mesh

Triangular Mesh

Mesh Representation
Geometry:
v1
v2
v3
.
.
.
vn

(x1, y1, z1)


(x2, y2, z2)
(x3, y3, z3)

(xn, yn, zn)

v3
vn

Topology:
Triangle list
{v1, v2, v3}
.
.
.
{vk, vl, vm}

v2
v1

Mesh Parameterization
Uniquely defined by mapping mesh
vertices to the parameter domain:

U : {v1, , vn} D R2
U(vi) = (ui, vi)
No two edges cross in the plane (in D)
Mesh parameterization mesh embedding

Mesh parameterization
Parameterizatio
ns

Embedding

U
Parameter
domain
2

DR

Mesh surface

s=U

-1

S R3

Mesh parameterization

Mesh parameterization
s and U are piecewise-linear
Linear inside each mesh triangle
s

In 2D

In 3D

A mapping between two


triangles is a unique affine

Barycentric coordinates
C
P
A

r
P, B, C r
P
A
A, B, C

P, C , A r
B
A, B, C

P, A, B r
C
A, B, C

, , denotes the (signed) area of the triangle

Mapping triangle to triangle


s

p3
p1

s(p)

p, p2 , p3
p1 , p2 , p3

p2

q1

q3

q1

p, p3 , p1
p1 , p2 , p3

q2

q2

p, p1 , p2
p1 , p2 , p3

q3

Only topological disks can be embedded


Other topologies must be cut or partitioned

Non-simple domains

Cutting

Applications of parameterization
Texture mapping
Surface resampling (remeshing)
Mesh compression
Multiresolution analysis

Using parameterization, we can


operate on the 3D surface as if it
were flat

Texture mapping

Texture mapping

Texture mapping

Remeshing

Remeshing

Remeshing
parameterization

resampling

Remeshing

Remeshing examples

More remeshing examples

Bad parameterization

Distortion measures

Angle preservation
Area preservation
Stretch
etc...

Bad parameterization

Better

Distortion minimization

Texture map

Kent et al 92

Floater 97

Sander et al 01

Resampling problems

Cat mesh

Distorting
embedding

Resampling
on regular grid

Dealing with distortion and


non-disk topology
Problems:
1) Parameterization of complex surfaces
introduces distortion.
2) Only topological disk can be embedded.
Solution: partition and/or cut the mesh into
several patches, parameterize each patch
independently.

Partition

Introducing seams (cuts)

Introducing seams (cuts)

Introducing seams (cuts)

Introducing seams (cuts)

Partition problems

Discontinuity of parameterization
Visible artifacts in texture mapping
Require special treatment
Vertices along seams have several (u,v)
coordinates
Problems in mip-mapping

Make seams short and hide


them

Piecewise continuous
parameterization

Summary
Good parameterization = non-distorting
Angles and area preservation
Continuous param. of complex surfaces cannot
avoid distortion.

Good partition/cut:
Large patches, minimize seam length
Align seams with features (=hide them)

End of Part One

You might also like