For the most part this page is used to distribute SageMath notebooks used to
illustrate key concepts. Students must during the course of the
semester download and actually run these notebooks. It is not enough
to passivly review them, it is essential to get into the examples,
make changes, and learn from interaction.
There are links to the 'dead' HTML output of notebooks below. This is
useful for a quick read through. However, to actually run the
notebook, you must download the IPYNB file and upload it to a SageMath
Jupyter Server. Server software is installed on the CS Department
Machines - here
are instructions - and you may also download SageMath to
your own machine.
- Lecture 3 Notebook 1
-
Notebook cs410lec03n01
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.
Zipped IPYNB
Notebook File
- Lecture 3 Notebook 2
-
Notebook cs410lec03n02
builds upon the previous notebood carrying through to illustrate 2D
rotation as simply projection onto a pair of orthongonal unit length
basis vectors.
Zipped IPYNB
Notebook File
- Lecture 3 Notebook 3
-
Notebook cs410lec03n03
illustrates the composition of 2D rotation, translation and scaling
using 2D homogeneous transforms.
Zipped IPYNB
Notebook File
- Lecture 4 Notebook 1
-
Notebook cs410lec04n01
illustrates the construction of a three by three rotation matrix from
an axis-angle specification.
Zipped IPYNB
Notebook File
- Lecture 5 Notebook 1
-
Notebook cs410lec05n01
illustrates the relative placement of a camera and a 3D model.
Zipped IPYNB
Notebook File
- Lecture 7 Notebook 1
-
Notebook cs410lec07n01
illustrates the enumeration of 3D rays from pixels.
Zipped IPYNB
Notebook File
- Lecture 7 Notebook 2
-
Notebook cs410lec07n02
illustrates with 3D the fast way to compute ray sphere intersections.
Zipped
IPYNB Notebook File
- Lecture 8 Notebook 1
-
Notebook cs410lec08n01
provides complete ray casting example for one sphere, ambient and
diffuse illumination, and multiple light sources.
Zipped IPYNB
Notebook File
- Lecture 9 Notebook 1
-
Notebook cs410lec09n01
illustrates how to find the intersection of two 2D parametric lines.
Zipped
IPYNB Notebook File
- Lecture 9 Notebook 2
-
Notebook cs410lec09n02
presents the linear algebraic symbolic solution to the ray triangle
intersection problem.
Zipped IPYNB
Notebook File
- Lecture 9 Notebook 3
-
Notebook cs410lec09n03
illustrates with 3D visualization examples of ray triangle
intersections.
Zipped IPYNB
Notebook File
- Lecture 12 Notebook 1
-
Notebook cs410lec12n01
provides a recursive ray tracing example with three spheres and two
light sources.
Zipped IPYNB
Notebook File. Also, there is a 2048 by 2048 rendering
from this notebook.
- Lecture 15 Notebook 1
-
Notebook cs410lec15n01
provides a complete illustration of the geometric transformation from
world coordinates to the Canonical View Volume.
Zipped IPYNB
Notebook File PDF
File.
- Lecture 17 Notebook 1
-
Notebook cs410lec17n01
illustrates random sampling as a way to approximately compute the
universal constant PI.
Zipped IPYNB
Notebook File.
- Lecture 17 Notebook 2
-
Notebook cs410lec17n02
illustrates a Monte Carlo ray tracing
Zipped IPYNB
Notebook File. This 256 by 256 image
with 1000 samples per pixel took over 10 hours to render on an 8 core
MacBook Pro.
- Lecture 21 Notebook 1
-
Notebook cs410lec21n01
illustrates reflection combined with refracion
.Zipped IPYNB
Notebook File. This 1024 by 2014 image
generated using this notebook.
- Lecture 21 Notebook 2
-
Notebook cs410lec21n02
illustrates reflection combined with refracion on a more complicated scene.
Zipped IPYNB
Notebook File. This 3200 by 1800 image
generated using this notebook.
- Lecture 22 Notebook 1
-
Notebook cs410lec22n01
illustrates the six degree of freedom transform used in texture
mapping.
.Zipped
IPYNB Notebook File.
- Lecture 23 Notebook 1
-
Notebook cs410lec23n01
illustrates the non-lineariry of the depth term for a standard
perspective projection pipeline.
.Zipped IPYNB
Notebook File.
- Lecture 24 Notebook 1
-
Notebook cs410lec24n01
illustrates Bezier Curves.
Zipped IPYNB
Notebook File.
- Lecture 25 Notebook 1
-
Notebook cs410lec25n01
illustratess a Bezier surface patch.
Zipped IPYNB
Notebook File.
- Lecture 25 Notebook 2
-
Notebook cs410lec25n02
illustrates BSpline curves.
Zipped IPYNB
Notebook File.