Geometric Modeling Assignment 3: Discrete Differential Quantities
|
|
- Scarlett Wells
- 5 years ago
- Views:
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
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 information1.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 information05 - 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 informationGeometric 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 informationLectures 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 informationSmoothing & 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 informationGeodesics 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 informationAssignment 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 informationGeometric 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 Motivation Understand the structure of the surface Properties: smoothness, curviness, important directions How to modify the surface to change these properties What properties
More informationContents. 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 informationParameterization 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 informationAMS527: 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 informationGeometric 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 informationTHIS 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 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 informationCS 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 informationLaplacian 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 informationCS 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 informationSurface 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 informationAssignment 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 informationWhat 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 informationThe 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 informationMesh 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 informationScanning 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 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 information04 - 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 informationMesh 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 informationGeometric 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 information1 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 informationSimple 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 informationLecture 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 informationChapter 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 informationLaplacian 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 informationCS 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 informationContents. 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 informationA 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 informationFinite 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 informationSOLVING 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 informationThe 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 informationNumerical 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 informationDef 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 informationFinite 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 informationSHORTEST 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 informationLarge 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 informationDISCRETE 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 informationSpectral 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 informationParallel 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 informationEstimating 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 informationCS 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 informationIntroduction 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 informationEasy 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 informationMultigrid 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 informationParallel 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 informationComputational 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 informationSubdivision 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 informationCS 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 informationSemester Final Report
CSUMS SemesterFinalReport InLaTex AnnKimball 5/20/2009 ThisreportisageneralsummaryoftheaccumulationofknowledgethatIhavegatheredthroughoutthis semester. I was able to get a birds eye view of many different
More informationLecture 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 informationTHE 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 informationAdvanced 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 informationShape 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 informationDigital 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 informationRobot 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 informationGraphbased. 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 informationWhy 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 informationDevelopment 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 informationNumerical 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 informationDual 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 informationHigh 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 informationComparison 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 informationGeometry 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 informationSimulation 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 informationComputing 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 informationSurfaces, 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 informationSELECTIVE 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 informationINF3320 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 informationIterative 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 informationNumerical 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 informationSolving 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 informationA 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 informationOrdinary 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 informationEfficient 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 informationDiscrete 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 informationSpecial 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 informationProcessing 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 informationA 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 informationALF 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 informationFast 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 informationEstimating 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 informationDigital 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 informationCSCE 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 informationUNIVERSITY 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 informationAdvanced 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 informationResearch 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 informationSung-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 informationTHE 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 informationParameterization 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 informationCS205b/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 informationCOMPUTER 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