Computer Graphics Introduction Aleksandra Pizurica Ghent University Telecommunications and Information Processing Image Processing and Interpretation Group
Overview Lectures and coursework Instructors, projects, excersizes, exam, Computer graphics around us Why is it interesting? Applications Contents of this course Topics, syllabus, books, Interesting to know About 3D modelling P01_2
Lectures and Coursework
Lectures Lecturer Prof. Aleksandra Pizurica Email: sanja@telin.ugent.be ; Tel. 09 264 34 15 You can find me in Technicum, Sint-Pietersnieuwstraat 41, Dept. TELIN, room 2.05 Research group IPI Image Processing and Interpretations Time and place of the lectures Fridays 11:30 12:45, Jozef Pletaustraat, Aud I Presentations and additional study material available: official version for the current course on Minerva (some older slides) http://telin.ugent.be/~sanja/computergraphics P01_4
Projects Assistants: Danilo Babin dbabin@telin.ugent.be Tijana Ruzic truzic@telin.ugent.be Programming assignement and theoretical insight Not (fully) covered in the lectures (you will read an article) You will produce: code + short report Try to go beyond and make something cool! Done in groups ( 2 or 3 students per group) Team work, but everyone participates fully! Understanding and the work done tested individually Contact your assistants timely for advice and help Counts for 1/3 of the exam P01_5
Projects: what we expect Collaboration encouraged, but contributions from each student are requested and must be evident Writing the code Write your own code and give your own comments Using example codes (if you find these) allowed, but reference them Pay attention to the efficiency of the code Writing report: Write the text yourself You can cite a sentence form other work, but reference it Never copy large parts of the text from other sources! Creativity and original contributions Be free to extend the project assignment further yourself in any way you find it interesting (in the code functionality, theoretical insight, ) P01_6
Evaluation Theory (1/3) Part of the written exam in the presence of the lecturer Exercise (1/3) Part of the written exam in the presence of the lecturer (1/6) Programming exercise and participation in the class (1/6) Project (1/3) Problem solving, literature study, programming Written report Demonstration of the code and discussion P01_7
Written exam vs exercise and projects Written exam in the presence of lecturer (1/2) Counts for 1/2 of the final mark Duration: 4 hours Two parts Closed book: theory (1/4) Open book: theory understanding and problem solving (1/4) Projects and programming assignments (1/2) Count in total for 1/2 of the final mark Two types Programming: exercise and discussions in the class (1/6) Project (1/3) P01_8
Books This course is based mainly on Interactive Computer Graphics: A Top-Down Approach, Edward Angel, Addison-Wesley, 2006 (denoted as Angel in the slides) Computer Graphics: Principles and Practice, J. Foley, A. van Dam, S. Feiner and J. Hughes, Addison-Wesley, 1996 (denoted as book FvDFH in the slides) Some of other books Computer Graphics and Virtual Environments, M. Slater, A. Steed, Y. Chrysanthou, Addison-Wesley, 2002 Computer Graphics using Open GL, Francis Hill, Prentice Hall, 2001 3D Computer Graphics, Alan Watt, Addison-Wesley, 1999 Computational geometry, M. de Berg, M. van Kreveld, M. Overmars en O. Schwarzkopf, Springer, 2000 Mathematics for Computer Graphics, John Vince, Springer, 2005 Color Appearance Models, Mark Fairchild, Addison-Wesley, 2005 P01_9
Links with image processing Image processing improve and analyze image content Improving image quality (noise removal, sharpening, ) Analyzing image (and video) content: detecting and recognizing certain patterns (e.g. characters), segmenting (and tracking in time) objects of interest, Scene analysis (recognize and reconstruct a 3D model of a scene from 2D images) Computer graphics synthesize images from computer models Display of information Design of 2D and 3D objects Animation User interfaces Overlap between the two domains is growing P01_10
Computer Graphics arround us
Applications of Computer Graphics Entertainment Graphical user interface (GUI) Computer-aided design Scientific visualisation Education and training Computer art Analysis of artworks Virtual reality (virtual meetings, virtual visits to musea, ) P01_12
Applications: Entertainment Movies Finding Nemo Computer games Star Wars Shrek (Dreamworks Animation) P01_13
Applications: Graphical User Interface P01_14
Applications: Computer Aided Design Designing objects (real or virtual), 2D or 3D Mechanics, architecture, GIS, Examples: AutoCAD, GoogleSketchUp, Michigan Scientific Corporation SketchUp Pro Robert J. Corley P01_15
Applications: Scientific Visualisation Rate of Icecap change NASA GSFC Scientific Visual Studio Geo physical turbulence Benjamin Jamroz, Ed Lee, and Thorwald Stein A simulation of shuttle pressure NASA Johnson Space Cemnter Brain image and estimated neural connections Neuroimage Analysis Center P01_16
Applications: Education and training Visible Body Argosy Publishing Virtual Orthopedic Surgery Training A. Sourin, O. Sourina, and H. Tet Sen Projects in VR Flight Simulator NASA Driving Simulation Evans & Sutherland P01_17
Applications: Computer Art Teis Albers "Animal Conversation" Robert W. Mc. Gregor P01_18
Applications: Analysis of artworks The Arnolfini Portrait, Jan Van Eyck, 1434 Computer graphics techniques (ray tracing) are used to study the perspective in art works (Is it realistic? Is it too realistic (was the artist helped by an optical device)? Where is the light source? etc.) 01a_19
Applications: Analysis of artworks We can generate computer models of objects (e.g., pearls), and view them under different lighting conditions. We can also generate a 3D model of the whole scene and infer so far unseen views of the scene and persons in it. Examples from the work of David Stork and collaborators Girl with a pearl earring Johannes Vermeer (1632-1675) 01a_20
Applications: Virtual reality Computer graphics techniques are essential for creating virtual reality worlds, like A virtual meeting where people are represented by their avatars future meetings (people represented by their avatars in virtual conference rooms, while sitting comfortably in their homes, remote offices...) virtual city tours, virtual visits to museums, 01a_21
Contents of this course
Contents Digital images and graphics formats Raster images Vector images Elements of color perception and reproduction Raster graphics algorithms for drawing 2D primitives Scan conversion for line, circle and ellipse drawing Polygon filling Clipping P01_23
Contents Geometrical transformations Homogeneous coordinates Matrix representation and composition of 2D and 3D transformations Quaternions Viewing in 3D Classical and computer viewing Projections (parallel and perspective) Clipping in 3D Hidden surface removal P01_24
Contents Illumination and shading Illumination models Shading models for polygons Ray casting and ray tracing Radiosity Texture generation and mapping Texture generation: statistical methods tiling methods Texture mapping model model + shading model + texture + shading P01_25
Contents Curves and surfaces Polygon meshes Hermite curves and surfaces Bézier curves and surfaces Non-uniform rational B splines (NURBS) Subdivison surfaces Modeling Hierarchical models Animation Scene graphs Free topic guest lecture Elements of programming in OpenGL P01_26
The rendering pipeline MIT open courseware Different steps in the graphics rendering pipeline: Vertex processing (convert vertices to 2D screen positions) Clipping removing the invisible parts Rasterization Occlusion culing removing pixels hidden by other objects Shading adding texture and final color Frame buffer controler - interface to the physical memory P01_27
Elements of programming in OpenGL Study and experiment with one graphics program Done in groups per 2, with clear distribution of the work The executable version and main conclusions presented in a flash presentation in the class 7 min presentations 7 min questions by the classmates and the lecturer The list of presentations will be kept on Minerva Many nice codes and examples available at http://www.cs.unm.edu/~angel/book/interactive_computer_gr APHICS/ P01_28
Interesting to know
Computer graphics models One of the most popular computer graphics models is teapot. The photo shows the actual Melitta teapot that Martin Nevell digitized in 1975. (Now in the Computer History Museum in Silicon Valley.) P01_30
NURBS Non Uniform Rational B Splines Commonly used in computer graphics for generating and representing curves and surfaces Great flexibility and precision for handling both analytic and freeform shapes Toy Story Disney Pixar A modeling example ARIA - Mark Spink Production P01_31
Subdivision surfaces Geri s game Disney Pixar http://www.youtube.com/watch?v=1m7dcbikvlw Polygon mesh representation A smooth surface calculated from the coarse mesh by recursively subdividing each polygonal face into smaller faces More flexible than NURBS E.J. Stollnitz, T.D. DeRose and D.H. Salesin, Wavelets for Computer Graphics: A Primer Part 2, IEEE Comp. Graph. and Appl., July 1995. P01_32