CG&A Columns
Originally published in IEEE Computer Graphics & Applications-
Solar Halos and Sun Dogs, Part 1
How to create simulations of the beautiful solar phenomena of halos and sun dogs....
Read more → -
Solar Halos and Sun Dogs, Part 2
How to turn the dot patterns from Part 1 into smooth color images....
Read more → -
Frieze Groups
All about the 7 linear symmetry groups. These are great for making textures....
Read more → -
Polyhedral Origami, Part 1
How to build the Platonic solids from folded paper, with no cutting or gluing....
Read more → -
Polyhedral Origami, Part 2
How to build the Archimedean solids from folded paper, with no cutting or gluing....
Read more → -
Hey Buddy, How Do I Get Into The Electronic Theater?
Joint column with Jim Blinn about getting accepted to the SIGGRAPH "film show."...
Read more → -
Situation Normal
The surfaces <em>really</em> implied by Gouraud and Phong shading are probably not what you modeled!...
Read more → -
Signs of Significance
How to make segmented displays that produce great-looking alphabets....
Read more → -
The Perils of Problematic Parameterization
More is not always better! In this shape, more polygons make it worse....
Read more → -
Inside Moire Patterns
Moire patterns are incredibly cool. Here's how to understand them and make your own....
Read more → -
Upon Reflection
Cool geometry with mirrors, triangles, reflections, and the neat idea of a "light triangle."...
Read more → -
Circular Reasoning
How Ptolemy's Theorem unites Snell's Law and Fermat's Principle of Least Time....
Read more → -
Aperiodic Tiling, Part 1
How to tile your kitchen floor in a way that is guaranteed to never, ever repeat!...
Read more → -
Aperiodic Tiling, Part 2
How to use Penrose tiles and Gummelt decagons to create endless, never-repeating patterns....
Read more → -
The Triangular Manuscripts
Mysterious documents from the long past that seem to anticipate computer graphics....
Read more → -
Fourier Polygons
Amazing but true! The 2D Fourier transform is merely a sum of scaled regular and star polygons....
Read more → -
String Crossing
Some of the interesting patterns and relationship in string art patterns....
Read more → -
An Open And Shut Case
Unusual camera shutters can produce some awesome and unexpected images....
Read more → -
O Say, Can You See?
Different ways of setting up your windshield washers can lead to very different views of the world....
Read more → -
Celtic Knots, Part 1
The basic techniques for making your own beautiful Celtic knotwork....
Read more → -
Celtic Knots, Part 2
More about Celtic knots: Snakes, tiles, and knotwork on non-square grids....
Read more → -
Celtic Knots, Part 3
Several ways to take Celtic knotwork into 3D, including knotwork polyhedra....
Read more → -
Synthetic Thunder and Lightning, Part 1
The physics of lightning, and how to make your own physically-based lightning....
Read more → -
Synthetic Thunder and Lightning, Part 2
Starting with the lightning from the previous column, generate the actual thunder it would produce....
Read more → -
Texturing With Symmetry
How to use hierarchies of symmetry patterns to produce gorgeous textures....
Read more → -
Soap Bubbles, Part 1
The chemistry and physics of soap bubbles, and how to write your own soap-film shader....
Read more → -
Soap Bubbles, Part 2
The geometry of soap bubble clusters, and the physics behind their stunning colors....
Read more → -
Tricks of the Trade
Useful graphics tricks such as smooth 2D interpolation and a nice family of easing curves....
Read more → -
Quantum Computing, Part 1
The basics of the fascinating and surprisingly bizarre discipline of quantum computing....
Read more → -
Quantum Computing, Part 2
More quantum weirdness: superposition, entanglement, and quantum-based logic gates....
Read more → -
Quantum Computing, Part 3
Cool applications of quantum theory: dense coding, teleportation, and quantum encryption. ...
Read more → -
Pop-Up Card Design, Part 1
How to write a program to help us design real pop-up cards to print and share....
Read more → -
Pop-Up Card Design, Part 2
Writing a Pop-Up Card Design Assistant, and lots of the little things that make it practical....
Read more → -
Putting the Pieces Together
How to reconstruct shredded documents. It's not that hard: a few heuristics speed things up a lot....
Read more → -
Duck!
The physics of the water waves behind a moving boat (or duck!), and how to render them....
Read more → -
Digital Weaving, Part 1
The basics of weaving and weaving patterns, and <em>The Weaving Equation</em> that brings them all together....
Read more → -
Digital Weaving, Part 2
Creating tie-ups with <em>Andrew's Weaving Language</em>, and writing a C# parser for the language....
Read more → -
Digital Weaving, Part 3
All about tartans, and how to write a very flexible digital loom....
Read more → -
Venn and Now
Three-circle Venn diagrams are famous. Here are versions for four, five, and more variables....
Read more → -
DMorph
A fully automatic metamorphosis technique for convex polyhedra. The in-between shapes look great....
Read more → -
Everyday Computer Graphics
Ideas for using graphics and new interfaces to make lots of little everyday tasks easier....
Read more → -
Digital Cubism, Part 1
My <em>multicamera collage</em> technique for cubist-like images and animation....
Read more → -
Digital Cubism, Part 2
The math behind the <em>multicamera collage</em> (it's basically smooth 2D point interpolation)....
Read more → -
Crop Circles, Part 1
The history of crop formations, plus statements and proofs of the infamous "Hawkin's Theorems"....
Read more → -
Crop Circles, Part 2
Introducing my <em>Crop</em> language for describing crop formations....
Read more → -
Crop Circles, Part 3
How I designed a new crop formation in <em>Crop</em>, and then a couple of friends and I went out and made it!...
Read more →