Steve's Computer Graphics Notes

This page is my old collection of topics related to computer graphics. At this point many of the links may no longer work, and I'd suggest that you just use your favorite search engine to find information. I'm leaving it up here for now for historical purposes.

Steve Hollasch
2020 April 1

A B C D F G H I L M N O P Q R S T U V Z


A

Algorithms (General)
Pólya's Craft of Discovery
Angles
Finding the Angle Between Two Vectors
Fowler Angles (comparing angles without using trig functions)
Arc Length
Cubic Bezier Arc Length
Arithmetic
IEEE Standard 754 Floating Point
Portable Encoding of Floating-Point Values

B

Barycentric Coordinates
Usenet Excerpts
Bezier Curves
Converting Cubic Bezier Curves to Quadratic Splines
Cubic Bezier Arc Length
Bibliographies
CG Notes Bibliography

C

Catmull-Rom Splines
CMYK
The CMYK Color Scheme
Color
The CMYK Color Scheme
Color Blindness, Theory and Simulation
Converting Temperature to Color
Frequency-RGB Conversion
List of Colors and Their RGB Equivalents
Coordinates
Barycentric Coordinates (Usenet excerpts)
Right-handed vs. left-handed
Transforming One Vector Onto Another (Usenet excerpts)

D

Dithering
Usenet comments on dithering

F

File Formats
FLI
GIF and LZW Explained
Movie.byu
OFF (3D Object File Format)
Sun Rasterfile
Floating-Point Arithmetic
IEEE Standard 754 Floating Point
Portable Encoding of Floating-Point Values
Flood-Filling
Fowler Angles
Frequency
Frequency-RGB Conversion

G

Gamma Correction
A Note on Gamma Correction and Images, Graeme W. Gill
Grids
Detecting and Converting Topological Grids from Indexed Trilists to Tristrips (C Source)

H

Hologram
Creating CG Holograms

I

Illumination Equation
Thoughts on Using Color Factors for All Illumination Components
Intersection
Ray-Torus Intersection
Fast, Minimum Storage Ray-Triangle Intersection

L

Left-Handed Coordinates
Right-handed vs. left-handed

M

Mandelbrot
The Mandelbrot Set
Marching Cubes
The Patent on Marching Cubes
Mathematics
Pólya's Craft of Discovery
Matrices and Matrix Math
Inverse of Affine Orthogonal Matrices
Column vs. Row Vectors
Matrix Inversion Code (C Source)
Transforming One Vector Onto Another (Usenet excerpts)
Meshes & Meshing
Converting Triangle Lists to Triangle Strips (C Source)
Detecting and Converting Topological Grids from Indexed Trilists to Tristrips (C Source)
Metaballs (also called blobbies or implicit surfaces)
Intro to Metaballs

N

N-Dimensional Graphics
Four-Space Visualization of 4D Objects
Noise
Computing Noise (Usenet Excerpts)
Normals
Calculating Surface Normals for a Triangulated Mesh
Inside/Outside Surface Determination

O

Omnimax
Rendering for an Omnimax Screen (Usenet excerpts)

P

Phong Shading
Quick Phong Calculation
Platonic Solids
Equations For
Point in
Point In Tetrahedron Test
Polygons
Flood-Filling
Polyhedra
Usenet Discussion on Polyhedra Intersection
Definitions for Platonic Solids
Polynomials
Finding the Roots of a Cubic Polynomial (C Source)
Finding the Roots of a Quadratic Polynomial
Problem Solving
Pólya's Craft of Discovery

Q

Quaternions
Rotating One Vector About Another (Usenet excerpts)

R

Ray Tracing
Ray-Torus Intersection
Ray Tracing News
Refraction
Calculating Refraction Vectors
Rendering
Rendering for an Omnimax Screen (Usenet excerpts)
Thoughts on Using Color Factors for All Illumination Components
Right-Handed Coordinates
Right-handed vs. left-handed
Roots
Finding the Roots of a Cubic Polynomial (C Source)
Finding the Roots of a Quadratic Polynomial
Computing the Cube Root
Rotation
Rotating One Vector About Another (Usenet excerpts)

S

SIGGRAPH
Satirical SIGGRAPH Conference Announcement
Specular Reflection
Quick Phong Calculation
Spheres
3D Sphere Scan Conversion
Finding a Sphere from Four Points
Tessellation (C Source)
Splines
Catmull-Rom Splines
Converting Cubic Bezier Curves to Quadratic Splines
Square Roots
Computing the Integer Square Root
Using Pythagorean Sums to Compute the Square Root
Surfaces
Inside/Outside Surface Determination

T

Teapot
Source for The Famous Newell Teapot (shell archive)
https://www.sjbaker.org/wiki/index.php?title=The_History_of_The_Teapot, Steve Baker
Tetrahedron
Point In Tetrahedron Test
Texture Maps
Making Tiled Textures
Torus
Ray-Torus Intersection
Transforms
Transforming One Vector Onto Another (Usenet excerpts)
Triangle Strips
Converting Triangle Lists to Triangle Strips (C Source)
Detecting and Converting Topological Grids from Indexed Trilists to Tristrips (C Source)
Trigonometry
Incremental Sine/Cosine Generation
A Nice Diagram of Trigonometric Functions (Usenet excerpt)

U

Uniform Distribution of Points on a Sphere
Usenet Thread, circa 1993

V

Vectors
Rotating One Vector About Another (Usenet excerpts)
Transforming One Vector Onto Another (Usenet excerpts)

Z

Z-buffering
Setting Z-Buffer Bounds Automatically
The Stitching Problem (Z-buffered rendering of outlined polygons)