This project answers basic computer graphics questions related to matrix and vector multiplication, vector normalization, barycentric interpolation, bilinear interpolation, converting between different types of curve representations, finding a point on a curve given its basis functions and control points, calculating curve tangents, connecting two different curves with C(1) or G(1) continuity, splitting a curve with Decastlejau, interpolating many line segments, applying Arc-Length parameterization, applying transformations (rotations, translates, and scaling) in 2D and 3D, converting between different types of rotation representations, mapping textures, and shading.
The content in the CS559-Three, css, and libs folders were provided by the instructors of the class CS559 at UW-Madison. The rest was developed by Peyton and Riley Howardsmith in 2025.
Note from Instructors:
Students should run a local web server and start with the index.html page.
The html files may not work as "files" without a local server.
Information about the class is available on the course web: https://pages.graphics.cs.wisc.edu/559-sp25-regular/ https://pages.graphics.cs.wisc.edu/559-sp25-honors/
The for_students sub-directory contains files for the students to read and
modify.
The libs sub-directory contains libraries used by the workbook. These
have separate open source licenses provided in the directories.
The workbook content was primarily developed by Prof. Michael Gleicher with assistance from the course staff, including Young Wu, over the years.
Students are granted the right to use the workbook content for their work in class.
The workbook content is Copyright © 2025, Michael Gleicher.
This workbook is provided under a Creative Commons Attribution-NonCommercial 4.0 International license. See https://creativecommons.org/licenses/by-nc/4.0/ for the explanation and https://creativecommons.org/licenses/by-nc/4.0/legalcode for the license itself.