Computer Graphics
Introduction
Aleksandra Pizurica
Ghent University
Telecommunications and Information Processing
Image Processing and Interpretation Group
P01_2
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
Lectures and Coursework
P01_4
Lectures
• Lecturer
Prof. Aleksandra Pizurica
Email: [email protected] ; 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_5
Projects
• Assistants: Danilo Babin [email protected]
Tijana Ruzic [email protected]
• 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_6
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_7
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_8
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)
• 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
Books
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
P01_12
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_13
Applications: Entertainment
• Movies
• Computer games
“Finding Nemo”
“Shrek”
“Star Wars”
(Dreamworks Animation)
P01_14
Applications: Graphical User Interface
P01_15
Applications: Computer Aided Design
• Designing objects (real or virtual), 2D or 3D
• Mechanics, architecture, GIS,…
• Examples: AutoCAD, GoogleSketchUp,…
Michigan Scientific Corporation
© Robert J. Corley
SketchUp Pro
P01_16
Applications: Scientific Visualisation
Geo physical turbulence Benjamin Jamroz, Ed Lee, and Thorwald Stein
Brain image and estimated neural connections Neuroimage Analysis Center
Rate of Icecap change NASA GSFC Scientific Visual Studio
A simulation of shuttle pressure NASA Johnson Space Cemnter
P01_17
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_18
Applications: Computer Art
Teis Albers "Animal Conversation"
Robert W. Mc. Gregor
Applications: Analysis of artworks
01a_19
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.)
Applications: Analysis of artworks
01a_20
Girl with a pearl earring Johannes Vermeer (1632-1675)
• 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
Applications: Virtual reality
01a_21
A virtual meeting where people are represented by their avatars
Computer graphics techniques are essential for creating virtual reality worlds, like
•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,…
Contents of this course
• 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…
P01_25
…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_26
…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
The rendering pipeline
P01_27
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
Elements of programming in OpenGL
P01_28
• 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/
Interesting to know…
Computer graphics models
P01_30
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.)
NURBS – Non Uniform Rational B Splines
P01_31
• Commonly used in computer graphics for generating and representing curves and surfaces
• Great flexibility and precision for handling both analytic and freeform shapes
ARIA - Mark Spink Production
A modeling example
Toy Story Disney Pixar
Subdivision surfaces
P01_32
Geri’s game Disney Pixar
• 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.
http://www.youtube.com/watch?v=1m7dcbIKvlw