Geometric Modeling Assignment 3: Discrete Differential Quantities

Size: px
Start display at page:

Download "Geometric Modeling Assignment 3: Discrete Differential Quantities"

Transcription

1 Geometric Modeling Assignment : Discrete Differential Quantities Acknowledgements: Julian Panetta, Olga Diamanti

2 Assignment (Optional) Topic: Discrete Differential Quantities with libigl Vertex Normals, Curvature, Smoothing (Tutorials ) per-face per-vertex, uniform per-vertex, quadratic fit

3 Vertex Normals uniform average area-weighted average mean-curvature based libigl tutorial #201, igl::principal_curvature PCA on k-nearest neighbors quadratic fitting on k-nearest neighbors

4 Curvature libigl tutorials #202, #20 min max mean gauss

5 X Curvature 2 P Mean Curvature Sp = 2Hn k H(v i )=0.5kL c (v i )k k (v i ) 2 P j Gaussian Curvature G(v i ) = j A(v i ) (v j ) P j Min Curvature p apple p 1 = H + H 2 G G = apple 1 apple 2 Max Curvature p apple 1 = H H 2 p G 2H = apple 1 + apple 2

6 Data Smoothing: Grid Case Image/2D data smoothing: Filter out noise/rapid oscillations Solve the heat equation over some = f = Intuition: move toward the average of neighboring

7 Data Smoothing: = f Approach: discretize laplacian with finite differences Now we have an ordinary differential equation (ODE) Integrate (time-step) the ODE, e.g., with forward/backwards Euler

8 Data Smoothing: Surface Case Laplace-Beltrami operator lets us smooth functions on = Sf P E.g., with forward Euler (explicit smoothing) on a triangle mesh, M: f t+dt (v i )=f t (v i )+ dt f t (v M i ) 0 X = f t (v i )+ v j 2N(v i )[{v i } 1 w ij f t (v j ) A (v i ) vertices adjacent vi discrete Laplacian weights (v j )

9 Mesh Smoothing We can view the vertex positions as a (vector-valued) function to smooth! 2 f(v i )= x i y i z i 5 P Here, first-order explicit time stepping looks like: f t+dt (v i )=f t (v i )+ dt M f t (v i ) =) (v i ) vi new = v i + dt ( M v) i 0 1 X = v i + w ij v A j (v j ) v j 2N(v i )[{v i } Note: Laplacian weights generally change when mesh changes!

10 6 5 (I dtl)v = v Diffusion Flow Meshes Diffusion Flow on Meshes Diffusion Flow onon Meshes n+1 n ) (I + dtl)v vf (vn= n+1 n n n+1 v = v + dtlv = p = p = p Continuous Continuous In Continuous L(v) @t n+1 n n n+1 n n+1 v v = dtlv v = v + dtlv p p + t p p p + t p p p + t p Discretization Discretization Discretization Intuition: vertices@f moving neighbor i i i i i itoward i i i average. (I Explicit Smoothing n+1 v v n+1 n+1 n+1 n =n v n = (I + = 0 Iterations 0 Iterations 0 Iterations f v n+1 = (I + dtl)v = 10 Iterations Iterations 1010 Iterations 100 Iterations 100 Iterations 100 Iterations n

11 6 5 Implicit Smoothing Backward Euler is more stable Take larger time steps without mesh blowing up (becoming jagged) Laplacian at next (unknown) step! v n+1 = v n + dtlv n+1 Must solve a linear system: (I dtl)v n+1 = v n libigl tutorial #205 original explicit, 1000 iterations, λ = 0.01 implicit, 1 iteration, λ = 20

12 2D Rectangular Grid Laplacian h (x j ) 20 1 X (x i ) h hf(x i ):= 1 h f(x j ) A f(x i ) 5 x j 2N(x i ) Measures difference from neighbor s average (if we divide by /h^2): 1 Weights can be represented by a stencil: 1-1 1

13 2D Rectangular Grid Laplacian 20 1 (x j ) X 1 (x i ) hf(x i ):= 1 h f(x j ) A f(x i ) x j 2N(x i ) 1 Derivation: Compute second derivatives by finite-differencing the forward difference approximation to first derivative: Sum second partial derivative approximations for each 2 2 (x, y) 1 h f(x + h, y) f(x, y) h f(x, y) f(x h, y) h f(x + h, y)+f(x h, y) 2f(x, y) = h 2 =) f(x, y) 2 (x, f y)+@2 (x, f(x + h, y)+f(x h, y)+f(x, y + h)+f(x, y h) f(x, y) h 2

14 Irregular Grid (Mesh) Laplacian First approach: umbrella operator assume all edges are unit length depends only on connectivity, not vertex locations Notice, when edge length h = 1 the 2D grid laplacian is: 20 hf(x i )= h 2 X 1 f(x j ) A f(x i ) 5 X = f(x j ) f(x i ) x j 2N(x i ) x j 2N(x i ) This version easily generalizes to an arbitrary mesh, M: uniform X M f(v) = = v j 2N(v) X v j 2N(v) f(v j ) 1 f(v j ) A f(v) N(v) f(v) #neighbors

15 Y = The Umbrella (Uniform) Laplacian In Matrix Form: 2 6 f(v 1 ) f(v 2 ) f(v ) f(v N ) 5 w ij = 8 >< 2 6 L = 8 < : uniform M f(v) = 6 X 5 Y = LF w 11 w 12 w 1N w 21 w 22 w 2N w N1 w N2 w NN 8 < = {w ij} 0 i 6= edge (i, j) 1 i 6= j, 9 edge (i, j) N(v i ) v j 2N(v) i = j 1 f(v j ) A N(v) f(v) F = f(v 1 ) f(v 2 ) f(v ) 5 f(v N ) 5

16 The Cotangent Laplacian cotan f(v) = 1 M 2A(v) X v i 2N(v) (cot( i ) + cot( i )) f(v i ) f(v) Accounts for edges differing lengths. Converges to the continuous Laplace-Beltrami operator S with mesh refinement Derivation in next recitation lecture.

17 The Cotangent Laplacian Y = In Matrix Form: 2 6 f(v 1 ) f(v 2 ) f(v ) f(v N ) cotan f(v) = 1 M 2A(v) 5 L = w ij = >< >: Y = LF w 11 w 12 w 1N w 21 w 22 w 2N < : w N1 w N2 w NN 8 < 5 5 = {w ij} 0 i 6= edge (i, j) cot j +cot j i 6= j, 9 edge (i, j) 2A(v P i ) i = j v k 2N(v i ) X v i 2N(v) w ik (cot( i ) + cot( i )) 2 F = f(v i ) f(v 1 ) f(v 2 ) f(v ) 5 f(v N ) 5 f(v)

18 Eigen Sparse Matrix Full-sized Laplacian can be huge for large meshes but most elements are zero! Instead, only store non-zero elements: Sparse Matrix #include <Eigen/Sparse> Eigen::SparseMatrix<double> Laplacian;

19 Eigen Sparse Matrix How to construct a sparse matrix in Eigen: //declare size of matrix L = SparseMatrix<double> (V.rows(), V.rows()); //declare list of non-zero elements (row, column, value) std::vector<eigen::triplet<double> > tripletlist; //insert element to the list //if multiple triplets exist with the same row and column, values will be *added* tripletlist.push_back(eigen::triplet<double>(source,dest,c(i,e))); //construct matrix from the list L.setFromTriplets(tripletList.begin(), tripletlist.end()); see igl::cotmatrix (V,F)

20 How to build cotangent matrix cotan f(v) = 1 M 2A(v) X v i 2N(v) Iterating over vertices is slow (cot( i ) + cot( i )) f(v i ) f(v) Instead, iterate over faces and add cot terms to the vertices incident each face edge for i = 1:number_of_faces for j = 1:face_valence source_vertex = faces(i,j); destination_vertex = faces(i,(j+1) % face_valence); weight =...; //laplacian weight for edge (source_vertex, destination_vertex)(cotan or uniform) Laplacian(source_vertex, destination_vertex) += weight; Laplacian(destination_vertex, source_vertex) += weight; Laplacian(destination_vertex, destination_vertex) -= weight; Laplacian(source_vertex, source_vertex) -= weight; end end

21 Averaged or Summed? We ll see next time that the cotan laplacian we introduced: cotan M f(v) = 1 2A(v) X v i 2N(v) (cot( i ) + cot( i )) f(v i ) f(v) computes the average Laplacian over some area A around v (hence the division by A) This gives an asymmetric matrix. But if we instead compute the summed laplacian (i.e., don t divide by A), we end up with a symmetric matrix. This summed, symmetric Laplacian is more standard in the finite element community, M = and is related to our Laplacian by a lumped (diagonal) mass matrix holding the areas: 2 6 lumped mass matrix (averaging region areas) A(0) A(1) A(N) 5 (L averaged corresponds to formula above) L averaged = M 1 L summed [L summed ] ij = 8 1 >< 2 cot( ij ) + cot( ij ) if j 2 N(i) P j2n(i) >: [Lsummed ] ij if i = j 0 otherwise

22 Averaged or Summed? Suppose we have a linear system: L averaged x = b i.e. using the asymmetric cotangent Laplacian we introduced earlier. Right hand side vector b represents a scalar field, storing the desired Laplacian value (not the summed value!) at each vertex. Solving symmetric sparse linear systems matrices is much more efficient, so we prefer to solve with the summed quantities: ML averaged x = L summed x = Mb

23 How to compute A(v) Barycentric area Connect edge midpoints and triangle barycenters Each of the incident triangles contributes 1/ of its area to all its vertices, regardless of the placement + Simple to compute + Always positive weights - Heavily connectivity-dependent - Changes if edges are flipped

24 How to compute A(v) Voronoi area Connect edge midpoints and triangle circumcenters The resulting quadrilaterals are not equareal Sum contributions from incident triangles + Only depends on vertex positioning - More complicated computations

25 How to compute A(v) Voronoi area Connect edge midpoints and triangle circumcenters The resulting quadrilaterals are not equiareal Sum contributions from incident triangles For obtuse triangles, circumcenter is outside the triangle -> negative areas! + Only depends on vertex positioning - More complicated computation - May introduce negative weights (obtuse triangles)

26 How to compute A(v) Voronoi area - compromise Connect edge midpoints with: triangle circumcenters, for non-obtuse triangles midpoint of opposite edge, for obtuse ones Sum contributions from incident triangles + Only depends on vertex positioning - More complicated computations

27 Linear Systems with Eigen #include <Eigen/SparseCholesky> //... SparseMatrix<double> A; // fill A VectorXd b, x; // fill b // solve Ax = b SimplicialLDLt<SparseMatrix<double> > solver; solver.compute(a); if(solver.info()!=success) return; // decomposition failed x = solver.solve(b); if(solver.info()!=success) return; // solving failed // solve for another right hand side: x1 = solver.solve(b1); Cholesky factorization works only for symmetric, positive definite A! Other solvers available, e.g. SparseLU:

28 Questions?

Shape Modeling and Geometry Processing

Shape Modeling and Geometry Processing 252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2 Differential Geometry

More information

1.7.1 Laplacian Smoothing

1.7.1 Laplacian Smoothing 1.7.1 Laplacian Smoothing 320491: Advanced Graphics - Chapter 1 434 Theory Minimize energy functional total curvature estimate by polynomial-fitting non-linear (very slow!) 320491: Advanced Graphics -

More information

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo 05 - Surfaces Acknowledgements: Olga Sorkine-Hornung Reminder Curves Turning Number Theorem Continuous world Discrete world k: Curvature is scale dependent is scale-independent Discrete Curvature Integrated

More information

Geometric Modeling Assignment 5: Shape Deformation

Geometric Modeling Assignment 5: Shape Deformation Geometric Modeling Assignment 5: Shape Deformation Acknowledgements: Olga Diamanti, Julian Panetta Shape Deformation Step 1: Select and Deform Handle Regions Draw vertex selection with mouse H 2 Move one

More information

Lectures in Discrete Differential Geometry 3 Discrete Surfaces

Lectures in Discrete Differential Geometry 3 Discrete Surfaces Lectures in Discrete Differential Geometry 3 Discrete Surfaces Etienne Vouga March 19, 2014 1 Triangle Meshes We will now study discrete surfaces and build up a parallel theory of curvature that mimics

More information

Smoothing & Fairing. Mario Botsch

Smoothing & Fairing. Mario Botsch Smoothing & Fairing Mario Botsch Motivation Filter out high frequency noise Desbrun, Meyer, Schroeder, Barr: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow, SIGGRAPH 99 2 Motivation

More information

Geodesics in heat: A new approach to computing distance

Geodesics in heat: A new approach to computing distance Geodesics in heat: A new approach to computing distance based on heat flow Diana Papyan Faculty of Informatics - Technische Universität München Abstract In this report we are going to introduce new method

More information

Assignment 5: Shape Deformation

Assignment 5: Shape Deformation CSCI-GA.3033-018 - Geometric Modeling Assignment 5: Shape Deformation Goal of this exercise In this exercise, you will implement an algorithm to interactively deform 3D models. You will construct a two-level

More information

Geometric Modeling and Processing

Geometric Modeling and Processing Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011 4. Geometric Registration 4.1 Rigid Registration Range Scanning: Reconstruction Set of raw scans Reconstructed

More information

(Discrete) Differential Geometry

(Discrete) Differential Geometry (Discrete) Differential Geometry Motivation Understand the structure of the surface Properties: smoothness, curviness, important directions How to modify the surface to change these properties What properties

More information

Contents. I The Basic Framework for Stationary Problems 1

Contents. I The Basic Framework for Stationary Problems 1 page v Preface xiii I The Basic Framework for Stationary Problems 1 1 Some model PDEs 3 1.1 Laplace s equation; elliptic BVPs... 3 1.1.1 Physical experiments modeled by Laplace s equation... 5 1.2 Other

More information

Parameterization of Meshes

Parameterization of Meshes 2-Manifold Parameterization of Meshes What makes for a smooth manifold? locally looks like Euclidian space collection of charts mutually compatible on their overlaps form an atlas Parameterizations are

More information

AMS527: Numerical Analysis II

AMS527: Numerical Analysis II AMS527: Numerical Analysis II A Brief Overview of Finite Element Methods Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao SUNY Stony Brook AMS527: Numerical Analysis II 1 / 25 Overview Basic concepts Mathematical

More information

Geometric Modeling and Processing

Geometric Modeling and Processing Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011 6. Mesh Simplification Problems High resolution meshes becoming increasingly available 3D active scanners Computer

More information

THIS paper presents the recent advances in mesh deformation

THIS paper presents the recent advances in mesh deformation 1 On Linear Variational Surface Deformation Methods Mario Botsch Computer Graphics Laboratory ETH Zurich Olga Sorkine Computer Graphics Group TU Berlin Abstract This survey reviews the recent advances

More information

(Sparse) Linear Solvers

(Sparse) Linear Solvers (Sparse) Linear Solvers Ax = B Why? Many geometry processing applications boil down to: solve one or more linear systems Parameterization Editing Reconstruction Fairing Morphing 2 Don t you just invert

More information

CS 468 (Spring 2013) Discrete Differential Geometry

CS 468 (Spring 2013) Discrete Differential Geometry CS 468 (Spring 2013) Discrete Differential Geometry 1 Math Review Lecture 14 15 May 2013 Discrete Exterior Calculus Lecturer: Justin Solomon Scribe: Cassidy Saenz Before we dive into Discrete Exterior

More information

Laplacian Operator and Smoothing

Laplacian Operator and Smoothing Laplacian Operator and Smoothing Xifeng Gao Acknowledgements for the slides: Olga Sorkine-Hornung, Mario Botsch, and Daniele Panozzo Applications in Geometry Processing Smoothing Parameterization Remeshing

More information

CS 523: Computer Graphics, Spring Shape Modeling. Differential Geometry of Surfaces

CS 523: Computer Graphics, Spring Shape Modeling. Differential Geometry of Surfaces CS 523: Computer Graphics, Spring 2011 Shape Modeling Differential Geometry of Surfaces Andrew Nealen, Rutgers, 2011 2/22/2011 Differential Geometry of Surfaces Continuous and Discrete Motivation Smoothness

More information

Surface Parameterization

Surface Parameterization Surface Parameterization A Tutorial and Survey Michael Floater and Kai Hormann Presented by Afra Zomorodian CS 468 10/19/5 1 Problem 1-1 mapping from domain to surface Original application: Texture mapping

More information

Assignment 4: Mesh Parametrization

Assignment 4: Mesh Parametrization CSCI-GA.3033-018 - Geometric Modeling Assignment 4: Mesh Parametrization In this exercise you will Familiarize yourself with vector field design on surfaces. Create scalar fields whose gradients align

More information

What is Multigrid? They have been extended to solve a wide variety of other problems, linear and nonlinear.

What is Multigrid? They have been extended to solve a wide variety of other problems, linear and nonlinear. AMSC 600/CMSC 760 Fall 2007 Solution of Sparse Linear Systems Multigrid, Part 1 Dianne P. O Leary c 2006, 2007 What is Multigrid? Originally, multigrid algorithms were proposed as an iterative method to

More information

The 3D DSC in Fluid Simulation

The 3D DSC in Fluid Simulation The 3D DSC in Fluid Simulation Marek K. Misztal Informatics and Mathematical Modelling, Technical University of Denmark mkm@imm.dtu.dk DSC 2011 Workshop Kgs. Lyngby, 26th August 2011 Governing Equations

More information

Mesh data structures. Abstract. 1 Introduction. 2 Method. 2.1 Implement the half edge mesh LIU TNM

Mesh data structures. Abstract. 1 Introduction. 2 Method. 2.1 Implement the half edge mesh LIU TNM Mesh data structures Fredrik Salomonsson fresa517@student.liu.se LIU TNM079 2010-05-28 Abstract When dealing with meshes containing large amount of triangles or quadrilaterals one need to have some kind

More information

Scanning Real World Objects without Worries 3D Reconstruction

Scanning Real World Objects without Worries 3D Reconstruction Scanning Real World Objects without Worries 3D Reconstruction 1. Overview Feng Li 308262 Kuan Tian 308263 This document is written for the 3D reconstruction part in the course Scanning real world objects

More information

(Sparse) Linear Solvers

(Sparse) Linear Solvers (Sparse) Linear Solvers Ax = B Why? Many geometry processing applications boil down to: solve one or more linear systems Parameterization Editing Reconstruction Fairing Morphing 1 Don t you just invert

More information

04 - Normal Estimation, Curves

04 - Normal Estimation, Curves 04 - Normal Estimation, Curves Acknowledgements: Olga Sorkine-Hornung Normal Estimation Implicit Surface Reconstruction Implicit function from point clouds Need consistently oriented normals < 0 0 > 0

More information

Mesh Processing Pipeline

Mesh Processing Pipeline Mesh Smoothing 1 Mesh Processing Pipeline... Scan Reconstruct Clean Remesh 2 Mesh Quality Visual inspection of sensitive attributes Specular shading Flat Shading Gouraud Shading Phong Shading 3 Mesh Quality

More information

Geometric Modeling in Graphics

Geometric Modeling in Graphics Geometric Modeling in Graphics Part 10: Surface reconstruction Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Curve, surface reconstruction Finding compact connected orientable 2-manifold surface

More information

1 2 (3 + x 3) x 2 = 1 3 (3 + x 1 2x 3 ) 1. 3 ( 1 x 2) (3 + x(0) 3 ) = 1 2 (3 + 0) = 3. 2 (3 + x(0) 1 2x (0) ( ) = 1 ( 1 x(0) 2 ) = 1 3 ) = 1 3

1 2 (3 + x 3) x 2 = 1 3 (3 + x 1 2x 3 ) 1. 3 ( 1 x 2) (3 + x(0) 3 ) = 1 2 (3 + 0) = 3. 2 (3 + x(0) 1 2x (0) ( ) = 1 ( 1 x(0) 2 ) = 1 3 ) = 1 3 6 Iterative Solvers Lab Objective: Many real-world problems of the form Ax = b have tens of thousands of parameters Solving such systems with Gaussian elimination or matrix factorizations could require

More information

Simple Mesh Examples to Illustrate Specific Finite Element Mesh Requirements

Simple Mesh Examples to Illustrate Specific Finite Element Mesh Requirements Simple Mesh Examples to Illustrate Specific Finite Element Mesh Requirements Peter Fleischmann, Robert Kosik, Bernhard Haindl, and Siegfried Selberherr Institute for Microelectronics, TU Vienna, Gu6hausstrafie

More information

Lecture 2 Unstructured Mesh Generation

Lecture 2 Unstructured Mesh Generation Lecture 2 Unstructured Mesh Generation MIT 16.930 Advanced Topics in Numerical Methods for Partial Differential Equations Per-Olof Persson (persson@mit.edu) February 13, 2006 1 Mesh Generation Given a

More information

Chapter 13. Boundary Value Problems for Partial Differential Equations* Linz 2002/ page

Chapter 13. Boundary Value Problems for Partial Differential Equations* Linz 2002/ page Chapter 13 Boundary Value Problems for Partial Differential Equations* E lliptic equations constitute the third category of partial differential equations. As a prototype, we take the Poisson equation

More information

Laplacian Meshes. COS 526 Fall 2016 Slides from Olga Sorkine and Yaron Lipman

Laplacian Meshes. COS 526 Fall 2016 Slides from Olga Sorkine and Yaron Lipman Laplacian Meshes COS 526 Fall 2016 Slides from Olga Sorkine and Yaron Lipman Outline Differential surface representation Ideas and applications Compact shape representation Mesh editing and manipulation

More information

CS 523: Computer Graphics, Spring Differential Geometry of Surfaces

CS 523: Computer Graphics, Spring Differential Geometry of Surfaces CS 523: Computer Graphics, Spring 2009 Shape Modeling Differential Geometry of Surfaces Andrew Nealen, Rutgers, 2009 3/4/2009 Recap Differential Geometry of Curves Andrew Nealen, Rutgers, 2009 3/4/2009

More information

Contents. F10: Parallel Sparse Matrix Computations. Parallel algorithms for sparse systems Ax = b. Discretized domain a metal sheet

Contents. F10: Parallel Sparse Matrix Computations. Parallel algorithms for sparse systems Ax = b. Discretized domain a metal sheet Contents 2 F10: Parallel Sparse Matrix Computations Figures mainly from Kumar et. al. Introduction to Parallel Computing, 1st ed Chap. 11 Bo Kågström et al (RG, EE, MR) 2011-05-10 Sparse matrices and storage

More information

A new 8-node quadrilateral spline finite element

A new 8-node quadrilateral spline finite element Journal of Computational and Applied Mathematics 195 (2006) 54 65 www.elsevier.com/locate/cam A new 8-node quadrilateral spline finite element Chong-Jun Li, Ren-Hong Wang Institute of Mathematical Sciences,

More information

Finite difference methods

Finite difference methods Finite difference methods Siltanen/Railo/Kaarnioja Spring 8 Applications of matrix computations Applications of matrix computations Finite difference methods Spring 8 / Introduction Finite difference methods

More information

SOLVING PARTIAL DIFFERENTIAL EQUATIONS ON POINT CLOUDS

SOLVING PARTIAL DIFFERENTIAL EQUATIONS ON POINT CLOUDS SOLVING PARTIAL DIFFERENTIAL EQUATIONS ON POINT CLOUDS JIAN LIANG AND HONGKAI ZHAO Abstract. In this paper we present a general framework for solving partial differential equations on manifolds represented

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Numerical Algorithms

Numerical Algorithms Chapter 10 Slide 464 Numerical Algorithms Slide 465 Numerical Algorithms In textbook do: Matrix multiplication Solving a system of linear equations Slide 466 Matrices A Review An n m matrix Column a 0,0

More information

Def De orma f tion orma Disney/Pixar

Def De orma f tion orma Disney/Pixar Deformation Disney/Pixar Deformation 2 Motivation Easy modeling generate new shapes by deforming existing ones 3 Motivation Easy modeling generate new shapes by deforming existing ones 4 Motivation Character

More information

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 36

Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras. Lecture - 36 Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras Lecture - 36 In last class, we have derived element equations for two d elasticity problems

More information

SHORTEST PATHS ON SURFACES GEODESICS IN HEAT

SHORTEST PATHS ON SURFACES GEODESICS IN HEAT SHORTEST PATHS ON SURFACES GEODESICS IN HEAT INF555 Digital Representation and Analysis of Shapes 28 novembre 2015 Ruoqi He & Chia-Man Hung 1 INTRODUCTION In this project we present the algorithm of a

More information

Large Mesh Deformation Using the Volumetric Graph Laplacian

Large Mesh Deformation Using the Volumetric Graph Laplacian Large Mesh Deformation Using the Volumetric Graph Laplacian Kun Zhou1 Jin Huang2 John Snyder3 Xinguo Liu1 Hujun Bao2 Baining Guo1 Heung-Yeung Shum1 1 Microsoft Research Asia 2 Zhejiang University 3 Microsoft

More information

DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU /858B Fall 2017

DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU /858B Fall 2017 DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU 15-458/858B Fall 2017 LECTURE 10: DISCRETE CURVATURE DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU 15-458/858B

More information

Spectral Compression of Mesh Geometry

Spectral Compression of Mesh Geometry Spectral Compression of Mesh Geometry Zachi Karni, Craig Gotsman SIGGRAPH 2000 1 Introduction Thus far, topology coding drove geometry coding. Geometric data contains far more information (15 vs. 3 bits/vertex).

More information

Parallel Implementations of Gaussian Elimination

Parallel Implementations of Gaussian Elimination s of Western Michigan University vasilije.perovic@wmich.edu January 27, 2012 CS 6260: in Parallel Linear systems of equations General form of a linear system of equations is given by a 11 x 1 + + a 1n

More information

Estimating affine-invariant structures on triangle meshes

Estimating affine-invariant structures on triangle meshes Estimating affine-invariant structures on triangle meshes Thales Vieira Mathematics, UFAL Dimas Martinez Mathematics, UFAM Maria Andrade Mathematics, UFS Thomas Lewiner École Polytechnique Invariant descriptors

More information

CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning

CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning Parallel sparse matrix-vector product Lay out matrix and vectors by rows y(i) = sum(a(i,j)*x(j)) Only compute terms with A(i,j) 0 P0 P1

More information

Introduction to Multigrid and its Parallelization

Introduction to Multigrid and its Parallelization Introduction to Multigrid and its Parallelization! Thomas D. Economon Lecture 14a May 28, 2014 Announcements 2 HW 1 & 2 have been returned. Any questions? Final projects are due June 11, 5 pm. If you are

More information

Easy modeling generate new shapes by deforming existing ones

Easy modeling generate new shapes by deforming existing ones Deformation I Deformation Motivation Easy modeling generate new shapes by deforming existing ones Motivation Easy modeling generate new shapes by deforming existing ones Motivation Character posing for

More information

Multigrid Pattern. I. Problem. II. Driving Forces. III. Solution

Multigrid Pattern. I. Problem. II. Driving Forces. III. Solution Multigrid Pattern I. Problem Problem domain is decomposed into a set of geometric grids, where each element participates in a local computation followed by data exchanges with adjacent neighbors. The grids

More information

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece

Parallel Computation of Spherical Parameterizations for Mesh Analysis. Th. Athanasiadis and I. Fudos University of Ioannina, Greece Parallel Computation of Spherical Parameterizations for Mesh Analysis Th. Athanasiadis and I. Fudos, Greece Introduction Mesh parameterization is a powerful geometry processing tool Applications Remeshing

More information

Computational Fluid Dynamics - Incompressible Flows

Computational Fluid Dynamics - Incompressible Flows Computational Fluid Dynamics - Incompressible Flows March 25, 2008 Incompressible Flows Basis Functions Discrete Equations CFD - Incompressible Flows CFD is a Huge field Numerical Techniques for solving

More information

Subdivision Curves and Surfaces

Subdivision Curves and Surfaces Subdivision Surfaces or How to Generate a Smooth Mesh?? Subdivision Curves and Surfaces Subdivision given polyline(2d)/mesh(3d) recursively modify & add vertices to achieve smooth curve/surface Each iteration

More information

CS 177 Homework 1. Julian Panetta. October 22, We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F:

CS 177 Homework 1. Julian Panetta. October 22, We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F: CS 177 Homework 1 Julian Panetta October, 009 1 Euler Characteristic 1.1 Polyhedral Formula We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F: V E + F = 1 First,

More information

Semester Final Report

Semester Final Report CSUMS SemesterFinalReport InLaTex AnnKimball 5/20/2009 ThisreportisageneralsummaryoftheaccumulationofknowledgethatIhavegatheredthroughoutthis semester. I was able to get a birds eye view of many different

More information

Lecture 3: Camera Calibration, DLT, SVD

Lecture 3: Camera Calibration, DLT, SVD Computer Vision Lecture 3 23--28 Lecture 3: Camera Calibration, DL, SVD he Inner Parameters In this section we will introduce the inner parameters of the cameras Recall from the camera equations λx = P

More information

THE HALF-EDGE DATA STRUCTURE MODELING AND ANIMATION

THE HALF-EDGE DATA STRUCTURE MODELING AND ANIMATION THE HALF-EDGE DATA STRUCTURE MODELING AND ANIMATION Dan Englesson danen344@student.liu.se Sunday 12th April, 2011 Abstract In this lab assignment which was done in the course TNM079, Modeling and animation,

More information

Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm

Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm Advanced Computer Architecture Lab 3 Scalability of the Gauss-Seidel Algorithm Andreas Sandberg 1 Introduction The purpose of this lab is to: apply what you have learned so

More information

Shape Modeling and Geometry Processing Exercise 1: libigl Hello World

Shape Modeling and Geometry Processing Exercise 1: libigl Hello World Shape Modeling and Geometry Processing Exercise 1: libigl Hello World Acknowledgments: Olga Diamanti, Julian Panetta Exercise 1 - libigl Hello World! Experiment with the geometry processing library Exercise

More information

Digital Geometry Processing. Computer Graphics CMU /15-662

Digital Geometry Processing. Computer Graphics CMU /15-662 Digital Geometry Processing Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans, not fins

More information

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss

Robot Mapping. Least Squares Approach to SLAM. Cyrill Stachniss Robot Mapping Least Squares Approach to SLAM Cyrill Stachniss 1 Three Main SLAM Paradigms Kalman filter Particle filter Graphbased least squares approach to SLAM 2 Least Squares in General Approach for

More information

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General

Graphbased. Kalman filter. Particle filter. Three Main SLAM Paradigms. Robot Mapping. Least Squares Approach to SLAM. Least Squares in General Robot Mapping Three Main SLAM Paradigms Least Squares Approach to SLAM Kalman filter Particle filter Graphbased Cyrill Stachniss least squares approach to SLAM 1 2 Least Squares in General! Approach for

More information

Why Use the GPU? How to Exploit? New Hardware Features. Sparse Matrix Solvers on the GPU: Conjugate Gradients and Multigrid. Semiconductor trends

Why Use the GPU? How to Exploit? New Hardware Features. Sparse Matrix Solvers on the GPU: Conjugate Gradients and Multigrid. Semiconductor trends Imagine stream processor; Bill Dally, Stanford Connection Machine CM; Thinking Machines Sparse Matrix Solvers on the GPU: Conjugate Gradients and Multigrid Jeffrey Bolz Eitan Grinspun Caltech Ian Farmer

More information

Development of a Maxwell Equation Solver for Application to Two Fluid Plasma Models. C. Aberle, A. Hakim, and U. Shumlak

Development of a Maxwell Equation Solver for Application to Two Fluid Plasma Models. C. Aberle, A. Hakim, and U. Shumlak Development of a Maxwell Equation Solver for Application to Two Fluid Plasma Models C. Aberle, A. Hakim, and U. Shumlak Aerospace and Astronautics University of Washington, Seattle American Physical Society

More information

Numerical Analysis I - Final Exam Matrikelnummer:

Numerical Analysis I - Final Exam Matrikelnummer: Dr. Behrens Center for Mathematical Sciences Technische Universität München Winter Term 2005/2006 Name: Numerical Analysis I - Final Exam Matrikelnummer: I agree to the publication of the results of this

More information

Dual Interpolants for Finite Element Methods

Dual Interpolants for Finite Element Methods Dual Interpolants for Finite Element Methods Andrew Gillette joint work with Chandrajit Bajaj and Alexander Rand Department of Mathematics Institute of Computational Engineering and Sciences University

More information

High Performance Computing: Tools and Applications

High Performance Computing: Tools and Applications High Performance Computing: Tools and Applications Edmond Chow School of Computational Science and Engineering Georgia Institute of Technology Lecture 15 Numerically solve a 2D boundary value problem Example:

More information

Comparison of different solvers for two-dimensional steady heat conduction equation ME 412 Project 2

Comparison of different solvers for two-dimensional steady heat conduction equation ME 412 Project 2 Comparison of different solvers for two-dimensional steady heat conduction equation ME 412 Project 2 Jingwei Zhu March 19, 2014 Instructor: Surya Pratap Vanka 1 Project Description The purpose of this

More information

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662 Geometry Processing & Geometric Queries Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,

More information

Simulation in Computer Graphics. Deformable Objects. Matthias Teschner. Computer Science Department University of Freiburg

Simulation in Computer Graphics. Deformable Objects. Matthias Teschner. Computer Science Department University of Freiburg Simulation in Computer Graphics Deformable Objects Matthias Teschner Computer Science Department University of Freiburg Outline introduction forces performance collision handling visualization University

More information

Computing and Processing Correspondences with Functional Maps

Computing and Processing Correspondences with Functional Maps Computing and Processing Correspondences with Functional Maps SIGGRAPH 2017 course Maks Ovsjanikov, Etienne Corman, Michael Bronstein, Emanuele Rodolà, Mirela Ben-Chen, Leonidas Guibas, Frederic Chazal,

More information

Surfaces, meshes, and topology

Surfaces, meshes, and topology Surfaces from Point Samples Surfaces, meshes, and topology A surface is a 2-manifold embedded in 3- dimensional Euclidean space Such surfaces are often approximated by triangle meshes 2 1 Triangle mesh

More information

SELECTIVE ALGEBRAIC MULTIGRID IN FOAM-EXTEND

SELECTIVE ALGEBRAIC MULTIGRID IN FOAM-EXTEND Student Submission for the 5 th OpenFOAM User Conference 2017, Wiesbaden - Germany: SELECTIVE ALGEBRAIC MULTIGRID IN FOAM-EXTEND TESSA UROIĆ Faculty of Mechanical Engineering and Naval Architecture, Ivana

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines

More information

Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms

Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms Iterative Algorithms I: Elementary Iterative Methods and the Conjugate Gradient Algorithms By:- Nitin Kamra Indian Institute of Technology, Delhi Advisor:- Prof. Ulrich Reude 1. Introduction to Linear

More information

Numerical Methods for PDEs. SSC Workgroup Meetings Juan J. Alonso October 8, SSC Working Group Meetings, JJA 1

Numerical Methods for PDEs. SSC Workgroup Meetings Juan J. Alonso October 8, SSC Working Group Meetings, JJA 1 Numerical Methods for PDEs SSC Workgroup Meetings Juan J. Alonso October 8, 2001 SSC Working Group Meetings, JJA 1 Overview These notes are meant to be an overview of the various memory access patterns

More information

Solving Sparse Linear Systems. Forward and backward substitution for solving lower or upper triangular systems

Solving Sparse Linear Systems. Forward and backward substitution for solving lower or upper triangular systems AMSC 6 /CMSC 76 Advanced Linear Numerical Analysis Fall 7 Direct Solution of Sparse Linear Systems and Eigenproblems Dianne P. O Leary c 7 Solving Sparse Linear Systems Assumed background: Gauss elimination

More information

A Primer on Laplacians. Max Wardetzky. Institute for Numerical and Applied Mathematics Georg-August Universität Göttingen, Germany

A Primer on Laplacians. Max Wardetzky. Institute for Numerical and Applied Mathematics Georg-August Universität Göttingen, Germany A Primer on Laplacians Max Wardetzky Institute for Numerical and Applied Mathematics Georg-August Universität Göttingen, Germany Warm-up: Euclidean case Warm-up The Euclidean case Chladni s vibrating plates

More information

Ordinary Differential Equation (ODE)

Ordinary Differential Equation (ODE) Ordinary Differential Equation (ODE) INTRODUCTION: Ordinary Differential Equations play an important role in different branches of science and technology In the practical field of application problems

More information

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes (Addendum to IEEE Visualization 1999 paper) Hugues Hoppe Steve Marschner June 2000 Technical Report MSR-TR-2000-64

More information

Discrete Exterior Calculus How to Turn Your Mesh into a Computational Structure. Discrete Differential Geometry

Discrete Exterior Calculus How to Turn Your Mesh into a Computational Structure. Discrete Differential Geometry Discrete Exterior Calculus How to Turn Your Mesh into a Computational Structure Discrete Differential Geometry Big Picture Deriving a whole Discrete Calculus you need first a discrete domain will induce

More information

Special Topics in Visualization

Special Topics in Visualization Special Topics in Visualization Final Project Report Dual contouring of Hermite Data Submitted By S M Shahed Nejhum 8589-1199 May 19, 2008 Introduction Iso-surface extraction from 3D volumetric data is

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 12 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

A Global Laplacian Smoothing Approach with Feature Preservation

A Global Laplacian Smoothing Approach with Feature Preservation A Global Laplacian Smoothing Approach with Feature Preservation hongping Ji Ligang Liu Guojin Wang Department of Mathematics State Key Lab of CAD&CG hejiang University Hangzhou, 310027 P.R. China jzpboy@yahoo.com.cn,

More information

ALF USER GUIDE. Date: September

ALF USER GUIDE. Date: September ALF USER GUIDE R. VERFÜRTH Contents 1. Introduction 1 2. User interface 2 3. Domain and initial grid 3 4. Differential equation 9 5. Discretization 12 6. Solver 12 7. Mesh refinement 14 8. Number of nodes

More information

Fast marching methods

Fast marching methods 1 Fast marching methods Lecture 3 Alexander & Michael Bronstein tosca.cs.technion.ac.il/book Numerical geometry of non-rigid shapes Stanford University, Winter 2009 Metric discretization 2 Approach I:

More information

Estimating normal vectors and curvatures by centroid weights

Estimating normal vectors and curvatures by centroid weights Computer Aided Geometric Design 21 (2004) 447 458 www.elsevier.com/locate/cagd Estimating normal vectors and curvatures by centroid weights Sheng-Gwo Chen, Jyh-Yang Wu Department of Mathematics, National

More information

Digital Geometry Processing

Digital Geometry Processing Digital Geometry Processing Spring 2011 physical model acquired point cloud reconstructed model 2 Digital Michelangelo Project Range Scanning Systems Passive: Stereo Matching Find and match features in

More information

CSCE 5160 Parallel Processing. CSCE 5160 Parallel Processing

CSCE 5160 Parallel Processing. CSCE 5160 Parallel Processing HW #9 10., 10.3, 10.7 Due April 17 { } Review Completing Graph Algorithms Maximal Independent Set Johnson s shortest path algorithm using adjacency lists Q= V; for all v in Q l[v] = infinity; l[s] = 0;

More information

UNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati

UNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati Subdivision Surfaces Surfaces Having arbitrary Topologies Tensor Product Surfaces Non Tensor Surfaces We can t find u-curves and v-curves in general surfaces General Subdivision Coarse mesh Subdivision

More information

Advanced Computer Graphics

Advanced Computer Graphics G22.2274 001, Fall 2010 Advanced Computer Graphics Project details and tools 1 Projects Details of each project are on the website under Projects Please review all the projects and come see me if you would

More information

Research Proposal: Computational Geometry with Applications on Medical Images

Research Proposal: Computational Geometry with Applications on Medical Images Research Proposal: Computational Geometry with Applications on Medical Images MEI-HENG YUEH yueh@nctu.edu.tw National Chiao Tung University 1 Introduction My research mainly focuses on the issues of computational

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

More information

THE GEOMETRIC HEAT EQUATION AND SURFACE FAIRING

THE GEOMETRIC HEAT EQUATION AND SURFACE FAIRING THE GEOMETRIC HEAT EQUATION AN SURFACE FAIRING ANREW WILLIS BROWN UNIVERSITY, IVISION OF ENGINEERING, PROVIENCE, RI 02912, USA 1. INTROUCTION This paper concentrates on analysis and discussion of the heat

More information

Parameterization of triangular meshes

Parameterization of triangular meshes Parameterization of triangular meshes Michael S. Floater November 10, 2009 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to

More information

CS205b/CME306. Lecture 9

CS205b/CME306. Lecture 9 CS205b/CME306 Lecture 9 1 Convection Supplementary Reading: Osher and Fedkiw, Sections 3.3 and 3.5; Leveque, Sections 6.7, 8.3, 10.2, 10.4. For a reference on Newton polynomial interpolation via divided

More information

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE

COMPUTER VISION > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE COMPUTER VISION 2017-2018 > OPTICAL FLOW UTRECHT UNIVERSITY RONALD POPPE OUTLINE Optical flow Lucas-Kanade Horn-Schunck Applications of optical flow Optical flow tracking Histograms of oriented flow Assignment

More information