11
3 3 D Surface Parameterization D Surface Parameterization Olga Sorkine, May 2005 Olga Sorkine, May 2005 Part One Part One Parameterization and Partition Parameterization and Partition Some slides borrowed from Pierre Alliez and Craig Gotsman What is a parameterization? What is a parameterization? S S R R 3 3 - - given surface given surface D D R R 2 2 - - parameter domain parameter domain s s : D : D S 1 S 1 - - 1 and onto 1 and onto = ) , ( ) , ( ) , ( ) , ( v u z v u y v u x v u s Example Example flattening the earth flattening the earth

3D Surface Parameterization Part One Parameterization and

  • Upload
    others

  • View
    31

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 3D Surface Parameterization Part One Parameterization and

33D Surface ParameterizationD Surface Parameterization

Olga Sorkine, May 2005Olga Sorkine, May 2005

Part OnePart One

Parameterization and PartitionParameterization and Partition

Some slides borrowed from Pierre Alliez and Craig Gotsman

What is a parameterization?What is a parameterization?

S S ⊆⊆ RR3 3 -- given surfacegiven surface

D D ⊆⊆ RR22 -- parameter domainparameter domain

ss : D : D →→ S 1S 1--1 and onto 1 and onto

⎟⎟⎟

⎜⎜⎜

⎛=

),(),(),(

),(vuzvuyvux

vus

Example Example –– flattening the earthflattening the earth

Page 2: 3D Surface Parameterization Part One Parameterization and

Isoparametric curves Isoparametric curves on the surfaceon the surface

One parameter fixed, one varies:One parameter fixed, one varies:

Family 1 (varying u): Family 1 (varying u): LLv0 v0 ((uu)) = = ss((uu, v, v00))

Family 2 (varying v): Family 2 (varying v): MMu0 u0 ((vv)) = = ss((vv00, , vv))

Analytic example:Analytic example:

Parameters: Parameters: u = u = x, v = yx, v = y

D = D = [[––1,11,1]]××[[––1,1]1,1]. .

z = zz = z((x,yx,y)) = = ––((xx22+y+y22))

ss((x,yx,y)) = = ((x, y, zx, y, z((x,yx,y))))

-1

1

π α

h

Another example:Another example:

Parameters: Parameters: αα, h, h

D = D = [0,[0,ππ]]××[[––1,1]1,1]

xx((αα, h, h)) = = coscos((αα))

yy((αα, h, h)) = h= h

zz((αα, h, h)) = sin= sin((αα))

Triangular MeshTriangular Mesh

•• Standard Standard discretediscrete 3D surface representation 3D surface representation in Computer Graphics in Computer Graphics –– piecewise linearpiecewise linear

•• Mesh GeometryMesh Geometry: list of vertices (3D points of : list of vertices (3D points of the surface)the surface)

•• Mesh Connectivity or TopologyMesh Connectivity or Topology: description : description of the facesof the faces

Page 3: 3D Surface Parameterization Part One Parameterization and

Triangular MeshTriangular Mesh Triangular MeshTriangular Mesh

Mesh RepresentationMesh RepresentationGeometryGeometry::vv1 1 –– (x(x11, y, y11, z, z11))vv2 2 –– (x(x22, y, y22, z, z22))vv3 3 –– (x(x33, y, y33, z, z33))......vvnn –– ((xxnn, , yynn, , zznn))

TopologyTopology::Triangle listTriangle list{{vv11, v, v22, v, v33}}......{{vvkk, , vvll, , vvmm}}

vv11

vv22vv33

vvnn

Mesh ParameterizationMesh Parameterization

•• Uniquely defined by mapping mesh Uniquely defined by mapping mesh vertices to the parameter domain:vertices to the parameter domain:

UU : {v: {v11, , ……, , vvnn}} →→ D D ⊆⊆ RR22

UU(v(vii) = () = (uuii, v, vii))•• No two edges cross in the plane (in No two edges cross in the plane (in DD))

Mesh parameterization Mesh parameterization ⇔⇔ mesh embeddingmesh embedding

Page 4: 3D Surface Parameterization Part One Parameterization and

Mesh ParameterizationMesh Parameterization

Parameter domain

D ⊆ R2Mesh surface

S ⊆ R3

EmbeddingEmbedding UU

ParameterizationParameterization ss

s = U -1

MeshMesh ParameterizationParameterization

Mesh ParameterizationMesh Parameterization

ss and and UU are piecewiseare piecewise--linearlinearLinear inside each mesh triangleLinear inside each mesh triangle

In 2D In 3DUU

ss

A mapping between two triangles is a unique affine mapping

A B

C

P

BarycentricBarycentric CoordinatesCoordinates

, , , , , ,, , , , , ,

, , denotes the (signed) area of the triangle

P B C P C A P A BP A B C

A B C A B C A B C= + +

⋅ ⋅ ⋅

Page 5: 3D Surface Parameterization Part One Parameterization and

Mapping between TrianglesMapping between Trianglesss

p1p2

p3

q1 q2

q3

3321

212

321

131

321

32

,,,,

,,,,

,,,,

)( qppp

ppq

ppppp

qppppp ppp

ps ++=

•• Only topological disks can be embeddedOnly topological disks can be embedded

•• Other topologies must be Other topologies must be ““cutcut”” or partitionedor partitioned

NonNon--SimpleSimple DomainsDomains CuttingCutting

Page 6: 3D Surface Parameterization Part One Parameterization and

Applications of parameterizationApplications of parameterization

•• Texture mappingTexture mapping•• Surface resampling (Surface resampling (remeshingremeshing))

–– Mesh compressionMesh compression–– MultiresolutionMultiresolution analysisanalysis

Using parameterization, we can operate Using parameterization, we can operate on the 3D surface as if it were flaton the 3D surface as if it were flat

Texture mappingTexture mapping

RemeshingRemeshing RemeshingRemeshing

Page 7: 3D Surface Parameterization Part One Parameterization and

RemeshingRemeshing

parameterizationparameterization

resamplingresampling

RemeshingRemeshing

RemeshingRemeshing examplesexamples More More remeshingremeshing examplesexamples

Page 8: 3D Surface Parameterization Part One Parameterization and

Bad parameterizationBad parameterization…… Example of severe distortionExample of severe distortion

Distortion measuresDistortion measures

•• Angle preservationAngle preservation•• Area preservationArea preservation•• StretchStretch•• etc...etc...

Bad parameterizationBad parameterization

Page 9: 3D Surface Parameterization Part One Parameterization and

BetterBetter……Distortion minimizationDistortion minimization

Kent et al ‘92 Floater 97 Sander et al ‘01

Texture map

ResamplingResampling problemsproblems

Cat mesh Distortingembedding

Resamplingon regular grid

Dealing with distortion and Dealing with distortion and nonnon--disk topologydisk topology

ProblemsProblems: : 1) Parameterization of complex surfaces 1) Parameterization of complex surfaces

introduces introduces distortion. distortion. 2) Only topological disk can be embedded.2) Only topological disk can be embedded.

SolutionSolution: : partitionpartition the mesh into several the mesh into several patches and/or introduce patches and/or introduce seams (cuts)seams (cuts), , parameterize each patch independently.parameterize each patch independently.

Page 10: 3D Surface Parameterization Part One Parameterization and

PartitioningPartitioning Introducing seams (cuts)Introducing seams (cuts)

Introducing seams (cuts)Introducing seams (cuts) Introducing seams (cuts)Introducing seams (cuts)

Page 11: 3D Surface Parameterization Part One Parameterization and

Introducing seams (cuts)Introducing seams (cuts) ProblemsProblems•• Discontinuity of parameterizationDiscontinuity of parameterization•• Visible artifacts in texture mappingVisible artifacts in texture mapping•• Require special treatmentRequire special treatment

–– Vertices along seams have several (u,v) Vertices along seams have several (u,v) coordinatescoordinates

–– Problems in Problems in mipmip--mappingmapping

Make seams short and hide them

SummarySummary

•• ““GoodGood”” parameterization = nonparameterization = non--distortingdistorting–– Angles and area preservationAngles and area preservation–– Continuous parameterization of complex surfaces Continuous parameterization of complex surfaces

cannot avoid distortion.cannot avoid distortion.

•• ““GoodGood”” partition/cut:partition/cut:–– Large patches, minimize seam lengthLarge patches, minimize seam length–– Align seams with features (=hide them)Align seams with features (=hide them)

End of Part OneEnd of Part One