Computer Graphics
What is CG?
- it's not drawing/painting with the computer
- it's modeling and rendering
Demos
Before we dig into the material of the course, let's look at some
demos.
- Caroline Geiersbach's Loaded Demo (via X11 export LIBGL_ALWAYS_INDIRECT=y)
- Past student work, saved as screen
shots and animations.
- Projects
- Ariana Rizzitano's Hallway
- Ali McKenna's Castle Scene
- Monet Spells's Office
- Rebecca Graber's Scene from Phantom of the Opera
- Object Contributions
- Ariana Rizzitano's clock
- Jackie Shaw's guitar
- Ali McKenna's camera
- Megan Strait and Micquie Bradford's fan
- Justine Aylmer's collection
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.
- algebra
- geometry
- trigonometry
- calculus
- some linear algebra
- remember your high-school math, too!
Here are some examples:
- What is the length of the diagonal of a barn that is 3 meters high,
30 meters long, and 20 meters wide?
- What is the intersection of the following two lines?
y = 3x + 2
y = 4x - 1
- What is the equation of the line going through (3,5) and (5,9)?
- What is the tangent of 45 degrees? What is the cosine of zero
degrees?
Basics
Sketch the barn. Discuss
- vertices
- camera position
- camera direction
- image plane
- projection
- reflection
- color
The purpose of sketching the barn is to raise the following concepts.
These are the fundamental concepts of computer graphics:
- Object Modeling
- Camera placement and shape
- Material
- Lighting
- Texture mapping
- Modeling curves and surfaces
- Animation
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:
- A Pixel is a single
spot of color in a image defined by a rectangular grid of pixels.
- Raster and
rasterization (AKA scan conversion) is the rectangular grid of
pixels. The frame buffer holds the raster image.
- Color Depth or Bit
Depth has to do with the number of different colors that can
appear at any pixel.
- RGB: Red Green Blue
color primaries are how the color is defined for each pixel.
- Display
resolution. The greater the number of pixels, the more fine
detail can be displayed, as well as reducing the inevitable jagginess
of lines and curves that don't match the raster.
- vector
displays are images that are drawn in a continuous way, by a pen,
electron beam, or other device.
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
- Homework assignments. Usually a week or two, due Friday.
Hand-written problems may be handed in at my office.
- pairs programming!
- big, late, midterm
- big project, with two deadlines, end of classes and end of exams
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
- roll call
- exam
- assignments
- lateness coupons. Each person will get 7 lateness coupons, useable on
any homework, but not the project.
- office hours: 2:30-3:30 Tuesday through Friday. Also Thursday night
before assignments. See my
calendar. Please stop by!
- books
-
This work is licensed under a Creative Commons
License
-