COMS E6998
Computer Graphics & Computational Motion
Fall 2016, Columbia University
Fri., 2:10pm-4:00PM, 302 Fayerweather
Instructor: Changxi Zheng
Pre-requisites: Conformable on programming in C++, Java, or Python, Data structures (tree, queue, etc.), Multivariable calculus (partial derivative, gradient, Jacobian), Linear algebra (vector, matrix)
Additionally, we expect that you have some background on computer graphics. In other words, we expect that you have taken either computer graphics (COMS W4160/W4162) or computer animation (COMS W4167) at Columbia or equivalent courses at other schools.
It is a plus, although not a requirement, if you have read and understood SIGGRAPH papers before.
Role-playing
This is a seminar aiming for reading and discussing research papers in the field of computer graphics and related topics. Every week, we will focus on one paper and organize the discussion around different "roles" played by students: paper reviewer, archaeologist, graduate student, industry expert, and hacker.
Paper reviewer. Complete a full, critical, but constructive (not negative) review of the paper. Answer all questions of the SIGGRAPH Review form.
- Weekly submission: the review form.
- # of roles: 3.
- In class: report your reviews to the rest of us in 20 min (total).
Archaeologist. A resesarch paper should not be reviewed as a piece of isolated scientific work. Investigate where the paper sites in the context of previous and subsequent work. Find and report one older paper cited by the discussed paper, and tell us why this discussed paper advances the technique. Meanwhile, find a subsequent paper (newer than the discussed one) and report why it merits a publication. Chaining the series of papers will help to reveal a chronological flow of technical advancement.
- Weekly submission: slides that presents the prior and subsequent work, focusing on the technical aspects that contributes to the flow of technical advancement.
- # of roles: 1.
- In class: report your finding with your slides in 15 min (total).
Graduate student. Understand the key technical contributions of the paper, and examine the results and validation. Propose an imaginary follow-up project not just based on the current but only possible due to the existence and success of the current paper.
- Weekly submission: a summary that reports (1) the main technical contributions, (2) key experiments and validations performed in the paper, (3) possible projects and extensions built on this paper.
- # of roles: All the students who are not assigned with other roles.
- In class: Participate in the discussion (35 min in total).
Industrial R&D expert. Convince us (your industry bosses) that the paper can bring technical strength to the company. So it worth the company's resource to integrate the technique into our commerical products or pipeline. You can choose an appropriate company and product or application (e.g., software company like Audodesk or animation studio like Pixar).
- Weekly submission: slides that you will present to your industry bosses to sell the paper.
- # of roles: 1.
- In class: Present your argument with your slides in 15 min (total).
Hacker. Implement a small part of the paper or simplified (e.g. 2D instead of 3D) version of the paper. Prepare a demo of your work for the class. You need to get approval from the instructor about which part to implement.
- Weekly submission: source code. It needs to be compilable and runable on the CA's computer.
- # of roles: 2.
- In class: Present your demo in 25 min (total).
Office Hours
by appointment.
(Tentative) Schedule
date | paper | reviewer | archaeologist | industry expert | hacker | |
---|---|---|---|---|---|---|
9 | Sep. | Energy-Based Self-Collision Culling | ||||
16 | Sep. | Spacetime Constraints | Tianrui Peng; Avantika Iyer; YiChen Chen | Miles Hilton | Eszter Offertaler | Chang Xiao; Cheng Zhang |
23 | Sep. | Meshless deformations based on shape matching | Cheng Zhang; Yixing Chen; Chang Xiao | Luke Zhang | Liang Li | Eszter Offertaler; Zhixuan Wang |
30 | Sep. | Animating oscillatory motion with overlap: wiggly splines | Zhixuan Wang; Liang Li; Eszter Offertaler | YiChen Chen | Avantika Iyer | Miles Hilton; Luke Zhang |
7 | Oct. | Skinning mesh animations | Luke Zhang; Miles Hilton; YiChen Chen | Chang Xiao | Cheng Zhang | Avantika Iyer; Liang Li |
14 | Oct. | Large steps in cloth simulation | Avantika Iyer; Cheng Zhang; Liang Li | Eszter Offertaler | Chang Xiao | Yichen Chen; Yixing Chen |
21 | Oct. | Curl-Noise for Procedural Fluid Flow | Miles Hilton; Zhixuan Wang; Yixing Chen | Cheng Zhang | Luke Zhang | Chang Xiao; Eszter Offertaler |
28 | Oct. | Wave Particles | Chang Xiao; Eszter Offertaler; Yichen Chen | Yixing Chen | Liang Li | Miles Hilton; Avantika Iyer |
4 | Nov. | Statistical Acceleration for Animated Global Illumination | Liang Li; Miles Hilton; Luke Zhang | Avantika Ilyer | Yichen Chen | Cheng Zhang; Zhixuan Wang |
11 | Nov. | Two-Scale Particle Simulation | Avantika Ilyer; Cheng Zhang; Chang Xiao | Zhixuan Wang | Yixing Chen | Luke Zhang; Liang Li |
18 | Nov. | Yarn-Level Simulation of Woven Cloth | Luke Zhang; Yixing Chen; Liang Li | Miles Hilton | Chang Xiao | Yichen Chen; Zhixuan Wang |
25 | Nov. | --- University holiday --- | ||||
2 | Dec. | Marching cubes: A high resolution 3D surface construction algorithm | Cheng Zhang; Miles Hilton; Yichen Chen | Luke Zhang | Avantika Ilyer | Eszter Offertaler; Yixing Chen |
9 | Dec. | Holograms for acoustics | Liang Li; Yichen Chen; Avantika Ilyer; Miles Hilton; Yixing Chen | Chang Xiao; Cheng Zhang |
Exams
There will be no exam in this course. But there will be weekly program assignments.
Links
About COMS E6998
Due dates: All the presentation material/code/review/summary/etc. are due at 12:00PM of Friday, right before the class. They must be submitted electronically on courseworks.
Final Grade: During the class, we will grade based on your performance of each tasks (as e.g., reviewers, archaeologists, industry experts, etc.). We will report your individual grades on courseworks. We also encourage you to approach us to seek for timely feedbacks as the course goes. You final letter grade will be an weighted average of your grades of individual tasks, converted following the table
- A: 90% or higher
- B: 80% to 89%
- C: 70% to 79%
- D: 60% to 69%
Questions, help, discussion: The instructors and CAs are available to answer questions, advise on paper implementation, or just to discuss interesting topics related to the class by appointment as needed. For electronic communication and paper discussion, we are using Piazza (link also available at the top of this page). Please sign up for the Piazza page. When posting questions, please keep them organized by posting them to specific folders.
You are highly encouraged to discuss the papers offline among yourselves in general terms. But when you start writing up the reviews and summaries or implementing the papers, you need to be working alone. In particular, it is never permitted for you to see another student's homework writeup or other's program code, and certainly never tolerated to copy parts of one person's writeup, code, or results into another's, even if the general solution was worked out together.
You're also encouraged to read any published sources—books, articles, public web sites—that help you learn. If you find an idea in one of these sources that becomes part of your solution (or even gives you the whole solution), that's fine, but it is imperative that you explicitly cite the source on your homework or state it in a comment of your code. Otherwise you would be falsely claiming to have invented the idea or source code yourself.
Academic integrity: We expect complete integrity from everyone. We assume the work you hand in is your own, and the results you hand in are generated by your program. You're welcome to read whatever you want to learn what you need to do the work, but we do expect you to build your own implementations of the methods we are studying. If you're ever in doubt, just include a citation in your code or report indicating where some idea came from, whether it be a classmate, a web site, another piece of software, or anything—this always maintains your honesty, whether the source was used in a good way or not. The principle is that an assignment is an academic document, like a journal article. When you turn it in, you are claiming that everything in it is your original idea (or is original to you and your partner, if you're handing in as a pair) unless you cite a source for it. it's never OK for you to see another student's homework writeup or another team's program code, and certainly never OK to copy parts of one person's or team's writeup, code, or results into another's, even if the general solution was worked out together.
School can be stressful, and your coursework and other factors can put you under a lot of pressure, but that is never a reason for dishonesty. If you feel you can't complete the work on your own, come talk to the professor or the CAs, or your advisor, and we can help you figure out what to do. Think before you hand in!
Clear-cut cases of dishonesty will result in failing the course.
For more information see Columbia Engineering's Code of Academic Integrity.
Open Door Policy: We hope the course to run smoothly and enjoyably. Feel free to let us know if you find the course helpful and interesting. Especially, let us know sooner about the reverse. Drop by our office hours, leave us a note, or send us an email.