9.1 Surface Parameterization Hao Li http://cs621.hao-li.com 1 - - PowerPoint PPT Presentation

9 1 surface parameterization
SMART_READER_LITE
LIVE PREVIEW

9.1 Surface Parameterization Hao Li http://cs621.hao-li.com 1 - - PowerPoint PPT Presentation

Spring 2017 CSCI 621: Digital Geometry Processing 9.1 Surface Parameterization Hao Li http://cs621.hao-li.com 1 Modeling 2 Modeling 3 Viewpaint The creation of a 3D assets surface, including that surfaces color, texture, opacity, and


slide-1
SLIDE 1

CSCI 621: Digital Geometry Processing

Hao Li

http://cs621.hao-li.com

1

Spring 2017

9.1 Surface Parameterization

slide-2
SLIDE 2

Modeling

2

slide-3
SLIDE 3

Modeling

3

slide-4
SLIDE 4

Viewpaint

4

The creation of a 3D assets surface, including that surface’s color, texture, opacity, and reflectivity (or specularity).

slide-5
SLIDE 5

Viewpaint

5

Rango: Creating creature scale textures in ZBrush...

slide-6
SLIDE 6

Viewpaint

6

(Wrinkle Pass)

slide-7
SLIDE 7

Color Maps

7

slide-8
SLIDE 8

Wet Maps

8

slide-9
SLIDE 9

bump Maps

9

slide-10
SLIDE 10

Motivation

10

Texture Mapping

Levy et al.: Least squares conformal maps for automatic texture atlas generation, SIGGRAPH 2002.

slide-11
SLIDE 11

Motivation

11

Normal Mapping

slide-12
SLIDE 12

Motivation

12

slide-13
SLIDE 13

Motivation

13

slide-14
SLIDE 14

Motivation

14

slide-15
SLIDE 15

Mesh Parameterization

15

Find a 1-to-1 mapping between given surface mesh and 2D parameter domain

slide-16
SLIDE 16

Unfolding Earth

16

A

B

C

D A B C D

slide-17
SLIDE 17

Spherical Coordinates

17

θ φ ⇥ ⇥ ⇤ ⇧ sin θ sin φ cos θ sin φ cos φ ⌅ ⌃

θ φ θ φ 2π −π π

slide-18
SLIDE 18

Desirable Properties

18

Low distortion Bijective mapping

slide-19
SLIDE 19

Cartography

19

  • rthographic

stereographic Lambert Mercator preserves angles = conformal preserves area = equiareal

Floater, Hormann: Surface Parameterization: A Tutorial and Survey, Advances in Multiresolution for Geometric Modeling, 2005

slide-20
SLIDE 20

More Maps

20

slide-21
SLIDE 21

Demo: Parameterization

21

slide-22
SLIDE 22

Recall: Differential Geometry

22

Parametric surface representation

p

xu xv

x : Ω IR2 ⇥ S IR3 (u, v) ⇤⇥   x(u, v) y(u, v) z(u, v)  

Regular if

  • Coordinate functions x,y,z are smooth
  • Tangents are linearly independent

xu xv ⇥= 0

slide-23
SLIDE 23

Definitions

23

A regular parameterization is

  • Conformal (angle preserving), if the angle of every pair of

intersecting curves on is the same as that of the corresponding pre-images in .

  • Equiareal (area preserving) if every part of is mapped
  • nto a part of with the same area
  • Isometric (length preserving), if the length of any arc on

is the same as that of its pre-image in .

x : Ω → S S Ω Ω S S Ω

slide-24
SLIDE 24

Distortion Analysis

24

u = (u, v) x = (x, y, z)

x : IR2 → IR3

J =   xu xv yu yv zu zv  

dx = Jdu dx2 = (du)T JT J du = (du)T I du

Jacobian transforms infinitesimal vectors

slide-25
SLIDE 25

First Fundamental Form

25

Characterizes the surface locally

I = xT

u xu

xT

u xv

xT

u xv

xT

v xv

Allows to measure on the surface

  • Angles
  • Length
  • Area

cos θ =

  • duT

1 I du2

⇥ / (⇥du1⇥ ·⇥ du2⇥) ds2 = duT I du dA = det(I) du dv

slide-26
SLIDE 26

Isometric Maps

26

A regular parameterization is isometric, iff its first fundamental form is the identity:

x(u, v)

I(u, v) =

  • 1

1 ⇥

A surface has an isometric parameterization iff it has zero Gaussian curvature

slide-27
SLIDE 27

Cylinder

27

slide-28
SLIDE 28

Conformal Maps (A-Similar-AP)

28

A regular parameterization is conformal, iff its first fundamental form is a scalar multiple of the identity:

I(u, v) = s(u, v) ·

  • 1

1 ⇥ f

x(u, v)

slide-29
SLIDE 29

Conformal Flow

29

Crane et al. Spin Transformations of Discrete Surfaces, ACM Siggraph 2011

slide-30
SLIDE 30

Equiareal Maps

30

A regular parameterization is equiareal, iff the determinant of its first fundamental form is 1:

det(I(u, v)) = 1

x(u, v)

slide-31
SLIDE 31

Relationships

31

An isometric parameterization is conformal and equiareal, and vice versa: isometric ⇔ conformal + equiareal Isometric is ideal, but rare. In practice, people try to compute:

  • Conformal
  • Equiareal
  • Some balance between the two
slide-32
SLIDE 32

Harmonic Maps

32

  • A regular parameterization is harmonic, iff it

satisfies

  • isometric ⇒ conformal ⇒ harmonic
  • Easier to compute than conformal, but does not

preserve angles

∆x(u, v) = 0

x(u, v)

slide-33
SLIDE 33

Harmonic Maps

33

  • A harmonic map minimizes the Dirichlet energy

Z

krxk2 = Z

kxuk2 + kxvk2 du dv

  • Variational calculus then tells us that

∆x(u, v) = 0

  • If is harmonic and maps the boundary of

a convex region homeomorphically onto the boundary , then is one-to-one.

x : Ω → S ∂Ω Ω ⊂ R2 ∂S x

slide-34
SLIDE 34

Parameterization Goal

34

  • Piecewise linear mapping of a discrete 3D triangle mesh
  • nto a planar 2D polygon
  • Slightly different situation: Given a 3D mesh, compute

the inverse parameterization

slide-35
SLIDE 35

Floater’s Parameterization

35

slide-36
SLIDE 36

Floater’s Parameterization

36

  • For Quadrilateral Patch
  • Fix the parameters of the boundary vertices on a unit

square

  • Derive the bijection for each of the interior vertices

by solving

u vi

slide-37
SLIDE 37

Floater’s Algorithm

37

  • Compute for each the
  • Compute a local parameterization for that

preserves the aspect ratio of the angle and length

  • Compute that satisfies
  • Solve the sparse equation for

i v(i) u(vi), i = 1 . . . n

slide-38
SLIDE 38

Discrete Harmonic Maps

38

  • Map the boundary homeomorphically to some

(convex) polygon in the parameter plane

∂S ∂Ω

  • Minimize the Dirichlet energy of by solving the

corresponding Euler-Lagrange PDE

  • Requires discretization of Laplace-Beltrami
  • Compare to surface fairing

∆S u = 0

u

slide-39
SLIDE 39

Discrete Harmonic Maps

39

  • System of linear equations

αij

βij

vi vj

wij = cotαij + cotβij ∀vi ∈ S :

  • vj∈N1(vi)

wij (u(vj) − u(vi))

  • Properties of system matrix:
  • Symmetric + positive definite → unique solution
  • Sparse → efficient solvers
slide-40
SLIDE 40

Discrete Harmonic Maps

40

  • But…
  • Does the same theory hold for discrete harmonic

maps as for harmonic maps?

  • In other words, is it possible for triangles to flip or

become degenerate?

slide-41
SLIDE 41

Convex Combination Maps

41

  • If the linear equations are satisfied

and if the weights satisfy then we get a convex combination mapping.

  • vj∈N1(vi)

wij (u(vj) − u(vi)) wij > 0 ∧

  • vj∈N1(vi)

wij = 1

slide-42
SLIDE 42

Convex Combination Maps

42

  • Each is a convex combination of

u(vi) u(vj) u(vi) =

  • vj∈N1(vi)

wiju(vj)

  • If is a convex combination map that

maps the boundary homeomorphically to the boundary of a convex region , then is one-to-one.

u : S → Ω ∂S ∂Ω Ω ⊂ R2 u

slide-43
SLIDE 43

Convex Combination Maps

43

  • Uniform barycentric weights

wij = 1/valence(vi)

  • Cotangent weights ( if )
  • Mean value weights

wij = cot(αij) + cot(βij) wij = tan(δij/2) + tan(γij/2) ⇥pj pi⇥

αij

βij

vi

vj

> 0 αij + βij < π

δij

γij

(no negative weights, even for obtuse angles)

slide-44
SLIDE 44

Convex Combination Maps

44

  • Comparison
  • riginal

mesh uniform weights cotan weights (shape preserving) mean value

slide-45
SLIDE 45

Fixing the Boundary

45

  • Choose a simple convex shape
  • Triangle, square, circle
  • Distribute points on boundary
  • Use chord length parameterization

Fixed boundary can create high distortion

slide-46
SLIDE 46

Open Boundary Mappings

46

  • Include boundary vertices in the optimization
  • Produces mappings with lower distortion
slide-47
SLIDE 47

Open Boundary Mappings

47

slide-48
SLIDE 48

Need disk-like topology

48

  • Introduce cuts on the mesh
slide-49
SLIDE 49

Naive Cut, Numerical Problems

49

slide-50
SLIDE 50

Smart Cut, Free Boundary

50

slide-51
SLIDE 51

Texture Atlas Generation

51

  • Split model into number of patches (atlas)
  • because higher genus models cannot be mapped onto

plane and/or

  • because distortion, the number of patches will be too

high eventually

Levy, Petitjean, Ray, Maillot: Least Squares Conformal Maps for Automatic Texture Atlas Generation, SIGGRAPH, 2002

slide-52
SLIDE 52

Levy, Petitjean, Ray, Maillot: Least Squares Conformal Maps for Automatic Texture Atlas Generation, SIGGRAPH, 2002

Texture Atlas Generation

52

  • Split model into number of patches (atlas)
  • because higher genus models cannot be mapped onto

plane and/or

  • because distortion, the number of patches will be too

high eventually

slide-53
SLIDE 53

Non-Planar Domains

53

seamless, continuous parameterization of genus-0 surfaces

slide-54
SLIDE 54

Global Parameterization – Range Images

54

slide-55
SLIDE 55

Constrained Parameterizations

55

Levy: Constraint Texture Mapping, SIGGRAPH 2001.

slide-56
SLIDE 56

Literature

56

  • Book, Chapter 5
  • Hormann et al.: Mesh Parameterization, Theory and Practice,

Siggraph 2007 Course Notes

  • Floater and Hormann: Surface Parameterization: a tutorial and

survey, advances in multiresolution for geometric modeling, Springer 2005

  • Hormann, Polthier, and Sheffer, Mesh Parameterization: Theory and

Practice, SIGGRAPH Asia 2008 Course Notes

slide-57
SLIDE 57

Next Time

57

Decimation

slide-58
SLIDE 58

http://cs621.hao-li.com

Thanks!

58