Need help with geometry-processing-csc2520?

Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

148 Stars 15 Forks 108 Commits 0 Opened issues

Course Page for Geometry Processing

Readme

Fall Term 2020

CSC419H1 Geometry Processing

CSC2520H Geometry Processing

Prof. Alec Jacobson

TAs, Sarah Kushner, Jiayi Eris Zhang

W 3-5 Zoom

Office Hours: W 5-6 Zoom

The class is aimed at preparing students for working with geometric data via
understanding fundamental theoretical concepts. Students should have a
background in *Linear Algebra* and *Computer Programming*. Previous
experience with *Numerical Methods*, *Differential Equations*, and *Differential
Geometry* is appreciated but not required.

Extending traditional signal processing, *geometry processing* interprets
three-dimensional curves and surfaces as signals. Just as audio and image
signal data can be filtered, denoised and decomposed spectrally, so can the
geometry of a three-dimensional curve or surface.

In this course, we study the algorithms and mathematics behind fundamental operations for interpreting and manipulating geometric data. These essential tools enable: geometric modeling for computer aided design, life-like animations for computer graphics, reliable physical simulations, and robust scene representations for computer vision.

Topics include: discrete curves and surfaces, curvature computation, surface reconstruction from point clouds, surface smoothing and denoising, mesh simplification, parameterization, symmetry detection, shape deformation and animation.

In lecture we will cover the mathematical background and visual intuition of the
week's topic. Students will ** read academic papers** and complete a
small

- Students should understand, derive, and implement solutions to the prominent challenges that arise in geometry processing applications.
- Students should create a final creative project showcasing their implementation of the different processing algorithms.
- Students should develop an understanding of the mathematical underpinnings of geometry processing including useful discretized operators and energies.
- Students should develop a working knowledge of libigl to develop these algorithms without worrying about the grunt-work of OpenGL viewers, quadrature, etc.

Students should have already taken **Linear Algebra** and **Calculus**.

Students should have already taken **Introduction to Computer Science** and
should be *proficient* in computer programming (in any language) and should
feel comfortable programming in **C++**.

While knowledge of **Partial Differential Equations** *is not required*, it will
certainly be very handy for derivations. A quick survey will be posted to help
students evaluate their readiness on these topics.

On the programming side, we will be coding mainly in **C++** and using a
libigl, an open-source geometry processing
library. We will be using Eigen for computational
linear algebra, and Cmake for building the coding
assignments.

Much of the framing for our techniques will be looking at the continuous analogue of our problem and discretizing it in an intrinsic way, preserving continuous theorems as much as possible. We will discretize continuous operators like the Laplacian and the Gradient, and we will find adequate representations of concepts like normal vectors and curvature. Perhaps surprisingly we will see that there are many choices of discretization, each with their own benefits and downsides, prompting us to choose appropriately for the particular application.

| Lecture Date | Tentative Topic |
|:----------------------|:--|
| Wednesday, 16/09/2020 | **Geometry Processing Pipeline**, "life of a shape", shapes, surface representations,

*Polygon Mesh Processing* [Botsch et al. 2008]

**Intro Survey, due 12:00 noon ET 22/09/2020**

* HW 01 assigned, due 12:00 noon ET 22/09/2020*
| Wednesday, 23/09/2020 |

"Object modelling by registration of multiple range images" [Chen & Medioni 1991]

"A method for registration of 3-D shapes" [Besl & McKay 1992]

"Efficient Variants of the ICP Algorithm" [Rusinkiewicz & Levoy 2001]

"Sparse Iterative Closest Point" [Bouaziz et al. 2013]

point-to-plane distance, iterative closest point, orthogonal Procrustes problem

"Signed Distance Computation using the Angle Weighted Pseudo-normal" [Baerentzen & Aanaes 2005]

"3D distance fields: a survey of techniques and applications" [Jones et al. 2006]

"Robust Inside-Outside Segmentation using Generalized Winding Numbers" [Jacobson et al. 2013] | Wednesday, 25/11/2020 | Guest lecture by Hseuh-Ti Derek Liu | Wednesday, 02/12/2020 | Signed distances continued. Outlook into geometry processing research. | Wednesday, 09/12/2020 | Video party

Cutting room floor:

Quad meshing,Subdivision surfaces,Constructive solid geometry,Voxelization,Mesh decimation, simplification, remeshing

https://discord.gg/swMZ92H

0.007% off for every minute late.

Any code must belong to the student submitting it. Submitted assignments may be automatically analyzed to identify suspicious levels of code similarity. Consequences of committing an academic offence can be severe.

By staying enrolled in this course, students acknowledge that they have read and understand the University of Toronto's definitions and policy on Academic Integrity.

*Polygon Mesh
Processing*.
Mario Botsch, Leif Kobbelt, Mark Pauly, Pierre Alliez, and Bruno Levy, 2008.

- 73% small assignments (equal weighting per-assignment)
- 17% libigl-style paper implementation
- 10% Toronto Geometry Colloquium participation

- A concise and provably informative multi‐scale signature based on heat diffusion
- A Laplacian for Nonmanifold Triangle Meshes
- A Symmetric Objective Function for ICP
- An Adaptive Multi-Grid Solver for Applications in Computer Graphics
- Anisotropic geometric diffusion in surface processing
- Appearance Mimicking Surfaces
- Biharmonic Distance
- Can Mean-Curvature Flow be Modified to be Non-singular?
- Complementary Dynamics
- Compressed manifold harmonics
- Compressed vibration modes of elastic bodies
- Cubic Stylization
- Deep Geometric Texture Synthesis
- Developability of Heightfields via Rank Minimization
- Diffusion Curves: A Vector Representation for Smooth-Shaded Images
- Discrete Differential Operators on Polygonal Meshes
- Fast Approximation of Laplace-Beltrami Eigenproblems
- Gaussian-Product Subdivision Surfaces
- Harmonic Triangulations
- Instant Field-Aligned Meshes
- Interpolated Corrected Curvature Measures for Polygonal Surfaces
- Laplace Operators for Tetrahedral Meshes
- LSMAT Least Squares Medial Axis Transform
- Make it stand: balancing shapes for 3D fabrication
- Monte Carlo Geometry Processing: A Grid-Free Approach to PDE-Based Methods on Volumetric Domains
- Packing Irregular Objects in 3D Space via Hybrid Optimization
- Parallel Globally Consistent Normal Orientation of Raw Unorganized Point Clouds
- Phong Deformation: A Better CO Interpolant for Embedded Deformation
- SAL: Sign Agnostic Learning of Shapes from Raw Data
- Signing the Unsigned: Robust Surface Reconstruction from Raw Pointsets
- Stable Neo-Hookean Flesh Simulation
- Stripe Patterns on Surfaces
- Surface Reconstruction Based on Modified Gauss Formula
- Variational Surface Cutting
- Vector Heat Method
- You Can Find Geodesic Paths in Triangle Meshes by Just Flipping Edges