For the most part this page will be used to convey links to SageMath notebooks.

Lecture 2 Notebook 1
This notebook illustrates the dot product as a projection operator in 2D. In other words, measuring the distance from the origin to a point in the direction of a vector u.
SageMath Cloud, Zipped IPYNB Notebook File
Lecture 3 Notebook 1
This notebook shows the interpretation of rotation in 2D as a change in basis vectors. In other words, NO trigonometry.
SageMath Cloud, Zipped IPYNB Notebook File
Lecture 3 Notebook 2
This notebook is a general playpen for experimenting with 2D rotations, translations and scaling.
SageMath Cloud, Zipped IPYNB Notebook File
Lecture 5 Notebook 1
This notebook gives a complete development of how to create a standard 3x3 rotation matrix given an axis-angle rotation specfication. It includes a 3D visualization.
Zipped IPYNB Notebook File
Lecture 6 Notebook 1
This notebook gives a complete development of the 3D viewing volume when a camera is placed into world coordinates.
Zipped IBYNB Notebook File
Zipped Sage Workbook File
Lecture 7 Notebook 1
This notebook builds upon the previous and shows how rays for ray tracing are generated from a camera specification.
Zipped IBYNB Notebook File
Zipped Sage Workbook File
Lecture 8 Notebook 1
This notebook illustrates how to compute the intersection between parametric obects, in this case 2D lines segments. Understanding the process illustrated here is a precursor to understanding how to find the intersections between 3D objects and 3D rays.
Zipped IBYNB Notebook File
Lecture 9 Notebook 1
This notebook presents a clean way to compute the interesection between a ray and a triangle. It works out the mathematics in symbolic format including the application of Cramers Rule to solve directly for the three key parameters.
Zipped IBYNB Notebook File
Lecture 9 Notebook 2
This notebook illustrates for worked examples how the ray triangle intersection algorithm works.
Zipped IBYNB Notebook File
Lecture 10 Notebook 1
This notebook presents the general, brute force, solution to ray sphere intersection.
Zipped IBYNB Notebook File
Lecture 10 Notebook 2
This notebook illustrates with a 3D illustration the brute force solution to ray sphere intersection.
Zipped IBYNB Notebook File
Lecture 10 Notebook 3
This notebook presents and illustrates with a 3D illustration a clever and fast algorithm for computing the intersection between a ray and a sphere.
Zipped IBYNB Notebook File
Zipped Sage Workbook File
Lecture 13 Notebook 1
This notebook presents a complete illumination example using ray casting and a single sphere.
Zipped IBYNB Notebook File
Lecture 17 Notebook 1
This notebook presents a complete example of the perspective projection pipleline, i.e. the standard sequence of gemetric transformation used to take vertices of polygons from 3D world coordinates into the cannonical view volume.
Zipped IBYNB Notebook File
Zipped Sage Workbook File
Lecture 18 Notebook 1
This notebook presents a complete example of recursive ray tracing with three spheres and two light sources.
Zipped IBYNB Notebook File
Zipped Sage Workbook File
Lecture 19 Notebook 1
This notebook is similar to the one released with lecture 18. It does however contain at least one minor bug fix and also some code cleanup.
Zipped IBYNB Notebook File
Zipped Sage Workbook File
Lecture 20 Notebook 1
This notebook illustrates a bug that was present in some of the early notebook immplementations of specular reflection. In particular, it shows the important of testing for a reflection ray approaching anti-parallel with the direction to the camera.
Zipped IBYNB Notebook File
Lecture 20 Notebook 2
This illumination and recursive notebook illustrates how to control the reflectivity of a material.
Zipped IBYNB Notebook File
Zipped Sage Workbook File
Lecture 22 Notebooks 1 and 2 and high-res image
This notebook includes all that has come before in terms of rendering and adds refraction through spheres. There are two version which differ terms of the scene generated. Please note these replace similar notebooks previously released with lecture 21.
Zipped IBYNB Notebook File 1
Zipped IBYNB Notebook File 2
A 4096 rendering from the second notebook.
Lecture 23 Notebook 1
This notebook includes a full workup of bezier curves in 3D.
Zipped IBYNB Notebook File 1
Lecture 24 Notebook 1
This notebook fully develops and illustrates a 3D Bezier Surface Patch. The notebook includes three examples.
Zipped IBYNB Notebook File
Zipped Sage Workbook File
Quiz 3 Notebooks
These two notebooks are necessary for successfully taking Quiz 3.
Zipped IBYNB Notebook 1 File
Zipped IBYNB Notebook 2 File
Quiz 3 Notebooks
These three notebooks may be helpful when preparing for and taking Quiz 4.
Zipped IBYNB Notebook 1 File
Zipped IBYNB Notebook 2 File
Zipped IBYNB Notebook 3 File