Computer Science 110
The Art & Science of Computer Graphics

Mount Holyoke College
Spring 2010

Studio/Lab 7: Stained Glass Windows
Due: 11:59 PM, Wednesday, April 7, 2010

This week, you will gain experience using Bezier curves by constructing a stained glass window.

A Stained Glass Window

We saw in class that the message (bezier) sent to a Prism object will instruct it to treat its profile as a set of control points for one or more Bezier curves, rather than as a straight-sided polygon. We will use this construct to build panes of glass, some with curved sides, that fit together to form a stained glass window.

I would like to collect all of our windows into a larger model, so please follow the guidelines below very carefully to facilitate this.

Typical Model Layout

Your model will likely be organized as follows. First, define your materials.

(object redGlass Material
    (color red)
    (transparency 0.9)

Define panes of glass:

(define pane3Profile (<point-list>))
(object pane3 Prism
    (profile pane3Profile)
    (bezier) ; interpret profile as collection of bezier curves
    (scale 1 1 0.05) ; ensure 5 units thick (normally, it's 100)
    (material redGlass) ; assign a material

The panes will be added to a group that represents your entire window. At this point, also set a description for a title for your window.

(object terescoWindow Group
     (description "Finestra Noiosa di Jim")
     (add pane1)
     (add pane2)
     (add pane3)

Example Model

The example model shown in class is available to you for use as a starter, or at least as a guide as you develop your window. In the class shared area, you will find a folder labs and the folder bezier within that contains my model.

What To Submit

Submit your nicely-formatted and appropriately commented model files and the images they generate in a folder named with your last name and "Lab7". For example, I would submit a folder "TerescoLab7". When you have your model file and your generated images ready in that folder, you can drag it to the submit folder.

Also, upload your images to the wiki, and add a new section ("Stained Glass Windows") to your wiki page that includes the image and a brief description of your model.


Your submitted model and image will be graded out of 20 points. Your grade will be based on how well the model meets the requirements, documentation, and presentation on your Wiki page. Documentation (comments) in your submitted Mead model should include your name and a brief description of the model at the top, and descriptions of sections of the model that might not be clear to someone trying to understand it.

Grading Breakdown

Glass materials 2 points
Window panes, including at least two with round sides 6 points
Composition of panes into a window 2 points
Appropriate test setting 2 points
Code organization and style 3 points
Model documentation 3 points
Image and model description on wiki page 2 points