Lecture | Lectures (click for notes) | Readings/Links | Assignments | |
Geometric Primitives and Shape TransformationsThe course will start with an overview of some important mathematical concepts to get everyone on the same page. These are the basic building blocks that will be used again and again in the rest of the course. Towards the end of this unit, students will already know enough to tackle a very fun assignment on "sound rendering," or creating sound simulations that allow the user to "hear" what an environment modeled by virtual polygons sounds like as sound waves bounce around.NOTE: In this unit there will be more mini assignments than in other units. Do not be alarmed, some of them are very short! This is just to make sure we all stay in lockstep during the fundamentals | ||||
1 | Thu 1/14/2016 | Course Sneak Preview, Equidecomposing Polygons | Background knowledge assessment | Send Chris E-Mail With Office Hour Times |
2 | Tue 1/19/2016 | Vectors, Dot Products, Projections | Mini Assignment 1 Out (Geometric Primitives) | |
3 | Thu 1/21/2016 | Line Segment Intersection, Circumcenters, Delaunay Triangulation, JSON | http://www.json.org/ | |
Sun 1/24/2016 | Mini Assignment 1 Part 1 Due 11:55 PM | |||
4 | Tue 1/26/2016 | Planes, Interior Point Testing, Duality | Sariel Har-Peled's Duality Notes (Advanced) | |
5 | Thu 1/28/2016 | Intro To Matrix Transformations | [LENGYEL] Chapters 1-3, Translation/Rotation Demo | |
Fri 1/29/2016 | Mini Assignment 1 Part 2 Due 11:55 PM | |||
6 | Tue 2/2/2016 | Normal Transformations, 3D Transformations, Euler Angles | Euler Angles Visualization App | Mini Assignment 2 Out (Euler Angles Visualization) |
7 | Thu 2/4/2016 | Image Sources for Specular Reflections, Convolution, Scene Graphs | funkhouser2003 (section 4.1.1), Borish1984, Liu2014, Interactive Convolution App | |
Mon 2/8/2016 | Mini Assignment 2 Due 11:55PM | |||
8 | Tue 2/9/2016 | Gimbal Lock, Quaternions/SLERP, Scene Graphs Continued | Excellent youtube video on gimbal lock, Houston, we have a problem,Quaternion Identity Proof,SLERP Visualization App | Group Assignment 1 Out (Image Sources for Acoustic Simulations) SIGGRAPH Student Volunteer Application Due (Optional) |
9 | Thu 2/11/2016 | Quaternions Continued, Group Assignment 1 Practice | ||
Point Clouds: Shape Alignment And Shape StatisticsAs an intro to 3D geometry representations, we will take a look at the point cloud data structure, which is the raw data format that comes back from 3D sensors such as the Kinect. The data structure is very simple, which makes this unit a perfect entry point into statistical techniques in the context of 3D shapes, including PCA, shape alignment, and shape descriptors. This section will culminate in an assignment called "Shape Google" in which students compete to create software to automatically recognize shapes, which will provide lots of practice with the math topics learned in the first unit, and which should be apt for those students interested in data analytics. | ||||
10 | Tue 2/16/2016 | Point Clouds Overview, Eigenvalues/Eigenvectors, Principal Component Analysis | pointclouds.org, Interactive Point Cloud Viewer, My Interactive 2D PCA Demo, Another Interactive PCA Demo, 4 Different Ways To Do PCA in Matlab, Robust PCA (Advanced) | |
11 | Thu 2/18/2016 | Group Assignment 1 Help, Procrustes Intro | ||
Mon 2/22/2016 | Group Assignment 1 Part 1 Due | |||
12 | Tue 2/23/2016 | SVD, Procrustes Distance | Kabsch algorithm to solve orthogonal procrustes(Wikipedia), Wahba's Problem (Wikipedia), coutsias2004 | Begin Choosing Final Projects / Groups |
13 | Thu 2/25/2016 | Finish Procrustes, Iterative Closest Points | Chen_Medioni1991, Besl_McKay1992, [BRONSTEIN] Ch 6.2, Sparse Iterative Closest Points 2013 (Advanced) | |
Sat 2/27/2016 | Group Assignment 1 Hackathon 4PM - 10PM Gross Hall 330 | |||
14 | Tue 3/1/2016 | 3D Point Cloud Shape Descriptors | Ankerst99, Johnson99, Osada2002, Huang2010 (good overview) | |
Wed 3/2/2016 | Group Assignment 1 Final Deadline | |||
15 | Thu 3/3/2016 | Shape Descriptor Rankings, High Dimensional Data Analysis, Numpy | Numpy Code Examples | |
Fri 3/4/2016 | Mini Assignment 3 Out (Iterative Closest Points) | |||
Sat 3/5/2016 | Submit Final Project Topic Choices | |||
16 | Tue 3/8/2016 | Numpy Continued, Fourier Modes | ||
17 | Thu 3/10/2016 | Midterm Exam | ||
Sat 3/12/2016 | Mini Assignment 3 Due | |||
Mon 3/14/2016 | Group Assignment 2 Out | |||
-- | Tue 3/15/2016 | Spring Break | Enjoy! | |
-- | Thu 3/17/2016 | Spring Break | Enjoy! | |
18 | Tue 3/22/2016 | Phase Invariance, Circular/Spherical Functions, Spherical Harmonics | Funkhouser2003 | |
Surfaces, Topology, And Nonrigid GeometryThe class will now move onto the next level of complexity beyond point clouds to where points are connected together to form manifold surfaces. Students will get an introduction to topology in the context of 3D shapes, and an emphasis will be placed on separating out geometric and topological properties of shapes. After that, we will tackle "stretchy shapes," or nonrigid surfaces in 3D. In the grand finale of the course, we will learn how to gracefully apply nonrigid deformations to shapes with the Laplacian Mesh representation, and we will learn how to exploit this new flexibility to match shapes in different poses and to systematically break 3D shapes into smaller parts. We will also learn "isometry invariant" shape statistics that remain unchanged under nonrigid motions, such as a person moving their arms up and down. This unit will culminate in an assignment in which students design an interactive application to deform 3D shapes. | ||||
19 | Thu 3/24/2016 | Intro To Topology: The Euler Characteristic, Polytopes, Platonic Solids, Genus | 20 Proofs of Euler's Theorem (we did #4 in class) | |
20 | Tue 3/29/2016 | Topology Continued, Polygon Meshes Data Structures | Botsch07 ch 1-3 | |
Wed 3/30/2016 | Group Assignment 2 Due | |||
21 | Thu 3/31/2016 | Subdivision Surfaces And Implicit Surfaces | Zorin00, CurlessLevoy1996.pdf, LorensenCline (most highly cited paper in graphics!), Scipy Marching Squares, numpy marching cubes, Javascript Boolean Shape Operations | |
22 | Tue 4/5/2016 | Laplacian Meshes | Sorkine05 (Section 2), Sorkine04 (explains rotation estimation), Sorkine07 (as rigid as possible), COS 526 Fall 2010 Art Contest, Crane Discrete Differential Geometry | |
23 | Thu 4/7/2016 | Spectral Meshes | Taubin1995, Karni00, Zhang2010, Reuter2006 (Advanced), Rustamov2007 (Advanced) | |
24 | Tue 4/12/2016 | Heat Flow on Meshes | Mahmoudi2008, Sun2009 (Advanced) | Group Assignment 3 Out |
25 | Thu 4/14/2016 | Geodesics and Fast Marching | KimmelSethian1998 (Advanced), MahmoudiSapiro2008, [BRONSTEIN] Ch 5, Gabriel Peyre's Fast Marching Library/Tutorial, Crane2013 | |
Mon 4/18/2016 | Group Assignment 3 Deadline 1 11:55 PM | |||
26 | Tue 4/19/2016 | Multidimensional Scaling and Canonical Forms | EladKimmel2001, Bronstein Ch. 7 | |
27 | Thu 4/21/2016 | Mesh Parameterization / Flattening (Guest Lecture by Tingran Gao) | ||
28 | Tue 4/26/2016 | Course Wrap-Up / Raffle | Group Assignment 3 Final Deadline 11:55 PM | |
Fri 4/29/2016 | Final Project Videos Due | |||
Sun 5/1/2016 | Final Project Video Feedback Due | |||
Tue 5/3/2016, 5:00PM | Final Project Final Deadline |