Computer Science 112
The Art & Science of Computer Graphics

Spring 2016, The College of Saint Rose

Studio/Lab 8: Stained Glass Windows
Due: 11:59 PM, Tuesday, April 5, 2016

For this week's Studio/Lab exercise, you will be working with Bézier curves to construct a model of 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 Bézier 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. Like we did with the marbles, your windows will be built as shared models.

As with the marbles, you will render your model by running the WindowSetting.py program, which will in turn bring in your shared model of your window:

python3 WindowSetting.py

This is the window created by that file when run with my shared model of a window:

Please note: my example window does not satisfy the requirements for 5 panes (it has only 3) or 3 panes with at least one curved side (it has only 2). So a simple modification of my page will not be sufficient to earn full credit.

Submission

  1. Email a copy of the source code for your Ambrosia model (the Python file(s), which should always be saved with a .py extension) and your best image (which should always be saved in PNG format and using a .png extension) as attachments to terescoj AT strose.edu. Please include a meaningful subject line (something like "CSC 112 Studio/Lab 8 Submission"). Make sure your name is included in a comment in your model code, and that you have comments throughout the source code to make it easier to understand.
  2. Rename your best image to include your name, then upload it to the wiki. For example, if you generate an image of a window with smiley faces and your name is Guy Smiley, you might call your image "GuySmileyHappyWindow.png".
  3. Add a section to your wiki page named "Stained Glass Windows" that includes a link to your image and a description of your model that generated the image.

Grading

This assignment is worth 30 points, which are distributed as follows:

> FeatureValueScore
At least three glass materials 3
Glass materials use 4th RGB component 2
At least 5 window panes 3
At least 3 window panes with round sides 5
Composition of panes into a window 5
Shared model works with WindowSetting.py 2
Code organization and style 2
Model documentation and formatting 2
Image(s) on wiki page 2
Model description on wiki page 4
"Lead" between panes of glass Up to 3 Bonus
Total 30