Geometry Processing

Introduction & Course Logistics

Prof. Edward Chien

Staff Introduction

images/chien.jpgEdward Chien images/rmitra.jpgRahul Mitra images/dscrivener.pngDaniel Scrivener

(Apologies)

Just an FYI: Our lab has a major deadline on the 24th, so we will be running on autopilot for the first week and a half. Thanks!

Personal Academic History

  • Academic Travels
    • 2005-2009, AB Mathematics & Physics, Dartmouth College
    • 2009-2015, PhD Mathematics, Rutgers University
    • 2015-2017, Postdoc Graphics, Bar-Ilan University
    • 2017-2020, Postdoc Geometric Data Processing, MIT
    • 2020-present, Faculty CS, Boston University
      images/HGPCover.pngHarmonic parametrization images/singularvert.jpgHex meshing images/WassSurfInterp.jpgOptimal transport

Three Major Course Components

    1. Assignments & lectures on foundational material
    • Slides posted online
    • Lectures recorded and linked on Piazza
    • May work in pairs on assignments, if desired
    1. Research paper presentations by students followed by discussion (exact form subject to change)
    • Non-presenters required to submit a brief (2-3 sentence) summary, and participate in discussion on Piazza
    • Presenters will lead in-class discussion
    1. Group Project
    • No more than 10 projects in total (so teams of \(\leq 3\))
    • Papers can provide inspiration; project could be an implementation or extension of one of these, or application of existing implementations to a new domain
    • Complexity of project may be adjusted to student level
    • Show examples

Geometry - γεωμετρία

geo = earth

images/Earth.png

Geometry - γεωμετρία

geo = earth

images/earth_rest.png

Geometry - γεωμετρία

metria = measure

images/scanners.png

A little bit of History

  • One of two fields of pre-modern mathematics
    • along with arithmetic
  • Earliest recorded beginnings of geometry:
    • 3000 B.C. by Indus Valley and Babylonian civilizations
  • Practical motivation
    • surveying
    • construction
    • astronomy

images/surveycrew.jpga surveying team

A little bit of History

Classic Geometry was based on compass-and-straightedge construction

images/compass_wiki.jpg images/Straight_Square_Construction.gif

A little bit of History

images/euclids_elements.pngFragment of Euclid’s Elements (300 B.C.)
“widely considered the most influential textbook of all times”

images/table_of_geometry.png
Table of Geometry from the 1728 Cyclopaedia

A little bit of History

  • Modern Geometry joins classic geometry and algebra/calculus
  • Analytic Geometry = Geometry with coordinates and equations
  • Add in ability to compute, and Geometry Processing results
  • “science of shape”:
    • length
    • area
    • volume
    • angle
    • curvature
    • deformation

A little bit of History

Our goal is complex geometry for simulation and animation

images/complex_geometry.png

3D Scanning

images/max-0.pngGet real model… images/scanner.gif…buy a laser scanner
images/max-1.png…perform several range scans images/max-2.png…and reconstruct a virtual model!

Cultural Heritage

Urban Modeling

images/device-car.jpgGoogle street view scanner images/googlecity.pngGoogle Earth

Automotive Industry

images/bmw-0.pngReal model images/bmw-1.pngScanner point cloud images/bmw-2.pngReconstructed surface
images/bmw-3.pngFlow simulation

Digital Avatars

images/benjaminbutton1.jpgCamera-based scanner images/benjaminbutton2.jpgAcquired data

© ICT

Computational Fabrication

  • Many technologies
    • 3D printing
    • CNC machining
    • Laser cutting
    • Robotic fabrication
    • Computational knitting
    • etc.
  • All require processing of 3d models for input and design

images/3dprintschematic.png3D printing schematic images/cncmachine.jpgCNC machine
images/compknit.pnga computational knit

Course Content

  • Geometry Representations via Scanning
  • Differential Geometry
  • Discrete Differential Operators
  • Optimization for GP
  • Spectral Methods for GP
  • Surface Reconstruction
  • Smoothing
  • Parameterization
  • Deformation & Distortion
  • Discrete Exterior Calculus

images/mario-points.png
images/mario-poisson.png

Course Content

  • Geometry Representations via Scanning
  • Differential Geometry
  • Discrete Differential Operators
  • Optimization for GP
  • Spectral Methods for GP
  • Surface Reconstruction
  • Smoothing
  • Parameterization
  • Deformation & Distortion
  • Discrete Exterior Calculus

images/mario-poisson.png images/mario-smooth.png

Course Content

  • Geometry Representations via Scanning
  • Differential Geometry
  • Discrete Differential Operators
  • Optimization for GP
  • Spectral Methods for GP
  • Surface Reconstruction
  • Smoothing
  • Parameterization
  • Deformation & Distortion
  • Discrete Exterior Calculus

images/mario-curv-1.png images/mario-curv-2.png

Course Content

  • Geometry Representations via Scanning
  • Differential Geometry
  • Discrete Differential Operators
  • Optimization for GP
  • Spectral Methods for GP
  • Surface Reconstruction
  • Smoothing
  • Parameterization
  • Deformation & Distortion
  • Discrete Exterior Calculus

Course Content

  • Geometry Representations via Scanning
  • Differential Geometry
  • Discrete Differential Operators
  • Optimization for GP
  • Spectral Methods for GP
  • Surface Reconstruction
  • Smoothing
  • Parameterization
  • Deformation & Distortion
  • Discrete Exterior Calculus

images/bardeformation.png images/dec1.png

Detailed Course Information

  • Attending class
    • Lecture: 9:30 AM - 10:45 AM, TuThu, CGS 121
    • Labs: 2:30 - 3:20 PM, Wed, CGS 421
    • Grading sessions: 11 AM - 12:45 PM, Fri, CDS 836 (can schedule separately, if conflicted)
    • In-person attendance is encouraged, if you are healthy
    • Lectures and labs will be recorded
  • Office hours
    • 10:30-11:30 AM, Mon, CDS 836
    • 2:30-3:30 PM, Tues, CDS 836
    • Can schedule separate meetings if there are conflicts

Detailed Course Information

Weekly Assignments

  • Programming in C++ within the Open Flipper framework
  • Skeleton code will be provided, so some experience with C++ is helpful, but you do not need to be an expert
  • Some have theory components
  • Assigned on Thursdays, relevant lab on Wednesday of following week, due on Friday
  • Handed in on Gradescope and graded during a demo session on Friday

Paper Readings & Discussion (may change)

  • 30 minutes for student presentation of the paper in question
    • May use publicly available slides/media (with proper attribution)
  • 30 minutes for discussion in breakout groups
    • Presenter to float around and help guide discussion
  • Non-presenters:
    • required to submit a brief (2-3 sentence) summary on Gradescope
    • post a discussion question on Piazza, and respond substantively to another question

Semester Project

  • To be done alone or in teams of up to 3 (10 projects max)
  • Papers can provide inspiration; project could be an implementation or extension of one of these, or application of existing implementations to a new domain
  • Brief project proposal required
  • Final project presentation to be done at the end
  • Complexity of project may be adjusted to student level

How to use our HTML slides

  • Use the keys left/right to navigate through the slides.
  • Click page number (bottom right) to open navigation menu.
  • Press f/ESC to enter/leave fullscreen mode
  • Double-click an item (e.g. an image) to zoom in/out.
  • If the whiteboard icon is highlighted red () something was written to the virtual whiteboard. Click the icon to show/hide the whiteboard.
  • Use Chrome/Chromium or Firefox 👍. Do not use Safari, it cannot handle WebGL demos 👎.

Slide Acknowledgements

  • Initial slides and system by
  • Many more people contributed directly or indirectly
    • David Bommes, Pierre Alliez, Keenan Crane, Marcel Campen, Bruno Levy, Misha Kazhdan, Leif Kobbelt, Sylvain Lefebvre, Niloy Mitra, Szymon Rusinkiewicz, Justin Solomon, etc.

images/botsch.pngMario Botsch images/pauly.pngMark Pauly

images/bommes.pngDavid Bommes

Other resources (even courses!)