SUNY Geneseo Department of Mathematics

Math 384 — Computational Graphics

Spring 2015
Prof. Doug Baldwin

Last modified January 20, 2015

Time and Place: MWF 11:30 - 12:20, Sturges 104

Final Meeting: Wednesday, May 13, 12:00 Noon - 3:00 PM

Instructor: Doug Baldwin
Office: South 307
Phone: 245-5659
Email: baldwin@geneseo.edu
Office Hours: Any time Monday through Friday, 8:00 AM to 5:00 PM, when I’m not committed to something else. See my Calendar for details and to make appointments electronically. You don’t need to make appointments to see me, but may if you want to be sure I’ll be available.

Web Pages:
Lecture Notes: http://www.geneseo.edu/~baldwin/math384/spring2015/lectures.php
Exercises: http://www.geneseo.edu/~baldwin/math384/spring2015/exercises.php

Computer graphics is ubiquitous in modern western culture—current movies seem to credit more computer graphics “technical directors” than on-screen actors, no-one ever seems to be out of eye-shot of a screen displaying a video game or computer-generated image, etc. In technical terms, however, all of this imagery and action is really just a powerful visualization of some mathematical models of how light interacts with matter in a three- (or four-, if dealing with time and animation) dimensional virtual world.

This course introduces the mathematical models and programming used in a style of computer graphics known as “ray tracing.” In particular, we will examine how different views of a three-dimensional scene can be described by different coordinate frames with suitable transformations between them, and how all the interactions between light and such a scene, eventually leading to a spot of color appearing in an image, are elegantly captured in a multi-dimensional integral. We will write several ray tracing programs based on this mathematics.

Prerequisite(s): Math 223, Math 230, Math 233

Learning Outcomes: On completing this course, students who meet expectations will be able to…

Books and Other Resources

Books

There is no required textbook for this course.

However, if you haven’t used the Matlab language before, either of the following is a good reference:

Pratap, Getting Started with Matlab: A Quick Introduction for Scientists and Engineers
Attaway, Matlab: A Practical Introduction to Programming and Problem Solving (3rd ed.)

Software

You will need to install a copy of Matlab, version r2014b, on your own computer. You can get copies for either Macintosh or PC computers from Geneseo, at

http://software.geneseo.edu

(Scroll down through the list of software until you find Matlab)

Instructions for installing Geneseo’s Matlab on your own computer are at

https://wiki.geneseo.edu/display/cit/MatLab+R2014b+Installation+Guide

The copy of Matlab you get from Geneseo will only run on a computer connected to the Geneseo network. If you commonly work off campus, you can use a “virtual private network” (VPN) to make it look like your computer is on Geneseo’s network. The VPN is simply a piece of software you install on your computer. Windows users can download the “Cisco VPN” package from software.geneseo.edu. Macintoshes come with a VPN pre-installed; follow the instructions at https://wiki.geneseo.edu/display/cit/Setting+up+Geneseo+VPN+on+Mac+OS+X+10.6+Snow+Leopard+to+10.9+Mavericks to activate it.

Course Schedule

The following dates are best estimates. They may well change as students’ actual needs become apparent. Refer to the Web version of this syllabus for the most current information, I will keep it as up-to-date as possible:

Jan. 21 - Jan. 23Introduction
Jan. 23 - Feb. 4Rays and a Minimal Ray Tracer
Feb. 4 - Feb. 13Affine Transformations and Geometric Objects
Feb. 13 - Feb. 23Ray-Object Intersections
Feb. 25Hour Exam 1
Feb. 27 - Mar. 13Point Lights and a Simple Rendering Equation
Mar. 14 - Mar. 22Spring Break
Mar. 23 - Apr. 3Reflection and Monte Carlo Integration
Apr. 6Hour Exam 2
Apr. 8 - May 1Advanced Topics (e.g., Anti-Aliasing, Refraction, Participating Media)
May 4Hour Exam 3
May 13Project Presentations

Grades and Such

Your grade for this course will be calculated from your grades on exercises, exams, etc. as follows:

Hour Exams (3)20% each
Homework Projects (3 - 5)15%
Semester Project15%
Participation10%

As an upper-level mathematics course with no textbook, I’m hoping that this will be a very participatory course: that we will be able to develop the mathematical models used in ray tracing through group discussion and programming experimentation in class, that you will feel free to contribute bits of your own math or physics knowledge to these discussions, etc. The course schedule is very flexible to allow for such discussions, and to allow class time for “lab” activities in which we try programming our mathematical models. Your general level of engagement in these discussions and labs will be reflected in the “participation” part of your grade.

Rather than having a final exam, this course will end with a “semester project.” This project will ask you to investigate the mathematics behind some aspect of ray tracing not otherwise covered in the course, and to write a ray tracer incorporating that mathematics. You will then present your results to the rest of the class (and guests, if anyone wants to invite some) during the nominal final exam period on May 13, and give me a written report on your work. I will hand out full details after spring break. If you are a math major and want to use this project and presentation to satisfy the Math 348 requirement, please discuss that with me—I’m very open to such requests.

In determining numeric grades for individual assignments, questions, etc., I start with the idea that meeting my expectations for a solution is worth 80% of the grade. I award the other 20% for exceeding my expectations in various ways (e.g., having an unusually elegant or insightful solution, or expressing it particularly clearly, or doing unrequested out-of-class research to develop it, etc.); I usually award 10 percentage points for almost anything that somehow exceeds expectations, and the last 10 for having a solution that is truly perfect. I deliberately make the last 10 percentage points extremely hard to get, on the grounds that in any course there will be some students who routinely earn 90% on everything, and I want even them to have something to strive for. I grade work that falls below my expectations as either meeting about half of them, three quarters, one quarter, or none, and assign numeric grades accordingly: 60% for work that meets three quarters of my expectations, 40% for work that meets half of my expectations, etc. This relatively coarse grading scheme is fairer, more consistent, and easier to implement than one that tries to make finer distinctions.

This grading scheme produces numeric grades noticeably lower than traditional grading does. I take this into account when I convert numeric grades to letter grades. The general guideline I use for letter grades is that meeting my expectations throughout a course earns a B or B+. Noticeably exceeding my expectations earns some sort of A (i.e., A- or A), meeting most but clearly not all some sort of C, trying but failing to meet most expectations some sort of D, and apparently not even trying earns an E. I set the exact numeric cut-offs for letter grades at the end of the course, when I have an overall sense of how realistic my expectations were for a class as a whole. This syllabus thus cannot tell you exactly what percentage grade will count as an A, a B, etc. However, in my past courses the B+ to A- cutoff has typically fallen somewhere in the mid to upper 80s, the C+ to B- cutoff somewhere around 60, and the D to C- cutoff in the mid-40s to mid-50s. I will be delighted to talk with you at any time during the semester about your individual grades and give you my estimate of how they will eventually translate into a letter grade.

Policy on Late and Missed Work

I will accept exercise solutions that are turned in late, but with a 10% per day compound late penalty. For example, homework turned in 1 day late gets 10% taken off its grade; homework turned in 2 days late gets 10% taken off for the first day, then 10% of what’s left gets taken off for the second day. Similarly for 3 days, 4 days, and so forth. I round grades to the nearest whole number, so it is possible for something to be so late that its grade rounds to 0.

I do not normally give make-up exams.

I may allow make-up exams or extensions on exercises if (1) the make-up or extension is necessitated by circumstances truly beyond your control, and (2) you ask for it as early as possible. At my discretion, I may require proof of the “circumstances beyond your control” before granting a make-up exam or extension.

Policy on Collaboration

Assignments in this course are learning exercises, not tests of what you know. You are therefore welcome to work on them in small groups, unless specifically told otherwise in the assignment handout—a well-managed group makes a successful, and thus more educational, project more likely.

In order to avoid confusion when people work together, please indicate clearly what work is yours and what comes from other sources on everything you hand in. The appropriate “indication” depends on how much work is yours and how distinguishable it is from your collaborators’. At one extreme, if a group of people work together on all parts of an assignment, they could hand in one solution with all their names, and a brief statement of what each person contributed, on it. At the other extreme, if you do most of an assignment on your own but get a specific idea from someone else, you might just include a comment or footnote to the effect of “this idea comes from Betty Smith” in whatever you hand in. The bottom line is that everything you take credit for must include some identifiable contribution by you, and you should never claim credit for work or ideas that aren’t yours. I’ll be glad to advise you on what I consider appropriate forms and acknowledgements of collaboration in specific cases if you wish.

Please note that tests are tests of what you know, and working together on them is explicitly forbidden. This means that if you take advantage of the collaboration policy to avoid doing your share of the work on the exercises, you will probably discover too late that you haven’t learned enough to do very well on the tests.

I will penalize violations of this policy. The severity of the penalty will depend on the severity of the violation.

Accomodations

SUNY Geneseo will make reasonable accommodations for persons with documented physical, emotional, or cognitive disabilities. Accommodations will be made for medical conditions related to pregnancy or parenting. Students should contact Dean Buggie-Hunt in the Office of Disability Services (tbuggieh@geneseo.edu or 585-245-5112) and their faculty to discuss needed accommodations as early as possible in the semester.