ebook img

Jim Blinn's Corner: Notation, Notation, Notation (Jim Blinn's Corner) PDF

337 Pages·2002·1.443 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Jim Blinn's Corner: Notation, Notation, Notation (Jim Blinn's Corner)

J I M B L I N NÕ S C O R N E R N O T A T I O N , N O T A T I O N , N O T A T I O N TheMorganKaufmannSeriesinComputerGraphicsandGeometricModeling series editor: brian a.barsky,university Andrew Glassner’s Notebook:Recreational Computer of california,berkeley Graphics Andrew S. Glassner Jim Blinn’s Corner: Notation, Notation, Notation Jim Blinn Warping and Morphing of Graphical Objects Jonas Gomes, Lucia Darsa, Bruno Costa, and Luiz Texturing & Modeling:A Procedural Approach, Velho third edition David S. Ebert, F. Kenton Musgrave, Darwyn Peachey, Jim Blinn’s Corner: Dirty Pixels Ken Perlin, and Steven Worley Jim Blinn Geometry Tools for Computer Graphics Rendering with Radiance:The Art and Science of Lighting Philip Schneider and David Eberly Visualization Greg Ward Larson and Rob Shakespeare Understanding Virtual Reality William Sherman and Alan Craig Introduction to Implicit Surfaces Edited by Jules Bloomenthal Level of Detail for 3D Graphics:Application and Theory David Luebke, Martin Reddy, Jonathan D. Cohen, Jim Blinn’s Corner:A Trip Down the Graphics Pipeline Amitabh Varshney, Benjamin Watson, and Robert Jim Blinn Huebner Interactive Curves and Surfaces:A Multimedia Tutorial on Digital Video and HDTV Algorithms and Interfaces CAGD Charles Poynton Alyn Rockwood and Peter Chambers Pyramid Algorithms: A Dynamic Programming Approach to Wavelets for Computer Graphics:Theory and Applications Curves and Surfaces for Geometric Modeling Eric J. Stollnitz, Tony D. DeRose, and David H. Salesin Ron Goldman Principles of Digital Image Synthesis Non-Photorealistic Computer Graphics:Modeling, Andrew S. Glassner Rendering, and Animation Radiosity & Global Illumination Thomas Strothotte and Stefan Schlechtweg François X. Sillion and Claude Puech Curves and Surfaces for CAGD: A Practical Guide, Knotty: A B-Spline Visualization Program fifth edition Jonathan Yen Gerald Farin User Interface Management Systems:Models and Subdivision Methods for Geometric Design:A Constructive Algorithms Approach Dan R. Olsen, Jr. Joe Warren and Henrik Weimer Making Them Move: Mechanics, Control, and Animation of Computer Animation: Algorithms and Techniques Articulated Figures Rick Parent Edited by Norman I. Badler, Brian A. Barsky, and David The Computer Animator’s Technical Handbook Zeltzer Lynn Pocock and Judson Rosebush Geometric and Solid Modeling: An Introduction Advanced RenderMan:Creating CGI for Motion Pictures Christoph M. Hoffmann Anthony A. Apodaca and Larry Gritz An Introduction to Splines for Use in Computer Graphics Curves and Surfaces in Geometric Modeling:Theory and and Geometric Modeling Algorithms Richard H. Bartels, John C. Beatty, and Brian A. Barsky Jean Gallier Jim BlinnÕs Corner Notation, Notation, Notation Jim Blinn Microsoft Research Publishing DirectorDiane Cerra Assistant Publishing Services ManagerEdward Wade Editorial AsistantMona Buehler Cover DesignRoss Carron Design Cover PhotographyChristine Alicino Text DesignStudio Arno Composition and Technical IllustrationTechnology ’N Typography CopyeditorRobert Fiske ProofreaderSharilyn Hovind IndexerTy Koontz PrinterThe Maple-Vail Book Manufacturing Group Designations used by companies to distinguish their products are often claimed as trademarks or registered trademarks. In all instances in which Morgan Kaufmann Publishers is aware of a claim, the product names appear in initial capital or all capital letters. Readers, however, should contact the appropriate companies for more complete information regarding trademarks and registration. Morgan Kaufmann Publishers An imprint of Elsevier Science 340 Pine Street, Sixth Floor San Francisco, CA 94104-3205 www.mkp.com © 2003 by Elsevier Science (USA) All rights reserved Printed in the United States of America 07 06 05 04 03 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means—electronic, mechanical, photocopying, or otherwise—without the prior written permission of the publisher. Library of Congress Control Number: 2002104303 ISBN: 1-55860-787-0 This book is printed on acid-free paper. Contents Contents Preface vii ColorPlates Followingpage CHAPTER ZERO Notation 1 CHAPTER ONE HowtoDrawaSpherePartI,BasicMath 7 JANUARY 1995 CHAPTER TWO HowtoDrawaSpherePartII, CoordinateSystems 23 MARCH 1995 CHAPTER THREE HowtoDrawaSpherePartIII, TheHyperbolicHorizon 41 SEPTEMBER 1995 CHAPTER FOUR TheTruthaboutTextureMapping 59 MARCH 1990 CHAPTER FIVE ConsidertheLowly2×2Matrix 69 MARCH 1996 CHAPTER SIX CalculatingScreenCoverage 97 MAY 1996 CHAPTER SEVEN FugueforMMX 107 MARCH–APRIL 1997 CHAPTER EIGHT Floating-PointTricks 123 JULY–AUGUST 1997 CHAPTER NINE AGhostinaSnowstorm 133 JANUARY–FEBRUARY 1998 CHAPTER TEN WPleasure,WFun 147 MAY–JUNE 1998 CHAPTER ELEVEN TenMoreUnsolvedProblemsin ComputerGraphics 159 SEPTEMBER–OCTOBER 1998 CHAPTER TWELVE TheCrossRatio 169 NOVEMBER–DECEMBER 1998 CHAPTER THIRTEEN InferringTransforms 179 MAY–JUNE 1999 CHAPTER FOURTEEN HowManyDifferentRationalParametricCubic CurvesAreThere?PartI,InflectionPoints 195 JULY–AUGUST 1999 CHAPTER FIFTEEN HowManyDifferentRationalParametricCubic CurvesAreThere?PartII,The“Same”Game 207 NOVEMBER–DECEMBER 1999 CHAPTER SIXTEEN HowManyDifferentRationalParametricCubic CurvesAreThere?PartIII,TheCatalog 219 MARCH–APRIL 2000 CHAPTER SEVENTEEN ABright,ShinyFuture 231 JANUARY 2000 CHAPTER EIGHTEEN OptimizingC++VectorExpressions 237 JULY–AUGUST 2000 CHAPTER NINETEEN PolynomialDiscriminantsPartI,MatrixMagic 255 NOVEMBER–DECEMBER 2000 CHAPTER TWENTY PolynomialDiscriminantsPartII, TensorDiagrams 269 JANUARY–FEBRUARY 2001 CHAPTER TWENTY-ONE TensorContractioninC++ 293 MARCH–APRIL 2001 Appendix Index AbouttheAuthor Preface Preface This book is the third collection of articles originally published in the IEEEComputerGraphicsandApplicationsjournal.Allofthesearticles,of course,havesomethingtodowithcomputergraphics.Thefirstfourwere originally written at Caltech and describe how I drew planets for the JPL flybymovies.TherestofthemwerewrittenafterIcametoMicrosoftRe- search and cover a pretty wide range of topics, from assembly language optimization for parallel processors (Chapter 7) through exotic usage of C++ template instantiation (Chapter 18) to theoretical mathematics (Chapter 20). There should be something in here for everyone. The previous two collections reproduced the original columns with onlyafewupdatesandfixes.Forthisvolume,however,Isuccumbedtothe urgetodomajorsurgeryonmanyofthecolumns.Ichangedsomeofthe mathematicalnotationtosomethingIlikedbetter.Iaddedalotmoredia- grams (as befits a graphics book). I added answers to questions that I hadn’t found when the original columns were written. So even if you’ve read the original magazine articles, go ahead and read this book. It’s a lot better. (I’m especially proud of the improvements to Chapters 5, 18, 20, and 21, if anybody wants to compare them with the originals.) One of the things people say they like about these articles is their ir- reverentstyle.Thismakesthemalotmorefuntoreadthantowrite.Iusu- allysuffergreatlyinwritingthem,goingthroughsixorsevenmajordrafts. Only after I get the exposition and mathematics right (usually involving chasing down rogue minus signs) do I make the “joke pass.” For the joke passoverthisbookIhadthefollowingidea.Haveyounoticedthatwhena movie is re-released on DVD they usually enhance it with a collection of deleted scenes and hilarious outtakes? How about setting it up so that I could advertise this book as containing “deleted scenes” and “hilarious outtakes”?Thisjokewouldonlywork,however,iftheseactuallycontained meaningful content instead of just fluff. I have, therefore, included some deleted scenes, stuff that was somewhat interesting but not on the main topic or some half-formed ideas that I never pursued further. But what should I do about outtakes? My model would be the wonderful fake outtakes at the end of the recent Pixar movies. I have to admit, though, viii Preface thatIcameupabitdry.Howabout“Andthenweseethatthedeterminant ofthematrixisplusone,erno,minusone,er(dissolveintohelplesslaugh- ter).”Orhowabout“AsweseeinFigure2.5...heywhodrewthemous- tache on Figure 2.5?” Maybe this concept doesn’t translate well to this medium.Youcan,though,becharitableandgivemeachuckleasthoughI actually did it. When looking over these columns and searching for some common themetouseasabooksubtitle,IrealizedthatoneofthethingsthatIdida lotinthesecolumnswastoexperimentwithmathematicalnotation.Ihave some general comments to make on this, but if you’re like me you don’t readtheprefacestobooks.SoIputthesecommentsintoanewfirstchap- ter.SinceoneofthenotationalconventionsIuseistostartvectorcompo- nent indexing from 0, I have named this Chapter 0. Acknowledgments Iwant to thank Bobby Bodenheimer, Rick Szeliski, and Jim Kajiya for helpful comments about matrices; Steve Gabriel and Gideon Yuval for giving me some new insights into floating point; and Matt Klaasen for turning me on to Hilbert’s book, referenced in Chapter 19. Thanks to KirkOlynykandPaulHeckbertforprovidingtheinspirationforChapter 13; to Todd Veldhuizen and William Baxter for inspiring Chapter 18 and encouraging me to make it better; and to Jon Paul Schelter for finding typos. A long time ago (before these columns got started), I attempted to writeacomputergraphicstextbook,butInevergotveryfarwithit.Writ- ing a column for CG&A seems to be the only way that I can get enough stuff finished to make a whole book. The series of short deadlines breaks the problem down into manageable chunks. Once again I would like to thankmyeditorsattheIEEE,RobinBaldwin,NancyHays,LindaWorld, AlkeniaWinston,andAnneLear,fortheirinfinitepatienceincopingwith mylateness.Ifitwerenotforthem,thesecolumnswouldneverhavegot- ten to press. Finally,IwouldliketothankMicrosoftResearchforgivingmeanen- vironment where I could do all the thinking and tinkering that produced the articles in this book. Chapter Zero: Notation C H A P T E R Z E R O Notation A P R I L 2 0 0 2 Acommon thread running through the original articles that became this book is experimentation with mathematical notation. You might think mathematical notation would be the most consistent and systematic form of representation possible. You’d be wrong! Mathematics is a natural lan- guage,madeupbyhumans,andcontainsjustasmanyinconsistenciesand arbitraryrulesasanyothernaturallanguage.Inthischapter,Iwanttobe- ginbymakingafewobservationsonthislanguage,andtoexplainsomeof the conventions I use in this book. Mathematical Symbols Mathematical Symbols Whensomeonesays“Considerthex,y,zvalues,”youimmediatelythink they are talking about 3D coordinates. When someone says “the quantity θ,” you usually guess that they are talking about an angle. When someonewrites αP +(1−α)P, itislikelythattheyareinterpolatingtwo 0 1 points.Wheneveryouwriteamathematicalexpression,thereisoftenalot ofsubtleandunstatedmeaningpackedintothesymbolsyouuse.Let’stake abrieflookatsomeofthechoiceswehaveinbuildingupamathematical symbol and the meanings these choices imply. TheBaseSymbol The first choice we make is which letter to use for the base symbol. The alphabeticpositionoftheletterisourfirstopportunitytopackextrainfor- mationintothesymbol.Coordinatesofpointsusuallycomefromtheend

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.