Digest of Jim Blinn's Corner, Morgan Kaufmann Publishers, Inc. Volume I, A trip down the graphics pipeline, 1996. Volume II, Dirty pixels, 1998. Here is a review of the first volume for Math 198. The second volume just arrived and there is a cursory review at the end. Fromt Blinn's preface to the second volume: "The first volume...dealt mostly with geometry and the graphics pipeline. [The second volume] deals mostly with image processing and pixel arithmetic. Chapters in Volume I: 1. How Many Ways Can You Draw a Circle? For people who can program and who can draw points and lines on some system this is a splendid introduction to the way mathematics is used in computer graphics. The "exercises" range from easy to medium hard. 2. What, Teapots Again? Martin Newell's Teapot is the trademark of computer graphics. The GLUT library for OpenGL (which we use in Math 198) has a pre-computed object called the teapotahedron, right along with the dodecahedron and the icosahedron. Here are the coordinates if you want a teapotahedron of your very own in whatever graphics system you want. 3. Nested Transformations and Blobby Man This is a classic exercise in how matrix algebra makes articulation trees easy to program. The matrix operations used here are part of IrisGL and OpenGL. The programming framework is also embedded in the VRML standards. But it is best explored after you have become familiar with the graphics pipeline. For example, once you have mastered illiSkel, you can build a blobby man puppet and animate it interactively. This is a semester's project for a journeyman C/Unix/GL programmer. 4. Platonic Solids Blinn intends this to be a "hip pocket" program for the five platonic solids, something you can tuck away in your memory. OpenGL+GLUT has all these solids as primitives, so this is something you should study once as part of your general education. But what is a warm-up exercise for an advanced programmer could be a very profitable project for an apprentice. 5. How to Write a Paper for SIGGRAPH Chapters 5,7,12 and 20 are more about programmers than about programming. It makes for amusing reading, and if you take Blinns advice to heart now, you may improve your technical writing style in other areas too. 6. Me and My (Fake) Shadow This chapter belongs with Ch 3, 6, 8, 18, 13 and 16, 14, 15, in that order. It builds on even a superficial understanding of who the whole pipeline works. Chapter 14 has a summary outline of the pipeline, and that might be read first. You would modify an illiSkel to incorporate such shadows. While this is easier than Blobby Man, it helps to know about perspective. This too could be a very nice semester project. 7. Things I Hope Not to See or Hear at SIGGRAPH Even funnier than Ch.5. Read it to get to know the computer graphics community better. 8. Where Am I? What Am I Looking At? This is pretty advanced unless you've had a course in linear algebra. On the other hand, this could be a good motivator to learn this otherwise dry subject. This chapter is also a very compact summary of what you know after you have worked with the pipeline for a while. 9. The Three-Dimensional Kaleidoscope This is an interesting entry portal to the whole subject of symmetry. It goes with the Platonic Solids chapter, but can be done independently. This could be a very good project, especially for the CAVE. It also encourages greater artistic experimentation and free-form design for a smaller investment of effort than the other projects suggested so far. 10. Fractional Invisibility This is definitely an advanced subject. Both IrisGL and OpenGL provide a z-buffer which makes the techniques described here necessary only for special parts of computational solid geometry (CSG). Probably not a rewarding project for Math 198. 11. Optimal Tubes This is also an advanced subject. If you ever get a job designing chemical structures or space stations you may need to digest this material, although programming tools are generally available which incorporate this wisdom. 12. The Ultimate Design Tool This is a more serious piece of advice than it might first seem. Unless a computer graphics programmer can visualize and sketch with pencil and paper there is little chance for fluency and efficiency in their work. Read this! 13. Line Clipping This is a chapter from a regular course on computer graphics. Math 198 is an irregular course. You might, however, read this chapter just to know what you're missing. Seriously, this is good example of what people do in the field of computational geometry, which is one of the abstract or technical fields behind the applied field of computer graphics. 14. Pixel Coordinates 15. Subpixelic Particles These two chapters are definitely advanced. They do not lend themselves easily to a Math 198 project. A cursory reading will give you an idea of what happens at the very end of the pipeline, the part most computer graphics courses skip. You should read the first part of Ch. 14, however. 16. Grandpa, What Does "Viewport" Mean? The matter treated in this chapter is at the heart of all modern windowing systems. Despite all the things "windows" can do, be they Xerox, Apple, Microsoft, or Sun, they can't help you do anything original, like non-rectangular windowing. And we have a important project underway that needs to do just that. If you are interested in joining project illiNarnia, you will have to skim this chapter. 17. Hyperbolic Interpolation This chapter is really about homogeneous coordinates. And those are at the heart of the geometry pipeline, as you will learn to appreciate on the way to understanding math behind the illiSkeleton. (Of course, you can use illiSkel even without understanding all the math.) This is definitely advanced, because it requires an understanding of matters discussed in the next chapter. 18. The Homogeneous Perspective Transform Advanced stuff, but it can be appreciated with the help of the illiView real-time interactive computer animations (RTICA). So this is outide reading for the course, at least for those of you who will take on the illiSkel. For less advanced people, the experiments we conduct with illiSkel may serve as keys to open some door for reading this chapter. 19. Backface Culling Snags More on drawing solids quickly. Rather more computerish than mathematical. But there is a footnote to Ch. 4, telling you how to turn a cube into a dodecahedron. That could be nice exercise. 20. Farewell To FORTRAN This chapter is only a part of what Jim Blinn has to say about the "language wars." There is no best language to program in. It is a matter of style, and politics. It is also a serious assessment of the current C++ vogue. Enjoy! Volume II. 1. The World's Largest Easter Egg and What Came Out of it. 2. What We Need Around Here Is More Aliasing. Antialiasing (because it's something you can see) is an excellent way to wade into the subject of image processing. Something to hold onto when you're learning Fourier analysis, convolutions, low pass filters and so on. 3. Return Of The Jaggy. Continuation of Chapter 2. 4. How Many Different Cubic Curves Are There. A practical application of classical algebraic geometry. More for math majors. 5. Dirty Pixels. Why floating point arithmetic is dangerous in graphics. But Blinn also tells you about "gamma correction". 6. Cubic Curves Update. 7. Triage Tables. Something simple about culling and hidden-line algorithms. 8. The Wonderful World of Video. 9. Uppers and Downers. 10. Uppers and Downers, Part II. 11. The World of Digital Video. 12. How I Spent My Summer Vacatation, 1976. 13. NTSC: Nice Technology, Super Color. 14. What's the Deal with TCT? 15. Quantization Error and Dithering. 16. Compsoiting - Theory. 17. "Compositing" - Practice. 18. How to Attend a SIGGRAPH Conference. 19. Three Wrongs Make a Right. 20. Fun with Premultiplied Alpha. A. Transformation Notation.