Computer Graphics

What is CG?

Demos

Before we dig into the material of the course, let's look at some demos.

About CS307

What is this course like?

First, this is a programming course. All the assignments will be Python code (not C code). The advantage of Python code is that it's less brittle and the error messages are more intelligible. However, it is slower.

The course is fairly mathematical. We'll be learning about the math that underlies all those pretty pictures.

Here are some examples:

Basics

Sketch the barn. Discuss

The purpose of sketching the barn is to raise the following concepts. These are the fundamental concepts of computer graphics:

Some Concepts and Terminology

Graphics Computer:

Our software is going to construct a 3D model of our object or scene, typically as a collection of vertices, faces, surfaces, control points and the like. These will be sent to the graphics card, which will render the scene as a raster image of pixels. These are written into the frame buffer, where they stay in order to drive the display.

Terminology:

The main idea is that raster graphics has won over vector graphics, and now all graphics is done as a rectangular grid of pixels, each a single spot of pure color.

Course Overview

Look at syllabus and schedule

Building on the Work of Others

There are some nice objects in our graphics library. I hope each of you will make a contribution. (If you'd like to port one of the older objects built in C, just let me know. There's a wonderful piano, a Wellesley lamp ...)

Administrative Stuff

  1. This work is licensed under a Creative Commons License
  2. Creative Commons License
  3. Viewable With Any
Browser
  4. Valid HTML 4.01!
  5. Valid CSS!