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

2007 November 4

- Acronyms
- Adaptive Distance Fields
- Introduction to ADFs at MERL
- Algorithms (General)
- comp.graphics.algorithms FAQ
- Pólya's Craft of Discovery
- The Stony Brook Algorithm Repository
- Matt Ward's WPI Class Notes
- Animation
- Animation Tricks, Jim Blinn
- Angles
- Finding the Angle Between Two Vectors
- Fowler Angles (comparing angles without using trig functions)
- Arc Length
- Cubic Bezier Arc Length
- Area
- Calculating Polygon Area
- Arithmetic
- IEEE Standard 754 Floating Point
- Portable Encoding of Floating-Point Values
- Artificial Plants
- See L-systems
- Association for Computing Machinery (ACM)
- Autonomous Characters
- See Behavioral Animation

- B-Spline
- Spline Surface (in 3D)
- See also Bezier Curves
- Barycentric Coordinates
- Usenet Excerpts
- Behavioral Animation
- Craig Reynold's Boids: Background and Update
- Craig Reynold's page on Behavioral Animation
- Criag Reynold's Steering Behaviors for Autonomous Characters
- Bezier Curves
- Bezier Curves
- Converting Cubic Bezier Curves to Quadratic Splines
- Cubic Bezier Arc Length
- Bibliographies
- CG Notes Bibliography
- Ray Tracing Bibliography
- Blobbies
- See Metaballs
- Boids
- See Behavioral Animation
- BSP Tree FAQ

- 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
- sRGB: A Standard Default Color Space for the Internet
- Charles Poynton's GammaFAQ and ColorFAQ
- See also gamma correction
- Computational Geometry
- Computational Geometry Algorithms Library
- Directory of Computational Geometry Software
- Searchable Computational Geometry Database
- Compilations
- Ray Tracing News
- Convex Hull
- Qhull - Convex Hulls and Related Structures
- Coordinates
- Barycentric Coordinates (Usenet excerpts)
- Right-handed vs. left-handed
- Transforming One Vector Onto Another (Usenet excerpts)
- Crumpling
- Geometric Crumpling
- Curves
- See also Bezier Curves, CAGD, Splines

- Delaunay Triangulation
- Depth-Of-Field
- A Multifocus Method for Controlling Depth of Field
- Direction Cosines
- Distance
- between a Point and a Plane
- between a Point and a Line
- Dithering
- Usenet comments on dithering
- Dynamics
- Rigid Body Dynamics, Chris Hecker

- Euler Numbers
- Euler Numbers and Closed Surfaces

- 4D Graphics
- See N-Dimensional Graphics
- Fixed-Point Arithmetic
- John Hamer's Notes
- File Formats
- FLI
- GIF and LZW Explained
- Movie.byu
- OFF (3D Object File Format)
- PNG Image File Format
- Sun Rasterfile
- Graphics Formats at NCSA
- GFF Home Page
- Floating-Point Arithmetic
- IEEE Standard 754 Floating Point
- Portable Encoding of Floating-Point Values
- "Let's Get to the (Floating) Point", Chris Hecker
- Flocking
- See Behavioral Animation
- Flood-Filling
- Fowler Angles
- Frequency
- Frequency-RGB Conversion

- Gamma Correction
- A Note on Gamma Correction and Images, Graeme W. Gill
- Collection of papers on gamma
- Charles Poynton's GammaFAQ and ColorFAQ
- Global Illumination
- Global Illumination Compendium
- RADBIB — A comprehensive bibliography of radiosity and related global illumination papers, theses, articles, and books.
- Graphics Gems, Online Source Archive
- Grids
- Detecting and Converting Topological Grids from Indexed Trilists to Tristrips (C Source)
- Mesh & Grid Generation

- Herding
- See Behavioral Animation
- Hologram
- Creating CG Holograms

- Illumination Equation
- Thoughts on Using Color Factors for All Illumination Components
- Imaging
- A Multifocus Method for Controlling Depth of Field
- Automatic Panoramic Image Merging
- Image Processing By Interpolation and Extrapolation
- Matrix Operations for Image Processing
- Synthetic Lighting for Photography, Paul Haeberli
- Implicit Surfaces
- See Metaballs
- Intersection
- Dave Eberly's Intersection Sample Code
- Line-Line Intersection (2D)
- Line-Line Intersection (3D)
- Line-Plane Intersection
- Line-Sphere (or Circle) Intersection
- Ray-Torus Intersection
- Fast, Minimum Storage Ray-Triangle Intersection

- L-systems (Lindenmayer Systems)
- Dynamical Systems and Fractals
- L-systems Tutorial
- Lgrammar
- Two-Dimensional L-systems
- Three-Dimensional L-systems
- Left-Handed Coordinates
- Right-handed vs. left-handed
- Lighting
- Synthetic Lighting for Photography, Paul Haeberli
- Lighting Design Glossary
- Lighting Resources
- Linear Programming FAQ

- Mandelbrot
- The Mandelbrot Set
- Marching Cubes
- The Patent on Marching Cubes
- Mathematics
- Eric Weisstein's World of Mathematics
- Guide to Available Mathematical Software
- The Math Forum
- Pólya's Craft of Discovery
- Matrices and Matrix Math
- Inverse of Affine Orthogonal Matrices
- Column vs. Row Vectors
- Matrix Inversion Code (C Source)
- Matrix Operations for Image Processing
- Transforming One Vector Onto Another (Usenet excerpts)
- See also Transforms
- Meshes & Meshing
- Converting Triangle Lists to Triangle Strips (C Source)
- Detecting and Converting Topological Grids from Indexed Trilists to Tristrips (C Source)
- Mesh & Grid Generation
- Metaballs (also called blobbies or implicit surfaces)
- Intro to Metaballs
- Paul Bourke's Notes
- Morphogenesis
- Visual Models of Morphogenesis: A Guided Tour

- N-Dimensional Graphics
- Four-Space Visualization of 4D Objects
- Noise
- Perlin Noise
- Perlin's Original C Source
- Computing Noise (Usenet Excerpts)
- Perlin Noise Archive
- Non-Photorealistic Rendering
- Assessing the Effect of Non-photorealistic Rendered Images in CAD
- Brown University / Real-Time Non-photorealistic Rendering
- Interactive Rendering and Non-photorealistic Rendering
- Stylized Depiction in Computer Graphics
- Normals
- Calculating Surface Normals for a Triangulated Mesh
- Inside/Outside Surface Determination
- NURBS
- University of Manchester NURBS Library

- Omnimax
- Rendering for an Omnimax Screen (Usenet excerpts)
- OpenGL
- OpenGL.org
- Organizations
- The ACM (Association for Computing Machinery)
- The IEEE (The Institute of Electrical and Electronics Engineers, Inc.)
- SIAM (The Society for Industrial and Applied Mathematics)
- SIGGRAPH (Special Interest Group for Computer Graphics)

- Panorama
- Automatic Panoramic Image Merging
- Perlin Noise
- See Noise
- Phong Shading
- Quick Phong Calculation
- Platonic Solids
- Equations For
- Properties and Notes
- Planes
- Plane Equations
- Plants
- See L-systems
- Pluecker Coordinates
- Tutorial
- Point in
- Point In Tetrahedron Test
- Point In Polygon
- Polygons
- Calculating Polygon Area
- Flood-Filling
- gpc - a free library for polygon set operations
- Triangulation: See Polygon Triangulation
- Polygon Triangulation
- Fast Polygon Triangulation base on Seidel's Algorithm
- Fast Industrial-Strength Triangulation
- A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator
- 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
- Publications
- Computer Graphics and Applications
- Journal of Graphics Tools
- Ray Tracing News
- Transactions on Graphics

- Quaternions
- Rotating One Vector About Another (Usenet excerpts)

- Radiosity
- RADIANCE Synthetic Imaging System
- RADBIB — A comprehensive bibliography of radiosity and related global illumination papers, theses, articles, and books.
- See also Global Illumination
- Ray Intersection
- See Intersection
- Ray Tracing
- Realtime Raytracing
- Intensity of Reflected/Refracted Light (Usenet excerpt)
- Ray-Torus Intersection
- Reaction-Diffusion
- Refraction
- Calculating Refraction Vectors
- Intensity of Reflected/Refracted Light (Usenet excerpt)
- Reflection
- Intensity of Reflected/Refracted Light (Usenet excerpt)
- Rendering
- Rendering for an Omnimax Screen (Usenet excerpts)
- Thoughts on Using Color Factors for All Illumination Components
- Resources Online
- Computational Geometry Database (Netlib)
- Computational Geometry in C, errata and sources
- Directory of Computational Geometry Software
- Graphics Gems
- Guide to Available Mathematical Software
- Mesh & Grid Generation
- See also Bibliographies, Computer Graphics Compilations
- Right-Handed Coordinates
- Right-handed vs. left-handed
- Rigid Body Dynamics
- See dynamics
- Roots
- Finding the Roots of a Cubic Polynomial (C Source)
- Finding the Roots of a Quadratic Polynomial
- Computing the Cube Root
- See also Square Roots
- Rotation
- Rotating One Vector About Another (Usenet excerpts)
- Rotation about an Arbitrary Axis
- See also Quaternions

- SIGGRAPH
- Main SIGGRAPH Home Page
- Satirical SIGGRAPH Conference Announcement
- Solid Modeling
- Euler Numbers and Closed Surfaces
- Spatial Subdivision
- BSP Tree FAQ
- Specular Reflection
- Intensity of Reflected/Refracted Light (Usenet excerpt)
- Quick Phong Calculation
- Spheres
- 3D Sphere Scan Conversion
- Finding a Sphere from Four Points
- Tessellation (C Source)
- See also Uniform Distribution of Points on a Sphere
- 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
- Steering
- See Behavioral Animation
- Strips
- See Triangle Strips
- Stylized Rendering
- See Non-Photorealistic Rendering
- Surfaces
- Inside/Outside Surface Determination
- See also Bezier Surfaces, CAGD, Splines
- Surfels
- Introduction to surfels at MERL

- Teapot
- Source for The Famous Newell Teapot (shell archive)
- The History of the Teapot,
*Steve Baker* - Tetrahedron
- Point In Tetrahedron Test
- Texture Maps
- Making Tiled Textures
- Texture Mapping as a Fundamental Drawing Primitive
- 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)
- See also Angles

- Uniform Distribution of Points on a Sphere
- Anton Sherwood's collection of links
- Distributing Points on a Sphere, Paul Bourke
- FAQ from The Mathematical Atlas
- Ken Perlin's Java applet
- Usenet Thread, circa 1993

- Vectors
- Rotating One Vector About Another (Usenet excerpts)
- Transforming One Vector Onto Another (Usenet excerpts)
- Voronoi
- See Delaunay Triangulation
- Volume Rendering
- Jan Hardenbergh's Page on Volume Rendering

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