lecture 22 laplacian mesh editing
play

Lecture 22: Laplacian Mesh Editing COMPSCI/MATH 290-04 Chris - PowerPoint PPT Presentation

Lecture 22: Laplacian Mesh Editing COMPSCI/MATH 290-04 Chris Tralie, Duke University 4/5/2016 COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing Announcements First project milestone Monday 4/11/2016 First milestone 20% Group


  1. Lecture 22: Laplacian Mesh Editing COMPSCI/MATH 290-04 Chris Tralie, Duke University 4/5/2016 COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  2. Announcements ⊲ First project milestone Monday 4/11/2016 ⊲ First milestone 20% ⊲ Group Assignment 3 Out This Week COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  3. Table of Contents ◮ Mesh Editing Overview / Discrete Curvature ⊲ Laplacian Mesh Editing COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  4. Mesh Editing Overview COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  5. Mesh Editing Overview COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  6. Mesh Editing Overview This is not what we want! COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  7. Mesh Editing Overview COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  8. Mesh Editing Overview This is much better! Preserve relative information about points to neighbors COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  9. Parameterized Curves / Curvature Curvature κ is 1 r , where r is radius of osculating circle COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  10. Parameterized Curves / Curvature Curvature κ is 1 r , where r is radius of osculating circle Curvature can also be considered as a vector κ� n COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  11. Parameterized Curves / Curvature γ ( t ) = ( x ( t ) , y ( t )) Velocity � dx ( t ) � , dy ( t ) γ ′ ( t ) = dt dt COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  12. Parameterized Curves / Curvature γ ( t ) = ( x ( t ) , y ( t )) Velocity � dx ( t ) � , dy ( t ) γ ′ ( t ) = dt dt Assume parameterized by arc length ; that is, curve moving at a unit speed. In other words γ ′ ( t ) · γ ′ ( t ) = 1 COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  13. Parameterized Curves / Curvature γ ( t ) = ( x ( t ) , y ( t )) Velocity � dx ( t ) � , dy ( t ) γ ′ ( t ) = dt dt Assume parameterized by arc length ; that is, curve moving at a unit speed. In other words γ ′ ( t ) · γ ′ ( t ) = 1 Differentiate both sides with respect to t , use product rule, end up with 2 γ ′′ ( t ) · γ ′ ( t ) = 0 = ⇒ γ ′′ ( t ) ⊥ γ ′ ( t ) γ ′′ ( t ) = κ � n ( t ) is the curvature vector COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  14. Discrete Curvature i+1 i i-1 v i Derivative at point i (velocity vector) is approximately � v i = � x i − � x i − 1 COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  15. Discrete Curvature i+1 n i i i-1 Derivative at point i (velocity vector) is approximately � v i = � x i − � x i − 1 Second derivative (curvature vector) is approximately n i = � v i + 1 − � � v i = x i + 1 − � � x i − ( � x i − � x i − 1 ) = − 2 � x i + � x i − 1 + � x i + 1 COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  16. Curvature of Surfaces Cut surface with plane, look at curvature of curve going through point Courtesy of Keenan Crane, Discrete Differential Geometry: An Applied Introduction COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  17. Discrete Mean Curvature Approximation Still just a difference of a point with its neighbors! Convention is negative the curvature vector: − H ( v i ) � n i , where H ( v i ) is the mean curvature Example with curvature Example with flat (more details in a moment) COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  18. Table of Contents ⊲ Mesh Editing Overview / Discrete Curvature ◮ Laplacian Mesh Editing COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  19. Laplacian Mesh Matrix Sorkine05   − 1 edge connecting i and j   L ij = degree ( i ) i = j   0 otherwise COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  20. Graph Laplacian More generally, L = D − A ⊲ A : “Adjacency matrix” � 1 � edge connecting i and j A ij 0 otherwise ⊲ D : “Degree matrix” � � degree ( i ) = � N i = j j = 1 A ij D ij = 0 otherwise L is symmetric and sparse . Number of nonzero entries is O ( N ) for meshes of constant genus COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  21. Laplacian Mesh Editing � � δ i = ( v i − v j ) = d i v i − v j j ∈ N ( i ) j ∈ N ( i ) Can be written as Lv = δ . Each vector is along a row now v1x v1y δ 1z v1z δ 1x δ 1y v2y v2x v2z δ 2x δ 2z δ 2y L = v3x v3y v3z δ 2z δ 2x δ 2y . . . . . . . . . . . . . . . . . . vNy vNx vNz δ 2x δ 2z δ 2y COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  22. Laplacian Mesh Editing � δ i = ( v i − v j ) j ∈ N ( i ) Can we reconstruct v from δ ? v1y v1x v1z δ 1z δ 1x δ 1y v2x v2y v2z δ 2z δ 2x δ 2y L = v3x v3y δ 2z v3z δ 2x δ 2y . . . . . . . . . . . . . . . . . . vNx vNy vNz δ 2z δ 2x δ 2y COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  23. Laplacian Mesh Editing � δ i = ( v i − v j ) j ∈ N ( i ) Can we reconstruct v from δ ? No: L is rank N − 1 for a connected mesh v1y v1x v1z δ 1z δ 1x δ 1y v2x v2y v2z δ 2z δ 2x δ 2y L = v3x v3y δ 2z v3z δ 2x δ 2y . . . . . . . . . . . . . . . . . . vNx vNy vNz δ 2z δ 2x δ 2y COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  24. Laplacian Mesh Editing: Anchors � δ i = ( v i − v j ) j ∈ N ( i ) fi x Delta coordinates define ge- ometry up to a translation . Fix a point v a , fix translation v1x v1y v1z δ 1z δ 1x δ 1y v2x v2y δ 2z v2z δ 2x δ 2y L = v3y v3x v3z δ 2x δ 2y δ 2z . . . . . . va . . . . . . . . . . vNx vNy vNz δ 2z δ 2x δ 2y a ( 000 .... w .... 000 ) w xa a COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  25. Laplacian Mesh Editing: Anchors Can add more anchors, but may not be a solution fi x x a edit x b v1y v1x v1z δ 1x δ 1y δ 1z v2x v2y v2z δ 2x δ 2y δ 2z v3x v3y v3z δ 2x δ 2z δ 2y L . . . = . . . vb . . . . . . . . . . va . . . . . . . . . . . . vNx vNy δ 2z vNz δ 2x δ 2y ( 000 .... w .... 000 ) w xa a a ( ) w xb b 00...w ........ 0000 b COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  26. Laplacian Mesh Editing: Anchors Can add more anchors, but may not be a solution Solve in the least squares sense fi x x a k � v = argmin v || Lv − δ || 2 w s || v s − x s || 2 � 2 + 2 s = 1 edit x b v1y v1x v1z δ 1x δ 1y δ 1z v2x v2y v2z δ 2x δ 2y δ 2z v3x v3y v3z δ 2x δ 2z δ 2y L . . . = . . . vb . . . . . . . . . . va . . . . . . . . . . . . vNx vNy δ 2z vNz δ 2x δ 2y ( 000 .... w .... 000 ) w xa a a ( ) w xb b 00...w ........ 0000 b COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  27. Laplacian Mesh Editing: Anchors: Another Example COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  28. Laplacian Mesh Editing: Anchors k � v = argmin v || Lx − δ || 2 w s || x s − v s || 2 � 2 + 2 s = 1 COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  29. Laplacian Mesh Editing: Anchors k � v = argmin v || Lx − δ || 2 w s || x s − v s || 2 � 2 + 2 s = 1 ⊲ Let L be L augmented with the anchor rows ⊲ Let δ be δ augmented with the weighted anchor coordinates Can all be written in matrix form Squared Error: ǫ ( v ) = || Lv − δ || 2 2 Least Squares Solution: v ∗ = ( L T L ) − 1 L T δ COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  30. Laplacian Mesh Editing: Examples COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  31. Laplacian Mesh Editing: Examples COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  32. Laplacian Mesh Editing: Examples COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  33. Laplacian Mesh Editing: Examples COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  34. What About Irregular Meshes? Homer’s upper arm COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  35. Cotangent Weights β ij i j α ij � δ i = w ij ( v i − v j ) j ∈ N ( i ) w ij = 1 2 ( cot ( β ij ) + cot ( α ij )) COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  36. Cotangent Weights β ij i j α ij � δ i = w ij ( v i − v j ) j ∈ N ( i ) Figure: Nealen2006, umbrella vs cotangent w ij = 1 2 ( cot ( β ij ) + cot ( α ij )) COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  37. Cotangent Weights: Mean Curvature Mean curvature is approximated by � 1 ( cot ( β ij ) + cot ( α ij )) || � v i − � v j || 2 2 j ∈ N ( i ) COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  38. Laplacian Mesh Editing: Umbrella vs Cotangent Figure: umbrella COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  39. Laplacian Mesh Editing: Umbrella vs Cotangent Figure: cotangent Figure: umbrella COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  40. Laplacian Mesh Editing: Umbrella vs Cotangent Figure: umbrella COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  41. Laplacian Mesh Editing: Umbrella vs Cotangent Figure: umbrella Figure: cotangent COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

  42. Applications: Function Interpolation COMPSCI/MATH 290-04 Lecture 22: Laplacian Mesh Editing

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