Introduction To Computer Graphics

3y ago
88 Views
2 Downloads
2.92 MB
235 Pages
Last View : 6d ago
Last Download : 3m ago
Upload by : Camden Erdman
Transcription

Introduction to Computer GraphicsCourse Notes for SIGGRAPH ‘99Course OrganizerMichael BaileyUniversity of California at San Diego, andSan Diego Supercomputer CenterCourse SpeakersAndrew GlassnerMicrosoft ResearchOlin LathropCognivision, Inc.Computer graphics is an exciting field of endeavor, but it is often difficult for anewcomer to get started. This course is that opportunity. The topics beingpresented will address many areas within computer graphics and treat each from thepoint of view of “why-do-I-care” and “how-to.” Those who take this course willemerge well-prepared to take on further study, including the taking of otherSIGGRAPH courses. Attendees will also be ready to take on the vendor show andbetter appreciate the Electronic Theatre. We hope you enjoy reading and usingthese notes as much as we enjoyed preparing them.If you have specific comments about how we can improve the course or the notes,please send them to me at: mjb@sdsc.edu– Mike BaileyTake them, use them, bring them to the masses.Shake them, lose them, sing them to your classes.Tiles of tides, piles of slides.Piles of slides that no-one derides.Slides of knowledge, slides of power – slides that last a half an hour.Small slides. Blue slides. Old-hat and what's-new slides.Take a slide and project it wide.Project it far and make it tall, a slide's a slide that's seen by all.SIGGRAPH slides go into holders, printed pages go into folders.We teach. We teach in courses. We teach whatever the market enforces.You want pixels? You want rays?We'll lead you through the graphics maze.– Andrew Glassner

SIGGRAPH ‘99Introduction to Computer GraphicsAbout the SpeakersMichael J. BaileyMike Bailey is a researcher at the San Diego Supercomputer Center and a faculty member inApplied Mechanics / Engineering Sciences and Computer Science at the University ofCalifornia at San Diego. Mike received his Ph.D. from Purdue University. He has alsoworked at Sandia National Laboratories, Purdue University, Megatek, SDSC, and UCSD.Mike’s areas of interest include scientific visualization, computer aided design, and solidfreeform fabrication. He has authored numerous papers on the use of computer graphics inengineering and science. Mike founded the interdiscpinary Design Visualization Lab atSDSC/UCSD, which includes the TeleManufacturing Facility which applies solid freeformfabrication methods to visualization problems. Mike has served on the SIGGRAPHExecutive Committee and was SIGGRAPH conference co-chair in 1991. Mike has alsoserved as SIGGRAPH Courses Chair in 1984, 1985, 1987, 1988, and 1994.Andrew S. GlassnerDr. Andrew Glassner is a Researcher at Microsoft Research, where he creates new computergraphics and new media. He has worked at the NYIT Computer Graphics Lab, CaseWestern Reserve University, the IBM TJ Watson Research Lab, the Delft University ofTechnology, Bell Communications Research, Xerox PARC, and Microsoft Research. Hehas published numerous technical papers on topics ranging from digital sound to newrendering techniques. His book 3D Computer Graphics: A Handbook for Artists andDesigners has taught a generation of artists. Glassner created and edited the Graphics Gemsbook series and the book An Introduction to Ray Tracing. His most recent text isPrinciples of Digital Image Synthesis, a two-volume treatise on rendering theory andpractice published by Morgan-Kaufmann. Andrew served Siggraph '94 as Chair of thePapers Committee, and creator of the Sketches venue. He has also served as FoundingEditor of the Journal of Graphics Tools, and Editor-in-Chief of ACM Transactions onGraphics. He directed the short animated film "Chicken Crossing" which premiered at theSiggraph '96 Electronic Theatre, and designed the highly participatory game "Dead Air" forThe Microsoft Network. He has designed logos for electronics firms, publishers, andindividuals. In his free time Andrew plays jazz piano, draws, and writes fiction. He holds aPhD in Computer Science from The University of North Carolina at Chapel Hill.Olin LathropOlin Lathrop works for Cognivision, Inc., where he does consulting and custom softwaredevelopment for computer graphics. Olin holds a Master of Engineering in ElectricalEngineering from Rensselaer Polytechnic Institute. Olin has also worked at HewlettPackard, Raster Technologies, and Apollo Computer, where he specialized in graphicshardware design. Olin is the author of the introductory book The Way Computer GraphicsWorks.

SIGGRAPH ‘99Introduction to Computer GraphicsMike Bailey (M)Andrew Glassner (A)Olin Lathrop (L)Course Schedule8:30 - 9:00Welcome .MOverview of the CourseSome graphics to look atOverview of the Graphics Process9:00 – 10:00Modeling for Rendering and Animation.A10:00 – 10:15Morning Break10:15 – 11:15Rendering.A11:15 – 12:00Graphics display hardware .O12:00 – 1:30Lunch1:30 – 2:15Animation.A2:15 – 3:00Geometry for computer graphics.M3:00 – 3:15Afternoon Break3:15 – 3:30Input devices .M3:30 – 4:00Graphics on the World Wide Web.M4:00 – 4:30Virtual reality .O4:30 – 4:45Finding additional information .M4:45 – 5:00General Q&A.All

SIGGRAPH ‘99Introduction to Computer GraphicsCourse Note Table of ContentsA. IntroductionB. Overview of the Graphics ProcessC. An Introduction to ModelingD. 3D Object ModelingE.A Glossary for Modeling and AnimationF.An Introduction to RenderingG . Graphics Display HardwareH . An Introduction to AnimationI.Computer Animation TechniquesJ.Geometry for Computer GraphicsK . Input DevicesL.Graphics on the World Wide WebM. Virtual RealityN . Finding Additional InformationO. Glossary of Computer Graphics Terms

Introduction to Computer GraphicsSIGGRAPH '99Michael BaileyUniversity of California at San Diego andSan Diego Supercomputer CenterAndrew GlassnerMicrosoft ResearchOlin LathropCognivision, Inc.SAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringMike BaileyPhD from Purdue UniversityHas worked at Sandia Labs, Purdue University,Megatek, San Diego Supercomputer Center, andthe University of California at San Diegomjb@sdsc.eduSAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & Engineering

Andrew GlassnerPhD from the University of North Carolina Chapel HillHas worked at IBM, Bell Communications,Delft University, NYIT, Xerox PARC, andMicrosoft Researchglassner@microsoft.comSAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringOlin LathropMaster of Engineering from RensselaerPolytechnic UniversityHas worked at Hewlett-Packard, RasterTechnologies, Apollo Computer, andCognivisionolin@cognivis.comSAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & Engineering

Course Goals Provide a background for papers, panels,and other courses Help appreciate the Electronic Theater Get more from the vendor exhibits Give our take on where the future is Provide pointers for further studySAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringTopics Overview of the “Graphics Process” (Mike)Modeling (Andrew)Rendering (Andrew)Display Hardware (Olin)SAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & Engineering

More Topics Animation (Andrew) Geometry for Computer Graphics (Mike) Input Devices (Mike)SAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringAnd, Even More Topics ! Graphics on the Web (Mike) Virtual Reality (Olin) Finding Additional Information (Mike)SAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & Engineering

The Graphics Process: Summary3DGeometricModelsRenderingImageStorage AN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringThe Graphics Process:Geometric ometricModelsModelLibrariesDisplacementMappingSAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringRendering

The Graphics Process: 3D SAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringThe Graphics Process: AN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringTextureInformationRendering

The Graphics Process: ageandDisplayImageGenerationTextureInformationSAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringThe Graphics Process:Image Storage and kFileSAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringVideoRecorder

The Graphics Process: tionTextureInformationSAN DIEGO SUPERCOMPUTER CENTERA National Center for Computational Science & EngineeringImageStorage andDisplay

An Introduction to Modeling / Siggraph ‘99An Introduction to ModelingAndrew GlassnerMicrosoft ResearchSiggraph ‘98Why Create 3D Models? Image SynthesisDesignManufacturingSimulationArt11

An Introduction to Modeling / Siggraph ‘99Models for Image Synthesis Camera– Viewpoint for image Light Sources– Radiate light– Have size and shape Objects– Physical structuresModels for Simulation Physics– An airplane wing Mechanics– Fit between parts– Manufacturability22

An Introduction to Modeling / Siggraph ‘99Model Attributes Structure– Geometry and Topology Appearance– Looks and surfacesLevels of Detail Visual detail for imagesStructural detail for simulation33

An Introduction to Modeling / Siggraph ‘99PhotographTelephone handset cordDetail for Image Synthesis Real shapes are complex!More detail more realism– Takes longer to model, longer torender, and occupies more diskspace Procedural objects– More detail when you want it44

An Introduction to Modeling / Siggraph ‘99PhotographObject in a room, in a far corner (lowdetail version) and close up (highdetail version)Detail for Simulation Can affect accuracy of simulationDifferent simulations requiredetail in different places55

An Introduction to Modeling / Siggraph ‘99Levels of Detail for SimulationsDoes it fit in the box?Does it fit with the cover on?PhotographCloseup of a stapler where the staplefolds (high detail) and justchecking page clearance (lowdetail)66

An Introduction to Modeling / Siggraph ‘99Types of Modelers InteractiveScriptedData CollectionOthersPrimitives and Instances Platonic “ideal”Shapes are instances of primitivesEach instance may be different77

An Introduction to Modeling / Siggraph ‘99Choosing a ModelRepresentation CostEffectivenessComplexityEase of SimulationEase of AnimationModel Cost Designer’s timeComputer StorageRendering TimeSimulation TimeEase of Animation88

An Introduction to Modeling / Siggraph ‘99Model Effectiveness Geometry– Looks– Accuracy Appearance– Looks– AccuracyModel Complexity Number of primitivesNumber of shapesComplexity of each instance99

An Introduction to Modeling / Siggraph ‘99Model Simulation Is shape matched to simulator?Cost of conversion– Time and storage– Maintaining duplicate versionsModel Animation Articulation– Getting at the part you want– Getting it to move correctly Physics of motionConstraints1010

An Introduction to Modeling / Siggraph ‘99Modeling and Rendering Rendering adds light to the modelThe renderer tracks the light in thescene to determine how the scenelooks to the viewer.Lights and cameras are part of themodel.Modeling and Animation Animating is giving variations on amodel over timeDifferent keys given by theanimator are interpolated to givein-betweens1111

An Introduction to Modeling / Siggraph ‘99Levels of Detail Match complexity of model to itsuseSwitch levels of detail– Requires multiple copies of eachmodel– Labor-intensive– Switching is hard to hideProcedural Models Create model on demandModels from coarse to fineSwitching is still hardRequires skillful programmingStill an open research problem1212

An Introduction to Modeling / Siggraph ‘99Basic Linear Operationson PrimitivesTranslateRotateScaleOperation Order Matters!Scale 2, Move X 1Move 1 X, Scale 21313

An Introduction to Modeling / Siggraph ‘99Free-Form Deformation Change the space, not the objectGreat for animationAllows flexible transformations– Bend– Twist– Taper– Melt– Etc.PhotographExample of free-form deformation1414

An Introduction to Modeling / Siggraph ‘99Types of Primitives 0 Dimensions: Points1 Dimension: Lines2 Dimensions: Surfaces3 Dimensions: VolumesPoint Primitives Particle systemsRequires many particlesOften procedurally controlled1515

An Introduction to Modeling / Siggraph ‘99PhotographExample of a point-based modelPhotographDrawing toy for making faces bymoving around magnetic filings.1616

An Introduction to Modeling / Siggraph ‘99Surface Primitives PolygonsPatchesPolygons Simple to define and useAssemble to make polyhedraFlatFlatFlatReally, really flat, always1717

An Introduction to Modeling / Siggraph ‘99Patches Naturally curvedDefined by control points or curvesInterpolatingApproximatingInterpolation andApproximationInterpolationApproximation1818

An Introduction to Modeling / Siggraph ‘99Continuity0-order1-order2-orderTypes of Patches BezierB-splineBicubicNURBSmany more1919

An Introduction to Modeling / Siggraph ‘99Volumetric Primitives Volumes that enclose some spaceOpen vs. closedCan be complex, e.g. a donutVoxels Small blocks of spaceEqually-sized (grid)Varying sizes (octree)2020

An Introduction to Modeling / Siggraph ‘99Voxels for ApproximationOriginal ShapeVoxel ApproximationConstructive Solid Geometry(CSG) Combination rules for solidsEach combines two solidsResults can be used as a new solid– CSG Tree Three (or four) rules2121

An Introduction to Modeling / Siggraph ‘99CSGABUnion: A BDifference: A-BIntersection: A&BDifference is Not SymmetricalABA-BB-A2222

An Introduction to Modeling / Siggraph ‘99Difference is Useful for CuttingHolesBlock CylinderBlock - CylinderFillets and Blends Make a smooth join betweensurfacesHard to do automatically2323

An Introduction to Modeling / Siggraph ‘99Algebraic FunctionsF(x,y) 0F(x,y) x2 y2 - radius2Blobs Algebraic functions, usuallysphericalAdd together to make smoothblends2424

An Introduction to Modeling / Siggraph ‘99PhotographExample of a blobby modelProcedural Models FractalsGraphtalsShape GrammarsGeneral Procedural Models2525

An Introduction to Modeling / Siggraph ‘99Fractals Self-similarInfinite detail– Computer only approximates Difficult to controlMountains and fernsPhotographA fractal model2626

An Introduction to Modeling / Siggraph ‘99Graphtals Make the structure firstAdd geometry laterUseful for plants and organicformsData AmplificationPhotographA graphtal model2727

An Introduction to Modeling / Siggraph ‘99Shape Grammars Shapes that turn into other shapesDetails that work with substrateData AmplificationPhotographA model made with a shape grammar2828

An Introduction to Modeling / Siggraph ‘99General Procedural Models Most powerful technique of allCan handle smooth changes indetailSupports simulation, animationAllows models that interact withthe sceneModeling Environments InteractiveScriptedCapturedClip Art2929

An Introduction to Modeling / Siggraph ‘99Interactive Modeling InteractiveExploratoryImmediate FeedbackPhotographAn interactive modeling program3030

An Introduction to Modeling / Siggraph ‘99Scripted Modeling PreciseRepeatablePhotographA scripted modeler and script3131

An Introduction to Modeling / Siggraph ‘99Captured Modeling Allows capturing real-worldshapesGenerates rich modelsCan be noisyCan have geometric restrictionsPhotographA 3D scanner3232

An Introduction to Modeling / Siggraph ‘99Clip Art Fast acquisitionCan be cheaperMay not be articulated as you wantDifficult to customizeModeling for Animation Rigid structures are easiest to makeArticulated structures are easiest toanimatePlan for where you want motionBuilt-in constraints3333

An Introduction to Modeling / Siggraph ‘99Conclusions Many primitivesMany modelersMatch your choice of modeler,primitive, construction style, andlevel of detail to the expected use.Think before you model!3434

3D Object ModelingNorman I. Badler Andrew S. Glassner y1 What is 3D modeling?Every computer-rendered image requires three essential components: a 3D scenedescription, one or more sources of light, and a description of the camera or eyeviewing the scene. The scene description is typically composed of one or moremodels, or 3D structures. Typically we think of a model as a stand-alone part,e.g. a pencil or a tree, and the scene as the assembly of these parts into acomplete 3D environment. This attitude re ects the most common procedurefor building up a 3D scene: one builds many models, and then assembles them.Each model contains two descriptions: a mathematical representation of thestructure of the shape, and a recipe for guring out how that shape would lookif illuminated. Let us examine these descriptions in turn.1.1 Model StructureThe structural description is basically one of geometry. It tells us where theobject is in space, and where it is not. Imagine an empty co ee mug hovering inspace in front of you. Now freeze time and look at every molecule in the room:generally each molecule will be part of the material of the mug or part of theair around the mug (note that the air molecules inside the mug where the co eewould go are not part of the mug itself; they're part of the air around it). If youpaint every air molecule white and every mug molecule black, then you'll havea very ne description of the mug down to the precision of the molecules in theroom.The result of this thought experiment has many of the properties of 3Dmodels used in computer graphics: it's conceptually straightforward (if bulky),and has a limited precision (most computer programs use the built-in calculation hardware in today's computers; this hardware has very high but limitedprecision). Some modeling methods are very close to this approach; they createpoints in space or chop up space very nely and label it empty or full. Other Computer and Information Science Department, University of Pennsylvania, Philadelphia,PA 19104 USAy Microsoft Research, One Microsoft Way, Redmond, WA 980521

methods attempt to let you describe your model more abstractly, saying forexample that your mug is basically a thick cylinder with a bottom and roundedlip.1.2 Model AppearanceThe other part of every model is the surface description. This boils down todescribing the physics of how the surface of the model interacts with light.Happily, it turns out that these physics are driven by a few descriptive termsthat have intuitive meaning for us, such as color, shininess, and transparency.Thus you could say that your co ee mug is shiny and blue, and go a long waytowards describing its appearance.Since models often simulate real world shapes, we have to decide how detailedwe want to be. When describing the co ee mug's geometry, do we want toinclude every little bump in the ceramic and the irregularities in the overallshape, or is a mathematically perfect cylinder close en

development for computer graphics. Olin holds a Master of Engineering in Electrical Engineering from Rensselaer Polytechnic Institute. Olin has also worked at Hewlett-Packard, Raster Technologies, and Apollo Computer, where he specialized in graphics hardware design. Olin is the author of the introductory book The Way Computer Graphics Works.

Related Documents:

Introduction to Computer Graphics COMPSCI 464 Image credits: Pixar, Dreamworks, Ravi Ramamoorthi, . –Game design and development It is about –Learning the fundamentals of computer graphics –Implementing algorithms that are at the core of computer graphics . Fundamentals of Computer Graphics

Computer Graphics & Image Processing 2003 Neil A. Dodgson 2 7 Course books Computer Graphics: Principles & Practice Foley, van Dam, Feiner & Hughes,Addison-Wesley, 1990 zOlder version: Fundamentals of Interactive Computer Graphics Foley & van Dam, Addison-Wesley, 1982 Computer Graphics &

D. Salomon: Computer Graphics Geometric Modeling, Springer, 1999 A. Watt: 3D Computer Graphics. Addison-Wesley Publishing Company, Inc., 2000 Journals Computer Graphics Forum IEEE CG & Applications ACM Transactions on Graphics ACM Transaction

Graphics Courses Key course Image processing and computer graphics (modeling, rendering, simulation) Specialization courses Advanced computer graphics (global illumination) Simulation in computer graphics (deformable and rigid solids, fluids) Master project, lab course, Master thesis Simulation track, rendering track

Graphics API and Graphics Pipeline Efficient Rendering and Data transfer Event Driven Programming Graphics Hardware: Goal Very fast frame rate on scenes with lots of interesting visual complexity Pioneered by Silicon Graphics, picked up by graphics chips companies (Nvidia, 3dfx, S3, ATI,.). OpenGL library was designed for this .

Interactive graphics is useful in a. Training pilots b. Computer aided design c. Process control d. All of these 57. The origin of computer graphics was developed in a. 1950 b. 1960 c. 1970 d. 1990 58. The term business graphics came into use in late a. 1950 b. 1960 c. 1970 d. 1990 59. Computer graphics is used in many DTP software as a .

COMPUTER GRAPHICS & VISUALIZATION - 15CS62 Module -1 1. a. Enlist the applications of computer graphics and explain. (6 marks). i. Graphs and charts Display of simple data graphs was the early application of computer graphics plotted on a character printer. Data plotting one of the most common graphics applications

An Introduction to R Graphics 3 This example is basic R graphics in a nutshell. In order to produce graphical output, the user calls a series of graphics functions, each of which produces either a complete plot, or adds some output to an existing plot. R graphics follows a\painters model,"which means that graphics output occurs in steps,