Project-II: Comparing Mean Value, Harmonic and Green Coordinates for Mesh Deformation in Computer Animation

Size: px
Start display at page:

Download "Project-II: Comparing Mean Value, Harmonic and Green Coordinates for Mesh Deformation in Computer Animation"

Transcription

1 Project-II: Comparing Mean Value, Harmonic and Green Coordinates for Mesh Deformation in Computer Animation Chaman Singh Verma April 20, 2011 Figure 1: Barycentric Mapping usage: (a) Straightening the Pisa Tower (b) Shape manipulation 1 Introduction Cage based mesh deformation (CMD) is perhaps the simplest, yet fairly effective approach to manipulate geometric/image objects in computer animation. Two major issues in CMD are (I) How to build a cage? (II) How to define barycentric coordinates for arbitrary shaped cage that produces deformations that are smooth, intuitive and conforming to some of the user s expectations. Barycentric coordinates were first introduced by Mobius ( circa 1830) for convex shapes. Many approaches have been made to generalize these coordinates for concave shapes, and currently some of the widely used techniques are: 1

2 1. Wachspress Coordinates (WC) 2. Mean Value Coordinates (MVC) 3. Harmonic Coordinates (HC) 4. Cauchy Green Coordinates (GC) 5. Maximum Entropy Coordinates (MEC) Many theoretical studies have been performed for these coordinates and true to the engineering adage Nothing is perfect, all these techniques have their pros and cons. Mean values have closed form solution, but fails for concave shapes, Harmonic coordinate have nice and smooth properties but sometimes computationally too expensive unless some sophisticated algorithms such as Multi-grid methods are used. Green coordinates have been introduced very recently, and they have some promise to supersede both MVC and HC. Alternative approaches such as MEC have been proposed, but there are not yet popular. 2 Forward and Backward Interpolation When an object undergoes transformation, there are two approaches by which attributes such as colors are interpolated. Figure 2: Interpolation (A) left image source (B) right image destination Forward Interpolation In this the source image attributes are directly copied on the corresponding barycentric coordinates. Although it is simplest one, it create many artifacts including possible holes in the distored image. Backward Interpolation In this method, for every destination pixel, a search is performed on the sourceimage, and the corresponding pixel values are copied. 2

3 3 Mean Value Coordinates Horman and Floater defined Mean Value Coordinates for arbitrary planar polygons as w i = 2 tan(α i 1/2)+tan(α i /2) r i (1) A modified version avoids calculating the angles is given by tan(α i /2) = r ir i+1 D i 2A i (2) If we denote s i = v i v then D i is the dot product of s i and s i+1. Normalized barycentric coordinates λ i is given by λ i = w i NC i=1 w i Where NC is the number of cage points. A complete C++ source code which handles all the special cases is given below. void mean_value_coordinates( const vector<point2d> &cagecoords, const Point2D &querycoord, vector<double> &barycoords) { int nsize = cagecoords.size(); assert( nsize ); double dx, dy; vector<point2d> s(nsize); for( int i = 0; i < nsize; i++) { dx = cagecoords[i][0] - querycoord[0]; dy = cagecoords[i][1] - querycoord[1]; s[i][0] = dx; s[i][1] = dy; barycoords.resize(nsize); for( int i = 0; i < nsize; i++) barycoords[i] = 0.0; int ip, im; // (i+1) and (i-1) double ri, rp, Ai, Di, dl, mu; // Distance double eps = 10.0*std::numeric_limits<double>::min(); // First check if any coordinates close to the cage point or // lie on the cage boundary. These are special cases. for( int i = 0; i < nsize; i++) { ip = (i+1)%nsize; ri = sqrt( s[i][0]*s[i][0] + s[i][1]*s[i][1] ); Ai = 0.5*(s[i][0]*s[ip][1] - s[ip][0]*s[i][1]); (3) 3

4 Di = s[ip][0]*s[i][0] + s[ip][1]*s[i][1]; if( ri <= eps) { barycoords[i] = 1.0; return; else if( fabs(ai) <= 0 && Di < 0.0) { dx = s[ip][0] - s[i][0]; dy = s[ip][1] - s[i][1]; dl = sqrt(dx*dx + dy*dy); assert(dl > eps); dx = querycoord[0] - s[i][0]; dy = querycoord[1] - s[i][1]; mu = sqrt(dx*dx + dy*dy)/dl; barycoords[i] = 1.0-mu; barycoords[ip] = mu; return; // Page #12, from the paper vector<double> tanalpha(nsize); // tan(alpha/2) for( int i = 0; i < nsize; i++) { ip = (i+1)%nsize; im = (nsize-1+i)%nsize; ri = sqrt( s[i][0]*s[i][0] + s[i][1]*s[i][1] ); rp = sqrt( s[ip][0]*s[ip][0] + s[ip][1]*s[ip][1] ); Ai = 0.5*(s[i][0]*s[ip][1] - s[ip][0]*s[i][1]); Di = s[ip][0]*s[i][0] + s[ip][1]*s[i][1]; tanalpha[i] = (ri*rp - Di)/(2.0*Ai); // Equation #11, from the paper double wi, wsum = 0.0; for( int i = 0; i < nsize; i++) { ip = (i+1)%nsize; im = (nsize-1+i)%nsize; ri = sqrt( s[i][0]*s[i][0] + s[i][1]*s[i][1] ); wi = 2.0*( tanalpha[im] + tanalpha[ip] )/ri; wsum += wi; barycoords[i] = wi; // Normalize for( int i = 0; i < nsize; i++) barycoords[i] /= wsum; 4

5 4 Harmonic Coordinates A smooth harmonic field is generated by solving Laplace equation. 2 φ = 0 (4) Figure 3: For each cage point (28 in this example), we need to solve Laplace equation In the interior the discretized form of the Laplacian is φ i 1,j 2φ i,j +φ i+1,j dx 2 + φ i,j 1 2φ i,j +φ i,j+1 dy 2 = 0 (5) A simple matrix free iterative solver is given by φ n+1 i,j = 0.25(φ n i 1,j +φn i+1,j +φn i,j 1 +φn i,j+1 ) (6) This system of linear equation will have a unique solution, if at least one boundary condition is applied. In HC evaluation, for every cage vertices, we set φ(c i ) = 1,φ(C j ) = 0.0 j i and solve this system. In general, HC evaluation is expensive because 5

6 The five point stencil is a high pass filter and its convergence rate is poor. Moreover, when the mesh size increases, the convergence become worse. For every cage vertices we have to solve the system after changing the boundary conditions. Since the Laplacian operator produces Symmetric and positive definite sparse system, we use preconditioned conjugate gradient ( PCG) method. For small system, direct solvers such as SuperLU could also be used. Since the Harmonic field can be generated only within the region, Harmonic Coordinates are also generated only for the internal vertices. Therefore, a given domain must be classified into three components i.e. External, Boundary and Internal. For images, this is done by region growing algorithm as follows 1. Tag all the cells ( pixels ) as UNIDENTIFIED 2. Scan-convert boundary pixels and tag them as BOUNDARY. 3. Start from one corner pixel in flood fill the region till it reaches BOUND- ARY pixels. All these pixels are tagged as EXTERNAL 4. All remaining cells are tagged INTERNAL The above method will work only for the waterright models, therefore, it is essential that the cage is simply conneted and closed. For structured mesh, this means that every boundary cells has atleast one neighboring cell ( total 8 neihboring cells ) is also tagged as BOUNDARY Figure 4: Multiple cage boundaries can be easily handle with Harmomic Coordinates 6

7 5 Green Coordinates Unlike MVC and HC, Green coordinates utilizes both the position of the cage nodes and normals to the edges. Although the derivation of the GC is quite involved, the pseudo code for 2D provided by Lipman etc is as follows. Figure 5: The pseudo code for 2D Green Coordinates given by Horman and Floater s paper A complete C++ code to calculate the GC is given below. int green_coordinates( const vector<point2d> &cagecoords, const Point2D &querycoord, vector<double> &phi, vector<double> &psi) { int nsegments = cagecoords.size()-1; Point2D a, b, nj; double Q, S, R, BA, SRT, L0, L1, A0, A1, A10, L10; psi.resize( nsegments ); phi.resize( nsegments + 1); for( int j = 0; j < nsegments; j++) { const Point2D &vj1 = cagecoords[j]; const Point2D &vj2 = cagecoords[(j+1)]; 7

8 a[0] = vj2[0] - vj1[0]; a[1] = vj2[1] - vj1[1]; nj[0] = a[1]; nj[1] = -a[0]; b[0] = vj1[0] - querycoord[0]; b[1] = vj1[1] - querycoord[1]; Q = a[0]*a[0] + a[1]*a[1]; S = b[0]*b[0] + b[1]*b[1]; R = 2.0*( a[0]*b[0] + a[1]*b[1]); BA = b[0]*nj[0] + b[1]*nj[1]; SRT = sqrt( 4.0*S*Q - R*R); L0 = log(s); L1 = log( S + Q + R ); A0 = atan( R/SRT)/SRT; A1 = atan((2*q+r)/srt)/srt; A10 = A1-A0; L10 = L1-L0; psi[j] = sqrt(q)/(4.0*m_pi)*(( 4.0*S-(R*R/Q))*A10 + (R/(2.0*Q))*L10 + L1-2); phi[j+1] += - (BA/(2.0*M_PI))*( (L10/(2.0*Q)) - A10*R/Q ); phi[j] += + (BA/(2.0*M_PI))*( (L10/(2.0*Q)) - A10*(2.0 + R/Q) ); //////////////////////////////////////////////////////////////////////////////////// References [1] Mean Value Coordinates Michael S. Floater [2] Harmonic Coordinates Tony DeRose Mark Meyer Pixar Technical Memo #06-02 Pixar Animation Studios [3] Harmonic Coordinates for Character Articulation Pushkar Joshi Mark Meyer Tony DeRose Brian Green Tom Sanocki Pixar Animation Studios [4] Green Coordinates Yaron Lipman, David Levin, Daniel Cohen-Or 8

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 12 - Spatial And Skeletal Deformations Space Deformations Space Deformation Displacement function defined on the ambient space Evaluate the function on the points of the shape embedded in the space Twist

More information

Comparison and affine combination of generalized barycentric coordinates for convex polygons

Comparison and affine combination of generalized barycentric coordinates for convex polygons Annales Mathematicae et Informaticae 47 (2017) pp. 185 200 http://ami.uni-eszterhazy.hu Comparison and affine combination of generalized barycentric coordinates for convex polygons Ákos Tóth Department

More information

Deformation II. Disney/Pixar

Deformation II. Disney/Pixar Deformation II Disney/Pixar 1 Space Deformation Deformation function on ambient space f : n n Shape S deformed by applying f to points of S S = f (S) f (x,y)=(2x,y) S S 2 Motivation Can be applied to any

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

Kai Hormann, N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics

Kai Hormann, N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics Kai Hormann, N. Sukumar Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics Contents Chapter 1 Multi-Sided Patches via Barycentric Coordinates 1 Scott Schaefer 1.1 INTRODUCTION

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

Generalized barycentric coordinates

Generalized barycentric coordinates Generalized barycentric coordinates Michael S. Floater August 20, 2012 In this lecture, we review the definitions and properties of barycentric coordinates on triangles, and study generalizations to convex,

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

CSE 554 Lecture 7: Deformation II

CSE 554 Lecture 7: Deformation II CSE 554 Lecture 7: Deformation II Fall 2011 CSE554 Deformation II Slide 1 Review Rigid-body alignment Non-rigid deformation Intrinsic methods: deforming the boundary points An optimization problem Minimize

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

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

Blended barycentric coordinates

Blended barycentric coordinates Blended barycentric coordinates Dmitry Anisimov a, Daniele Panozzo b, Kai Hormann a, a Università della Svizzera italiana, Lugano, Switzerland b New York University, New York, USA Abstract Generalized

More information

Generalized Barycentric Coordinates

Generalized Barycentric Coordinates Generalized Barycentric Coordinates Kai Hormann Faculty of Informatics Università della Svizzera italiana, Lugano School of Computer Science and Engineering Nanyang Technological University, Singapore

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

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information

Computer Graphics 7 - Rasterisation

Computer Graphics 7 - Rasterisation Computer Graphics 7 - Rasterisation Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Line rasterisation Polygon rasterisation Mean value coordinates Decomposing polygons

More information

Bounded Distortion Mapping and Shape Deformation

Bounded Distortion Mapping and Shape Deformation Bounded Distortion Mapping and Shape Deformation 陈仁杰 德国马克斯普朗克计算机研究所 GAMES Web Seminar, 29 March 2018 Outline Planar Mapping & Applications Bounded Distortion Mapping Harmonic Shape Deformation Shape Interpolation

More information

3D Modeling techniques

3D Modeling techniques 3D Modeling techniques 0. Reconstruction From real data (not covered) 1. Procedural modeling Automatic modeling of a self-similar objects or scenes 2. Interactive modeling Provide tools to computer artists

More information

Animation. Motion over time

Animation. Motion over time Animation Animation Motion over time Animation Motion over time Usually focus on character animation but environment is often also animated trees, water, fire, explosions, Animation Motion over time Usually

More information

Lecture VIII. Global Approximation Methods: I

Lecture VIII. Global Approximation Methods: I Lecture VIII Global Approximation Methods: I Gianluca Violante New York University Quantitative Macroeconomics G. Violante, Global Methods p. 1 /29 Global function approximation Global methods: function

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

Processing 3D Surface Data

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

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

Introduction to Optimization Problems and Methods

Introduction to Optimization Problems and Methods Introduction to Optimization Problems and Methods wjch@umich.edu December 10, 2009 Outline 1 Linear Optimization Problem Simplex Method 2 3 Cutting Plane Method 4 Discrete Dynamic Programming Problem Simplex

More information

Lecture 2 September 3

Lecture 2 September 3 EE 381V: Large Scale Optimization Fall 2012 Lecture 2 September 3 Lecturer: Caramanis & Sanghavi Scribe: Hongbo Si, Qiaoyang Ye 2.1 Overview of the last Lecture The focus of the last lecture was to give

More information

Processing 3D Surface Data

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

More information

10 - ARAP and Linear Blend Skinning

10 - ARAP and Linear Blend Skinning 10 - ARAP and Linear Blend Skinning Acknowledgements: Olga Sorkine-Hornung As Rigid As Possible Demo Libigl demo 405 As-Rigid-As-Possible Deformation Preserve shape of cells covering the surface Ask each

More information

THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION

THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION Technical Report TR-NCCA-2011-02 THE FORCE DENSITY METHOD: A BRIEF INTRODUCTION Richard Southern The National Centre for Computer Animation Bournemouth Media School Bournemouth University Talbot Campus,

More information

Barycentric Finite Element Methods

Barycentric Finite Element Methods University of California, Davis Barycentric Finite Element Methods N. Sukumar UC Davis Workshop on Generalized Barycentric Coordinates, Columbia University July 26, 2012 Collaborators and Acknowledgements

More information

PROGRAMMING OF MULTIGRID METHODS

PROGRAMMING OF MULTIGRID METHODS PROGRAMMING OF MULTIGRID METHODS LONG CHEN In this note, we explain the implementation detail of multigrid methods. We will use the approach by space decomposition and subspace correction method; see Chapter:

More information

Operators-Based on Second Derivative double derivative Laplacian operator Laplacian Operator Laplacian Of Gaussian (LOG) Operator LOG

Operators-Based on Second Derivative double derivative Laplacian operator Laplacian Operator Laplacian Of Gaussian (LOG) Operator LOG Operators-Based on Second Derivative The principle of edge detection based on double derivative is to detect only those points as edge points which possess local maxima in the gradient values. Laplacian

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

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

Intrinsic Morphing of Compatible Triangulations. VITALY SURAZHSKY CRAIG GOTSMAN

Intrinsic Morphing of Compatible Triangulations. VITALY SURAZHSKY CRAIG GOTSMAN International Journal of Shape Modeling Vol. 9, No. 2 (2003) 191 201 c World Scientific Publishing Company Intrinsic Morphing of Compatible Triangulations VITALY SURAZHSKY vitus@cs.technion.ac.il CRAIG

More information

Conforming Vector Interpolation Functions for Polyhedral Meshes

Conforming Vector Interpolation Functions for Polyhedral Meshes Conforming Vector Interpolation Functions for Polyhedral Meshes Andrew Gillette joint work with Chandrajit Bajaj and Alexander Rand Department of Mathematics Institute of Computational Engineering and

More information

Report of Linear Solver Implementation on GPU

Report of Linear Solver Implementation on GPU Report of Linear Solver Implementation on GPU XIANG LI Abstract As the development of technology and the linear equation solver is used in many aspects such as smart grid, aviation and chemical engineering,

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

Meshless Modeling, Animating, and Simulating Point-Based Geometry

Meshless Modeling, Animating, and Simulating Point-Based Geometry Meshless Modeling, Animating, and Simulating Point-Based Geometry Xiaohu Guo SUNY @ Stony Brook Email: xguo@cs.sunysb.edu http://www.cs.sunysb.edu/~xguo Graphics Primitives - Points The emergence of points

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

CSC Computer Graphics

CSC Computer Graphics // CSC. Computer Graphics Lecture Kasun@dscs.sjp.ac.lk Department of Computer Science University of Sri Jayewardanepura Polygon Filling Scan-Line Polygon Fill Algorithm Span Flood-Fill Algorithm Inside-outside

More information

Local Barycentric Coordinates

Local Barycentric Coordinates Local Barycentric Coordinates Juyong Zhang Bailin Deng Zishun Liu Giuseppe Patanè Sofien Bouaziz Kai Hormann Ligang Liu USTC EPFL USTC CNR-IMATI EPFL USI USTC Introduction Given a point p inside a polygon

More information

Parameterization of Triangular Meshes with Virtual Boundaries

Parameterization of Triangular Meshes with Virtual Boundaries Parameterization of Triangular Meshes with Virtual Boundaries Yunjin Lee 1;Λ Hyoung Seok Kim 2;y Seungyong Lee 1;z 1 Department of Computer Science and Engineering Pohang University of Science and Technology

More information

Chapter 8: Implementation- Clipping and Rasterization

Chapter 8: Implementation- Clipping and Rasterization Chapter 8: Implementation- Clipping and Rasterization Clipping Fundamentals Cohen-Sutherland Parametric Polygons Circles and Curves Text Basic Concepts: The purpose of clipping is to remove objects or

More information

Generalized Barycentric Coordinates

Generalized Barycentric Coordinates Generalized Barycentric Coordinates Kai Hormann Faculty of Informatics Università della Svizzera italiana, Lugano My life in a nutshell 2009??? Associate Professor @ University of Lugano 1 Generalized

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

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. 11 11.1 Basics So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. Global models include incident light that arrives

More information

Simple Formulas for Quasiconformal Plane Deformations

Simple Formulas for Quasiconformal Plane Deformations Simple Formulas for Quasiconformal Plane Deformations by Yaron Lipman, Vladimir Kim, and Thomas Funkhouser ACM TOG 212 Stephen Mann Planar Shape Deformations Used in Mesh parameterization Animation shape

More information

Einführung in Visual Computing

Einführung in Visual Computing Einführung in Visual Computing 186.822 Rasterization Werner Purgathofer Rasterization in the Rendering Pipeline scene objects in object space transformed vertices in clip space scene in normalized device

More information

Chapter 11 Representation & Description

Chapter 11 Representation & Description Chain Codes Chain codes are used to represent a boundary by a connected sequence of straight-line segments of specified length and direction. The direction of each segment is coded by using a numbering

More information

Yaron Lipman Thomas Funkhouser. RifR Raif Rustamov. Princeton University. Drew University

Yaron Lipman Thomas Funkhouser. RifR Raif Rustamov. Princeton University. Drew University Barycentric Coordinates on Surfaces Yaron Lipman Thomas Funkhouser RifR Raif Rustamov Princeton University Drew University Motivation Barycentric coordinates good for: interpolation shading deformation

More information

A NON-TRIGONOMETRIC, PSEUDO AREA PRESERVING, POLYLINE SMOOTHING ALGORITHM

A NON-TRIGONOMETRIC, PSEUDO AREA PRESERVING, POLYLINE SMOOTHING ALGORITHM A NON-TRIGONOMETRIC, PSEUDO AREA PRESERVING, POLYLINE SMOOTHING ALGORITHM Wayne Brown and Leemon Baird Department of Computer Science The United States Air Force Academy 2354 Fairchild Dr., Suite 6G- USAF

More information

On transfinite Gordon-Wixom interpolation schemes and their extensions Belyaev, Alexander; Fayolle, Pierre-Alain

On transfinite Gordon-Wixom interpolation schemes and their extensions Belyaev, Alexander; Fayolle, Pierre-Alain Heriot-Watt University Heriot-Watt University Research Gateway On transfinite Gordon-Wixom interpolation schemes and their extensions Belyaev, Alexander; Fayolle, Pierre-Alain Published in: Computers and

More information

Inner Approximation of Polygons and Polyhedra by Unions of Boxes

Inner Approximation of Polygons and Polyhedra by Unions of Boxes Inner Approximation of Polygons and Polyhedra by Unions of Boxes Christian Spielberger Martin Held Technical Report 2006-02 April 2006 Department of Computer Sciences Jakob-Haringer-Straße 2 5020 Salzburg

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

Lecture 19: Graph Partitioning

Lecture 19: Graph Partitioning Lecture 19: Graph Partitioning David Bindel 3 Nov 2011 Logistics Please finish your project 2. Please start your project 3. Graph partitioning Given: Graph G = (V, E) Possibly weights (W V, W E ). Possibly

More information

Generalized Barycentric Coordinates

Generalized Barycentric Coordinates Generalized Barycentric Coordinates Kai Hormann Faculty of Informatics University of Lugano Cartesian coordinates y 3 2 ( 3,1) 1 3 2 1 1 2 3 (2,2) (0,0) 1 2 3 (1, 2) x René Descartes (1596 1650) Appendix

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

(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

Diffusion Wavelets for Natural Image Analysis

Diffusion Wavelets for Natural Image Analysis Diffusion Wavelets for Natural Image Analysis Tyrus Berry December 16, 2011 Contents 1 Project Description 2 2 Introduction to Diffusion Wavelets 2 2.1 Diffusion Multiresolution............................

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

Digital Geometry Processing Parameterization I

Digital Geometry Processing Parameterization I Problem Definition Given a surface (mesh) S in R 3 and a domain find a bective F: S Typical Domains Cutting to a Disk disk = genus zero + boundary sphere = closed genus zero Creates artificial boundary

More information

Barycentric Finite Element Methods

Barycentric Finite Element Methods University of California, Davis Barycentric Finite Element Methods N. Sukumar University of California at Davis SIAM Conference on Geometric Design and Computing November 8, 2007 Collaborators and Acknowledgements

More information

Computational Design. Stelian Coros

Computational Design. Stelian Coros Computational Design Stelian Coros Schedule for presentations February 3 5 10 12 17 19 24 26 March 3 5 10 12 17 19 24 26 30 April 2 7 9 14 16 21 23 28 30 Send me: ASAP: 3 choices for dates + approximate

More information

Understanding Gridfit

Understanding Gridfit Understanding Gridfit John R. D Errico Email: woodchips@rochester.rr.com December 28, 2006 1 Introduction GRIDFIT is a surface modeling tool, fitting a surface of the form z(x, y) to scattered (or regular)

More information

An Interface-fitted Mesh Generator and Polytopal Element Methods for Elliptic Interface Problems

An Interface-fitted Mesh Generator and Polytopal Element Methods for Elliptic Interface Problems An Interface-fitted Mesh Generator and Polytopal Element Methods for Elliptic Interface Problems Long Chen University of California, Irvine chenlong@math.uci.edu Joint work with: Huayi Wei (Xiangtan University),

More information

Möbius Transformations in Scientific Computing. David Eppstein

Möbius Transformations in Scientific Computing. David Eppstein Möbius Transformations in Scientific Computing David Eppstein Univ. of California, Irvine School of Information and Computer Science (including joint work with Marshall Bern from WADS 01 and SODA 03) Outline

More information

CoE4TN4 Image Processing

CoE4TN4 Image Processing CoE4TN4 Image Processing Chapter 11 Image Representation & Description Image Representation & Description After an image is segmented into regions, the regions are represented and described in a form suitable

More information

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS LECTURE 14 RASTERIZATION 1 Lecture Overview Review of last class Line Scan conversion Polygon Scan conversion Antialiasing 2 Rasterization The raster display is a matrix of picture

More information

Greedy Routing with Guaranteed Delivery Using Ricci Flow

Greedy Routing with Guaranteed Delivery Using Ricci Flow Greedy Routing with Guaranteed Delivery Using Ricci Flow Jie Gao Stony Brook University Joint work with Rik Sarkar, Xiaotian Yin, Wei Zeng, Feng Luo, Xianfeng David Gu Greedy Routing Assign coordinatesto

More information

Problem Set 4. Assigned: March 23, 2006 Due: April 17, (6.882) Belief Propagation for Segmentation

Problem Set 4. Assigned: March 23, 2006 Due: April 17, (6.882) Belief Propagation for Segmentation 6.098/6.882 Computational Photography 1 Problem Set 4 Assigned: March 23, 2006 Due: April 17, 2006 Problem 1 (6.882) Belief Propagation for Segmentation In this problem you will set-up a Markov Random

More information

Advanced Computer Graphics

Advanced Computer Graphics G22.2274 001, Fall 2009 Advanced Computer Graphics Project details and tools 1 Project Topics Computer Animation Geometric Modeling Computational Photography Image processing 2 Optimization All projects

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

Free-form deformation (FFD)

Free-form deformation (FFD) T.D. DeRose, M. Meyer, Harmonic Coordinates. Pixar Technical Memo #06-02 Free-form deformation (FFD) Advanced Computer Animation Techniques Aug-Dec 2014 cesteves@cimat.mx Free-form deformation (FFD) 2d

More information

Edge Detection Lecture 03 Computer Vision

Edge Detection Lecture 03 Computer Vision Edge Detection Lecture 3 Computer Vision Suggested readings Chapter 5 Linda G. Shapiro and George Stockman, Computer Vision, Upper Saddle River, NJ, Prentice Hall,. Chapter David A. Forsyth and Jean Ponce,

More information

A New Smoothing Algorithm for Quadrilateral and Hexahedral Meshes

A New Smoothing Algorithm for Quadrilateral and Hexahedral Meshes A New Smoothing Algorithm for Quadrilateral and Hexahedral Meshes Sanjay Kumar Khattri Department of Mathematics, University of Bergen, Norway sanjay@mi.uib.no http://www.mi.uib.no/ sanjay Abstract. Mesh

More information

Unstructured Mesh Generation for Implicit Moving Geometries and Level Set Applications

Unstructured Mesh Generation for Implicit Moving Geometries and Level Set Applications Unstructured Mesh Generation for Implicit Moving Geometries and Level Set Applications Per-Olof Persson (persson@mit.edu) Department of Mathematics Massachusetts Institute of Technology http://www.mit.edu/

More information

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 9 - Designing Surfaces Triangular surfaces A surface can be discretized by a collection of points and triangles Each triangle is a subset of a plane Every point on the surface can be expressed as an affine

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

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

EF432. Introduction to spagetti and meatballs

EF432. Introduction to spagetti and meatballs EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/ Instructors: L2501, T 6-8pm

More information

2D Shape Deformation Using Nonlinear Least Squares Optimization

2D Shape Deformation Using Nonlinear Least Squares Optimization 2D Shape Deformation Using Nonlinear Least Squares Optimization Paper ID: 20 Abstract This paper presents a novel 2D shape deformation algorithm based on nonlinear least squares optimization. The algorithm

More information

Lecture 15: More Iterative Ideas

Lecture 15: More Iterative Ideas Lecture 15: More Iterative Ideas David Bindel 15 Mar 2010 Logistics HW 2 due! Some notes on HW 2. Where we are / where we re going More iterative ideas. Intro to HW 3. More HW 2 notes See solution code!

More information

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li.

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li. Fall 2015 CSCI 420: Computer Graphics 7.1 Rasterization Hao Li http://cs420.hao-li.com 1 Rendering Pipeline 2 Outline Scan Conversion for Lines Scan Conversion for Polygons Antialiasing 3 Rasterization

More information

Triangle Rasterization

Triangle Rasterization Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling

More information

CS 523: Computer Graphics, Spring Shape Modeling. Skeletal deformation. Andrew Nealen, Rutgers, /12/2011 1

CS 523: Computer Graphics, Spring Shape Modeling. Skeletal deformation. Andrew Nealen, Rutgers, /12/2011 1 CS 523: Computer Graphics, Spring 2011 Shape Modeling Skeletal deformation 4/12/2011 1 Believable character animation Computers games and movies Skeleton: intuitive, low-dimensional subspace Clip courtesy

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

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

Example 1. Find the angle measure of angle b, using opposite angles.

Example 1. Find the angle measure of angle b, using opposite angles. 2..1 Exploring Parallel Lines Vertically opposite angles are equal When two lines intersect, the opposite angles are equal. Supplementary angles add to 180 Two (or more) adjacent angles on the same side

More information

Applying the weighted barycentre method to interactive graph visualization

Applying the weighted barycentre method to interactive graph visualization Applying the weighted barycentre method to interactive graph visualization Peter Eades University of Sydney Thanks for some software: Hooman Reisi Dekhordi Patrick Eades Graphs and Graph Drawings What

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

Polygonal, Polyhedral, and Serendipity Finite Element Methods

Polygonal, Polyhedral, and Serendipity Finite Element Methods Polygonal, Polyhedral, and Serendipity Finite Element Methods Andrew Gillette Department of Mathematics University of Arizona ASU Computational and Applied Math Seminar Slides and more info at: http://math.arizona.edu/

More information

Question 2: Linear algebra and transformations matrices rotation vectors linear transformation T=U*D*VT

Question 2: Linear algebra and transformations matrices rotation vectors linear transformation T=U*D*VT You must answer all questions. For full credit, an answer must be both correct and well-presented (clear and concise). If you feel a question is ambiguous, state any assumptions that you need to make.

More information

Two Algorithms for Adaptive Approximation of Bivariate Functions by Piecewise Linear Polynomials on Triangulations

Two Algorithms for Adaptive Approximation of Bivariate Functions by Piecewise Linear Polynomials on Triangulations Two Algorithms for Adaptive Approximation of Bivariate Functions by Piecewise Linear Polynomials on Triangulations Nira Dyn School of Mathematical Sciences Tel Aviv University, Israel First algorithm from

More information

Platform Games Drawing Sprites & Detecting Collisions

Platform Games Drawing Sprites & Detecting Collisions Platform Games Drawing Sprites & Detecting Collisions Computer Games Development David Cairns Contents Drawing Sprites Collision Detection Animation Loop Introduction 1 Background Image - Parallax Scrolling

More information

2D vector fields 3. Contents. Line Integral Convolution (LIC) Image based flow visualization Vector field topology. Fast LIC Oriented LIC

2D vector fields 3. Contents. Line Integral Convolution (LIC) Image based flow visualization Vector field topology. Fast LIC Oriented LIC 2D vector fields 3 Scientific Visualization (Part 8) PD Dr.-Ing. Peter Hastreiter Contents Line Integral Convolution (LIC) Fast LIC Oriented LIC Image based flow visualization Vector field topology 2 Applied

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

Physically-Based Modeling and Animation. University of Missouri at Columbia

Physically-Based Modeling and Animation. University of Missouri at Columbia Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids

More information

CS-184: Computer Graphics Lecture #21: Fluid Simulation II

CS-184: Computer Graphics Lecture #21: Fluid Simulation II CS-184: Computer Graphics Lecture #21: Fluid Simulation II Rahul Narain University of California, Berkeley Nov. 18 19, 2013 Grid-based fluid simulation Recap: Eulerian viewpoint Grid is fixed, fluid moves

More information

1.2 Numerical Solutions of Flow Problems

1.2 Numerical Solutions of Flow Problems 1.2 Numerical Solutions of Flow Problems DIFFERENTIAL EQUATIONS OF MOTION FOR A SIMPLIFIED FLOW PROBLEM Continuity equation for incompressible flow: 0 Momentum (Navier-Stokes) equations for a Newtonian

More information

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California CSCI 420 Computer Graphics Lecture 14 Rasterization Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California 1 Rasterization (scan conversion) Final step in pipeline:

More information