digital geometry processing
play

DIGITAL GEOMETRY PROCESSING Algorithms for Representing, Analyzing - PowerPoint PPT Presentation

DIGITAL GEOMETRY PROCESSING Algorithms for Representing, Analyzing and Comparing 3D shapes Announcement If taking course for credit: Submit all of the basic exercises (the code + 1 paragraph description in case you had trouble). Submit


  1. DIGITAL GEOMETRY PROCESSING Algorithms for Representing, Analyzing and Comparing 3D shapes

  2. Announcement If taking course for credit: • Submit all of the basic exercises (the code + 1 paragraph description in case you had trouble). • Submit one bonus exercise and a 2-3 page write-up describing the implementation and the results. • Of course, can pick your own project if you want.

  3. Today • Surface Parameterization

  4. Today • Painting on Surfaces Painting directly on the 3d object Mari software Substance 3D Painter

  5. Parameterization Canonical application: texture mapping

  6. What we would like to do

  7. Parameterization Problem Given a surface (mesh) S in R 3 and a domain Ω (e.g. plane) : Find a bijective map U: Ω ↔ S.

  8. Parameterization for Texture Mapping Bodypaint 3D

  9. Parameterization for Texture Mapping Rendering workflow:

  10. Parameterization – Typical Domains

  11. Parameterization – Boundary Problem Source: Mirela Ben-Chen

  12. Parameterization – Many Possibilities Source: Mirela Ben-Chen

  13. Parameterization – Applications Recall Mesh simplification: • Approximate the geometry using few triangles Idea: • Decouple geometry from appearance ~600 triangles ~600k triangles

  14. Parameterization – Applications Recall Mesh simplification: • Approximate the geometry using few triangles Idea: • Decouple geometry from appearance Observation: appearance (light reflection) depends on the geometry + normal directions.

  15. Parameterization – Applications Normal Mapping Idea: • Decouple geometry from appearance • Encode a normal field inside each triangle Cohen et al., ‘98 Cignoni et al. ‘98

  16. Parameterization – Applications Normal Mapping with parameterization: • Store normal field as an RGB texture.

  17. Parameterization – Applications source: Mirela Ben-Chen

  18. Parameterization – Applications source: Mirela Ben-Chen

  19. Parameterization – Applications Gu, Gortler, Hoppe. Geometry Images. SIGGRAPH 2002

  20. Parameterization – Applications General Idea: Things become easier in a canonical domain (e.g. on a plane). Other Applications: • Surface Fitting • Editing • Mesh Completion • Mesh Interpolation • Morphing and Transfer • Shape Matching • Visualization …

  21. Parameterization onto the plane General problem: • Given a mesh (T, P) in 3D find a bijective mapping g : P → R 2 g ( p i ) = u i = ( u i , v i ) g ( p 2 ) g ( p 1 )

  22. Parameterization onto the plane General problem: • Given a mesh (T, P) in 3D find a bijective mapping g : P → R 2 g ( p i ) = u i = ( u i , v i )

  23. Parameterization onto the plane Simplified problem: • Given a mesh (T, P) in 3D find a bijective mapping g : P → R 2 g ( p i ) = u i = ( u i , v i ) under some boundary constraints: g ( b j ) = u j for some { b j } g ( p i ) =? g ( b j ) =

  24. Parameterization onto the plane Recall a related problem. Mapping the Earth : find a parameterization of a 3d object onto a plane.

  25. Mapping the earth Stereographic projection Maps circles to circles Hipparchus (190–120 B.C.)

  26. Mapping the earth Mercator Gerardus Mercator (1569)

  27. Mapping the earth Mercator projection Maps loxodromes (rhumb lines) to straight lines Source: Jason Davies https://www.jasondavies.com/maps/loxodrome/

  28. Mapping the earth Mercator (preserves angles, but distorts areas) Maps loxodromes to lines Gerardus Mercator (1569)

  29. Mapping the earth Lambert (preserves areas, but distorts angles) Johann Heinrich Lambert (1772)

  30. Different kinds of Parameterization Various notions of distortion: 1. Equiareal: preserving areas (up to scale) 2. Conformal: preserving angles of intersections 3. Isometric: preserving geodesic distances (up to scale) Theorem : Isometric = Conformal + Equiareal

  31. Different kinds of Parameterization Intrinsic properties : Those that depend on angles and distances on the surface. E.g. Intrinsic: geodesic distances Extrinsic: coordinates of points in space Remark: Intrinsic properties are preserved by isometries. Bad news: Gauss’s Theorema Egregium: curvature is an intrinsic property. There is no isometric mapping between a sphere and a plane.

  32. Different kinds of Parameterization

  33. Different kinds of Parameterization

  34. Different kinds of Parameterization Since we are dealing with a triangle mesh, we first need to ensure a bijective map

  35. Spring Model for Parameterization Given a mesh (T, P) in 3D find a bijective mapping g ( p i ) = u i = ( given constraints: g ( b j ) = u j for some { b j } Model: imagine a spring at each edge of the mesh. If the boundary is fixed, let the interior points find an equilibrium .

  36. Spring Model for Parameterization Recall: potential energy of a spring stretched by distance x : E ( x ) = 1 2 kx 2 k : spring constant. x

  37. Spring Model for Parameterization Given an embedding (parameterization) of a mesh, the potential energy of the whole system: 1 X 2 D e k u e 1 � u e 2 k 2 E = e n = 1 1 X X 2 D ij k u i � u j k 2 2 j ∈ N i i =1 Where is the spring constant of edge e between i and j D e = D ij Goal: find the coordinates that would minimize E . { u i } Note: the boundary vertices prevent the degenerate solution.

  38. Parameterization with Barycentric Coordinates Finding the optimum of: n E = 1 1 X X 2 D ij k u i � u j k 2 2 j ∈ N i i =1 ∂ E X D ij ( u i − u j ) = 0 = 0 ⇒ ∂ u i j ∈ N i D ij X λ ij u j , where λ ij = ⇒ u i = P j ∈ N i D ij j ∈ N i I.e. each point must be an convex combination of its neighbors. u i = Hence: barycentric coordinates.

  39. Parameterization with Barycentric Coordinates To find the solution in practice: 1. Fix the boundary points b i , i ∈ B 2. Form linear equations u i = b i , if i ∈ B X λ ij u j = 0 , if i / u i − ∈ B j ∈ N i 3. Assemble into two linear systems (one for each coordinate):  if i = j 1  LU = ¯ LV = ¯ L ij = if j ∈ N i , i / ∈ B − λ ij U, V 0 otherwise  4. Solution of the linear system gives the coordinates: u i = ( u i , v i ) Note: system is very sparse, can solve efficiently.

  40. Parameterization with Barycentric Coordinates Does this work?

  41. Laplacian Matrix Our system of equations (forgetting about boundary): D ij X λ ij u j , where λ ij = u i = P j ∈ N i D ij j ∈ N i  1 if i = j  LU = 0 L is not symmetric if j ∈ N i L ij = − λ ij 0 otherwise  Alternatively, if we write it as: X X D ij = D ij u j u i j ∈ N i j ∈ N i L is symmetric We get: 8 P k ∈ N i D ij if i = j < LU = 0 if j ∈ N i L ij = − D ij 0 otherwise :

  42. Parameterization with Barycentric Coordinates Example: Uniform weights: D ij = 1

  43. Parameterization with Barycentric Coordinates Linear Reproduction: • If the mesh is already planar we want to recover the original coordinates. Problem: • Uniform weights do not achieve linear reproduction • Same for weights proportional to distances.

  44. Parameterization with Barycentric Coordinates Linear Reproduction: • If the mesh is already planar we want to recover the original coordinates. Problem: • Uniform weights do not achieve linear reproduction • Same for weights proportional to distances. Solution: • If the weights are barycentric with respect to original points : X X p i = λ ij p j , λ ij = 1 j ∈ N i j ∈ N i The resulting system will recover the planar coordinates.

  45. Parameterization with Barycentric Coordinates Solution: • Barycentric coordinates with respect to original points: X X λ ij p j , λ ij = 1 p i = j ∈ N i j ∈ N i p j • If a point has 3 neighbors, then the p i barycentric coordinates are unique. p i • For more than 3 neighbors, many possible choices exist. p j p j

  46. Conformal Mappings Some good news. Riemann Mapping Theorem: Any surface topologically equivalent to a disk, can be conformally mapped to a unit disk. Cauchy-Riemann equations: y v If a map (x,y) (u,v) is conformal x u then u(x,y) and v(x,y) satisfy: ∂ y = − ∂ v ∂ u ∂ x = ∂ v ∂ u ∂ y ∂ x

  47. Conformal Mappings Some good news. Riemann Mapping Theorem: Any surface topologically equivalent to a disk, can be conformally mapped to a unit disk. Cauchy-Riemann equations: y v If a map (x,y) (u,v) is conformal x then both u and v are harmonic: u ✓ ∂ 2 ∂ x 2 + ∂ 2 ◆ u = 0 ∂ y 2 ✓ ∂ 2 ∂ x 2 + ∂ 2 ◆ v = 0 ∂ y 2

  48. Conformal Mappings Some good news. Riemann Mapping Theorem: Any surface topologically equivalent to a disk, can be conformally mapped to a unit disk. Cauchy-Riemann equations: y v If a map (x,y) (u,v) is conformal x then both u and v are harmonic: u ∆ u = 0 ∆ v = 0

  49. Conformal Mappings Some good news. Riemann Mapping Theorem: Any surface topologically equivalent to a disk, can be conformally mapped to a unit disk. If a map (u,v) is conformal S then both u and v are harmonic: ∆ S u = 0 ∆ S v = 0 ∆ S : Laplace-Beltrami operator.

  50. Harmonic Mappings Recap: Isometric => Conformal => Harmonic Harmonic mappings easiest to compute, but may not preserve angles. May not be bijective. Harmonic maps minimize Dirichlet energy: E D ( f ) = 1 X kr S f k 2 2 S Given the boundary conditions.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend