SUNY Geneseo Department of Mathematics

Course Project

Math 384
Spring 2015
Prof. Doug Baldwin

Proposals Due Monday, March 30
Initial Presentations Wednesday, April 8 and Friday, April 10
Final Presentations Wednesday, May 13
Written Report Due Wednesday, May 13

Purpose

This project exposes you to an element of ray tracing that we don’t have time to cover in class. It also helps develop your ability to research, apply, and present mathematical ideas on your own.

Background

Computer graphics is a huge field, and just about all of it can be implemented via ray tracing. It is therefore impossible to cover everything interesting about ray tracing in a single course. However, this course has reached the point where you know enough to start exploring the rest of the field on your own, and that is what this project invites you to do.

This project involves finding and reading literature on ray tracing and the mathematical models it uses. In general, these sources can be online ones, textbooks, or research papers in computer graphics or mathematics. Two good texts on ray tracing are

Suffern, Ray Tracing from the Ground Up (A. K. Peters, 2007)

and

Pharr and Humphreys, Physically Based Rendering: From Theory to Implementation, 2nd ed. (Morgan Kaufmann, 2010)

The best collections of computer science research literature are the ACM digital library at http://dl.acm.org/ and the IEEE Computer Society digital library at http://www.computer.org/web/csdl/. Both of these are free to search, but require a subscription or per-item payment to access full-text articles. Fortunately, Milne Library can get full texts for you, so if you find something that looks useful based on its title, abstract, and other freely available information, ask Milne to get it. Delivery may take a couple of days though, so ask well in advance of when you need the article.

Milne also has many research literature databases that it may be helpful to search, particularly for literature outside of computer science (e.g., articles in more traditional mathematics journals or in physics). And, believe it or not, the Milne reference librarians actually like being involved in student research projects, so feel free to contact one of them for help in locating sources for this project. See the research consultation information at http://www.geneseo.edu/library/research-or-technology-consultations for more information on the help available and setting up an appointment.

Activity

Basic assignment: Investigate some aspect of computer graphics that extends what we cover up to the second hour exam in this course, understand its underlying mathematics, and implement it in a ray tracer.

The basic assignment is short and simple, but lots of what it says bears expansion. In particular, I intend this project to expose you to something new about graphics, so you need to either find something we haven’t talked about at all in the course, or find something that builds substantially enough on things we have talked about that you really learn something beyond what you learned from class meetings and homework projects. I give some suggestions below. Also note that the main things we will talk about between the time I’m writing this and the second hour exam will be glossy reflection and the supporting notions of Monte Carlo integration and sampling.

Whatever you work on for your project needs to have some mathematical foundation. Almost, but not quite, everything in computer graphics meets this criterion. However, if you want to waive the math major’s Math 348 requirement based on this project, the mathematics needs to be the main focus of your project (if you don’t want the waiver, then your project can focus on programming more than math).

Here are some examples of project topics that I consider to meet the requirements of extending what we cover in class and having a reasonable mathematical foundation. These certainly aren’t the only possible topics, so if you have other ideas by all means discuss them with me.

When I ask you to “investigate” an aspect of graphics, I intend you to locate and read information sources. In general, these sources may be online tutorials or references, textbooks, research papers in computer science or mathematics, etc. However, if you hope to get a waiver for Math 348 for this project, your sources must include at least one peer-reviewed research paper. The “Background” section of this handout provides more information about locating sources.

You may work either individually or in a group on this project.

Special Notes for Math 348 Waivers. Mathematics majors have to complete a research and presentation requirement, nominally satisfied by taking Math 348, but in practice often satisfied by doing and presenting a research project for another course. I am happy to entertain requests to use this project as a replacement for Math 348, but I have slightly more rigorous requirements for projects used in that way. In particular, such projects must…

Follow-Up

There is more to turn in for this project than for typical homework exercises, and therefore a larger set of deadlines.

The main deliverables from the project are a written paper that describes what you did, and an oral presentation summarizing that paper. Presentations will be given during our final exam period, noon to 3:00 PM on Wednesday, May 13. Papers should be turned in no later than the end of that meeting.

Both the presentation and the paper should include…

Presentations should be professional quality, meaning they should be supported by slides or other appropriate A/V, they should be planned and rehearsed, and they should include time for questions. Equations and other mathematics should be prepared with an equation editor or similar tool. Aim your presentation at an audience knowledgeable about ray tracing in general, but not about the details of your topic (i.e., at people who have taken this course). You will probably have 15 to 20 minutes for your presentation, although the exact time you can have will depend on how many projects there end up being to fit into the exam period.

Papers can describe the project in more detail than the limited-time presentations can. Like the presentations, they should be professional-quality, i.e., they should be word processed (and math should be equation-edited), free of spelling and grammar errors, should have a bibliography of sources used, etc. They should include the code you wrote as an appendix, and may include other appendices if appropriate (e.g., if you have a lengthy proof of some result it may be clearer as an appendix than embedded in the body of your paper). My only requirement for fonts, margins, and similar formatting is that the paper be readable. Similarly, the working requirement for length is that the paper says everything it needs to without unnecessary fluff; for most projects I expect that 5 to 10 pages would suffice for this. Your paper should be written for an audience similar to the audience for the presentation, i.e., one familiar with ray tracing generally but not with the details of your topic.

In addition to the presentation and paper, you need to deliver two things relatively early in the project.

The first is to have your topic approved by me. This is the “proposal” refered to in the due dates. You can do this fairly informally, for example by discussing your topic with me verbally and getting my verbal approval, or by emailing me a description that I approve by reply email. This proposal should also tell me whether you are working alone or in a group, and, if in a group, who is in the group. Groups only need to give me one proposal from the whole group.

The second early deliverable is a preliinary presentation on the project. This presentation has two goals: first, to let others in the class know what projects are being done and to share ideas about literature sources (in many cases, I expect that good sources one project finds may also be good for others), and second to give me some sense of what topics are good ones to focus on in the last month of the semester. We will do these presentations in class on April 8 and possibly 10. They can be short, mainly describing what you want to do, why it represents an interesting or important topic, and identifying the main sources you plan to use. You don’t have to have read these sources in depth by the time of the presentation, but you should know what you plan to read. This presentation needn’t be as formal as the final presentations, but it makes a good warm-up exercise for them.