UW home page

Last Updated: April 1, 2020


Assignments

There are nine assignments. While the points for each problem are noted on the assignment, 20% of the mark will be awarded for presentation. Thus, your writeups should be clear, concise, and easy to understand. Note that it is NOT the case that each assignment is worth 7.5% of your grade; instead, the sum of the points on all nine assignments is worth 60% of your grade.

The assignments are TENTATIVELY due on the following days; once a due date is finalized, it will say (finalized) after the due date. Unfinalized due dates might be moved earlier or later in the term; finalized due dates will not be moved to earlier in the term.

Assignment 1 Wednesday, January 15 (finalized)
Assignment 2 Wednesday, January 22 (finalized)
Assignment 3 Wednesday, January 29 (finalized)
Assignment 4 Wednesday, February 5 (finalized)
Assignment 5 Wednesday, February 12 (finalized)
Assignment 6 Monday, February 24 (finalized)
Assignment 7 Wednesday, March 4 (finalized)
Assignment 8 Wednesday, March 11 (finalized)
Assignment 9 Friday, March 27 (finalized)
Project Proposal Talk Monday, April 6(finalized) To be submited in Learn.

Note that the instructor may add additional problems to any of these assignments. Such additional problems would be distributed at the lectures.

Late assignments are accepted up until the lecture in which I discuss the assignment (usually the lecture following the due date). However, a penalty of 1 point per day late will be assessed.


Linedraw - fltk1.3

linedraw-fltk.zip

Install fltk1.3 (you may use fltk1.1 if you prefer)
Extract under Linux running 'tar xfz linedraw-fltk.tar.gz' or 'unzip linedraw-fltk.zip'
Extract under Windows using winzip (or...)

See README for compiling instructions.

Note: Linedraw uses int's for the coordinates of points (since it gets int's from fltk). However, algorithms like de Casteljau's algorithm will require using floating point computations.


Linedraw - Python3 version

For python3 (although possibly it works with python2): linedraw.py. Note that you must also install matplotlib.

The above are the figures from Farin, pg 153, with one difference: in Farin's book, he only shows two of the basis functions, while in these images, all of the basis functions are displayed. Your images should look more like the ones here than the ones in Farin's book.

University of Waterloo | Cheriton School of Computer Science | 200 University Ave. W. | Waterloo, Ontario Canada | N2L 3G1 | 519.888.4567 | http://www.cs.uwaterloo.ca/~smann/