# Demos

Interactive web demos illustrating various course concepts.

- Image processing
- Introduction to Sampling: Pixels are samples at specific points of continuous mathematical functions. To demonstrate this, the Introduction to Sampling demo uses an image on screen to represent a continuous function. In additon to introducing the concept of sampling, this demo also demonstrates and helps develop intuition about scanlines, which we use throughout the later demos.
- Nyquist Limit: This demo introduces the nyquist limit and the role it plays in signal sampling and reconstruction. The student discovers the basics of aliasing and is able to adjust a signal's frequency and the frequency at which it is sampled to build an intuitive understanding of all these concepts.
- Convolution: This demo allows students to understand the process of convolution by visually manipulating two functions through the process. It is useful in understanding both how convolution works and also what the effects are on specific signals being convolved together.
- Discrete Fourier Transforms: This page demonstrates the discrete Fourier transform, which rewrites a discrete signal as a weighted sum of sines and cosines of various frequencies
- Image scaling: This demo shows you how different filter shapes affect the result of image scaling.
- Crawlies: This demo shows the nasty problem of crawlies.

- Transformations
- Transformation Game (Java applet): This applet introduces the user to the usage and mathematics of two-dimensional transformations using a fun, interactive play space.

- Viewing
- Camera Transformations: This WebGL Demo takes you through all of the important concepts about the basic camera model. This demo is best viewed using Google Chrome.

- Geometry
- Smooth vs. flat shading: This demo shows the differences between smooth and flat shading.
- Bezier splines: This applet introduces the user to the usage and mathematics of spline curves.

- Color
- Additive Color Mixing: This demo allows the user to paint on a canvas that mixes colors additively. Various parameters can be manipulated and some preset images can be loaded and also painted on.
- Subtractive Color Mixing: This demo allows the user to paint on a canvas that mixes colors subtractively. Various parameters can be manipulated and some preset images can be loaded and also painted on.
- Combined Color Mixing: This demo helps the user combine concepts in additive and subtractive color mixing through a scenario that includes lights, paints and filters. Users can directly observe how various colored lights, paints, and filters contribute additively as well as subtractively to produce a single color to be viewed by the demo's virtual eye.
- Metamers: This applet lets users experiment with metamers: different spectral distributions that are perceived as identical colors.