11Computer GraphicsAdam FinkelsteinPrinceton UniversityCOS 426, Spring 2003Overview• Introductionο What is computer graphics?• Applicationsο What is it good for?• Syllabusο What will I learn in this course?• Courseworkο How much work will there be?Introduction• What is computer graphics?ο Imaging = representing 2D imagesο Modeling = representing 3D objectsο Rendering = constructing 2D images from 3D modelsο Animation = simulating changes over timeOverview• Introductionο What is computer graphics?• Applicationsο What is it good for?• Syllabusο What will I learn in this course?• Courseworkο How much work will there be?Applications• Entertainment• Computer-aided design• Scientific visualization• Training• Education • E-commerce• Computer artApplications• Entertainment• Computer-aided design• Scientific visualization• Training• Education• E-commerce• Computer artJurasic Park(Industrial, Light, & Magic)Quake(Id Software)Geri’s Game(Pixar Animation Studios)22Applications• Entertainment• Computer-aided design• Scientific visualization• Training• Education• E-commerce• Computer artGear Shaft Design(Intergraph Corporation)Boeing 777 Airplane(Boeing Corporation)Los Angeles Airport(Bill Jepson, UCLA)Applications• Entertainment• Computer-aided design• Scientific visualization• Training• Education• E-commerce• Computer artApo A-1(Theoretical Biophysics Group,University of Illinois at Urbana-Champaign)Visible Human(National Library of Medicine)Airflow Inside a Thunderstorm(Bob Wilhelmson, University of Illinois at Urbana-Champaign)Applications• Entertainment• Computer-aided design• Scientific visualization• Training• Education• E-commerce• Computer artDriving Simulation(Evans & Sutherland)Flight Simulation(NASA)Desk Assembly(Silicon Graphics, Inc.)Applications• Entertainment• Computer-aided design• Scientific visualization• Training• Education• E-commerce• Computer artHuman Skeleton(SGI)Forum of Trajan(Bill Jepson, UCLA)Applications• Entertainment• Computer-aided design• Scientific visualization• Training• Education• E-commerce• Computer artInteractive Kitchen Planner(Matsushita)Virtual Phone Store(Lucent Technologies)Applications• Entertainment• Computer-aided design• Scientific visualization• Training• Education• E-commerce• Computer artBlair Arch(Marissa Range ‘98)33Overview• Introductionο What is computer graphics?• Applicationsο What is it good for?» Syllabusο What will I learn in this course?• Courseworkο How much work will there be?SyllabusI. Image processingII. RenderingIII. ModelingIV. AnimationImage Processing(Rusty Coleman, CS426, Fall99)Modeling(Dennis Zorin, CalTech)Animation(Angel, Plate 1)Rendering(Michael Bostock, CS426, Fall99)Part I: Image Processing• Image Representationο Sampling ο Reconstructionο Quantization & Aliasing• Image Processingο Filteringο Warpingο Morphingο Composition• Raster Graphicsο Display devicesο Color modelsImage Composition(Michael Bostock, CS426, Fall99)Image Morphing(All students in CS 426, Fall98)Part II: Rendering• 3D Rendering Pipelineο Modeling transformationsο Viewing transformationsο Hidden surface removalο Illumination, shading, and texturesο Scan conversion, clippingο Hierarchical scene graphicsο OpenGL• Global illuminationο Ray tracingο RadiosityOpenGL(Chi Zhang, CS 426, Fall99)Ray Tracing(James Percy, CS 426, Fall99)Part III: Modeling• Representations of geometryο Curves: splinesο Surfaces: meshes, splines, subdivisionο Solids: voxels, CSG, BSP• Procedural modelingο Sweepsο Fractals ο GrammarsScenery Designer(Dirk Balfanz, Igor Guskov, Sanjeev Kumar, & Rudro Samanta, CS426, Fall95)Shell(Douglas Turnbull, CS 426, Fall99)Part IV: Animation•Keyframingο Kinematicsο Articulated figures• Motion captureο Captureο Warping•Dynamicsο Physically-based simulationsο Particle systems• Behaviorsο Planning, learning, etc.Ice Queen(Mao Chen, Zaijin Guan, Zhiyan Liu, & Xiaohu Qie,CS426, Fall98)Mr. Ed(Casey McTaggert,CS426, Fall99)44Overview• Introductionο What is computer graphics?• Applicationsο What is it good for?• Syllabusο What will I learn in this course?» Courseworkο How much work will there be?Coursework• Exams (30%)ο In class (Mar 4 and Apr 29) • Programming Assignments (50%)ο Assignment #1: Image Processing (due Feb 24) ο Assignment #2: Ray Tracing (due Mar 24) ο Assignment #3: Modeling (due Apr 7) ο Assignment #4: Animation (due Apr 21) • Final Project (15%)ο Do something cool! (end of semester due date TBA) • Class Participation (5%)Programming Assignments• When?ο Roughly every two weeks • Where?ο Anywhere you want, e.g. home or Friend 017 lab•How?ο Windows (017) or Unix/Linux (“hats”)ο C and C++, OpenGL, GLUT• What?ο Basic feature listsο Extra credit listsο Art contestArt Contest• Everybody should submit entries!ο 1 point for submittingο 2 points for winningBloopers(Kathleen Mulcahey, CS 426, Fall99)Cool Images(James Percy, CS 426, Fall99)Videos(Terrance Liu, CS 426, Fall99)Collaboration Policy•Overview:ο You must write your own code (no credit for other code)ο You must reference your sources of any ideas/code• It’s OK to …ο Talk with other students about ideas, approaches, etc.ο Get ideas from information in books, web sites, etc.ο Get “support” code from example programs» But, you must reference your sources• It’s NOT OK to …ο Share code with another studentο Use ideas or code acquired from another sources without attributionAdministrative Matters• Course web page:ο http://www.cs.princeton.edu/courses/cs426/• Scheduling:ο Office hours…ο Final project
View Full Document