Introduction to Computer Graphics
Pradondet Nilagupta
Dept. of Computer Engineering
Kasetsart University
204481 Foundation of Computer Graphics
October 3, 2015
1
Lecture Outline


Course Information: Format, Resources
Overview

Topics covered

What is computer graphics?

Applications
204481 Foundation of Computer Graphics
October 3, 2015
2
Course Info and Administrative


Instructor: Pradondet Nilagupta

E-mail: [email protected]

Phone: 9428555 ext. 1415 (office)

Office hours: after class; 1-2pm Monday or by
appointment
Web Page

Course Homepage:
http://www.cpe.ku.ac.th/~pom/courses/204481/
204481.html

Course Syllabus:
http://www.cpe.ku.ac.th/~pom/courses/204481/
syllabus.html
204481 Foundation of Computer Graphics
October 3, 2015
3
Course Overview (1/2)


Graphics Systems and
Techniques

2-D, 3-D models: surfaces,
visible surface identification,
illumination

Photorealistic rendering :
shading models, ray tracing,
radiosity
Operations

Surface modeling, mapping

Pipelines for display,
transformation, illumination
204481 Foundation of Computer Graphics
October 3, 2015
4
Course Overview (2/2)

Mathematical Review

Review of mathematical foundations of CG:
analytic geometry, linear algebra

Line and polygon rendering

Matrix transformations
204481 Foundation of Computer Graphics
October 3, 2015
5
Relevant Disciplines










Rendering Hardware
VR Systems
Portable/Embedded CG
Analytic Geometry
Art and Graphic Design
Color/Optical Models
Cognitive Science
CG/Vision Duality
Interface Design
Computer Engineering
Engineering Design
Layout
CG Design
Education
Visualization
Film
Parametric Equations
Conics
Human Factors
Polygon Rendering
Linear Algebra
Numerical Analysis
CAD
CAE / CASE
CAM
Immersive Training
Tutoring Interfaces
Computer
Graphics
(CG)
Surface Modeling
Physically-Based Modeling
Stat/Info Visualization
Transformations
Change of Coordinate Systems
204481 Foundation of Computer Graphics
User Modeling
Ergonomic Interfaces, I/O
October 3, 2015
Animation
Large-Scale CG
6
What is Computer Graphics?
204481 Foundation of Computer Graphics
October 3, 2015
7
This is not Computer Graphics
18%
9%
1
2
3
27%





46%
4
[ 29:[email protected] ] Re: Future development of
PEX/PHIGS]
[ 9:[email protected]] What is a good book for
Digital Image Processing]
[ 15:[email protected]] Help! ASCII picture
needed…
[ 14:[email protected]] Re: 3D igitizers… again
[240:[email protected]] Call For Papers -- ACM
Multimedia '93
204481 Foundation of Computer Graphics
October 3, 2015
8
What is Computer Graphics ?


Computer graphics is commonly
understood to mean the creation,
storage and manipulation of models
and images. (Andries van Dam)
Computer graphic is concerned with


all aspects of producing pictures or
images using a computer.
the pictorial synthesis or real or
imaginary objects from their computer
based model
204481 Foundation of Computer Graphics
October 3, 2015
9
Computer Graphics

Computer Graphics


Synthesis of graphical images
Visualization :


creating an image from an abstract, symbolic
description.
Generation of Synthesis Image


using graphical primitives
data from real world phenomena
204481 Foundation of Computer Graphics
October 3, 2015
10
Image Processing

Image Processing

the transformation of an existing image into a
more desirable or useful image.

image enhancement, pattern detection
The following images represent how noise affects images
204481 Foundation of Computer Graphics
October 3, 2015
11
Image Analysis

Image Analysis (Computer Vision)

extracting symbolic information from the image.
Computer Graphics
Image Processing
Image Analysis
204481 Foundation of Computer Graphics
Data
=> Picture
Picture => Picture
Picture => Data
October 3, 2015
12
What is Interactive Computer Graphics?


User controls contents, structure, and
appearance of objects and their displayed images
via rapid visual feedback
Basic components of an interactive graphics
system



input (e.g., mouse, tablet and stylus, force feedback
device,scanner…)
processing (and storage)
display/output (e.g., screen, paper-based printer, video
recorder…)
204481 Foundation of Computer Graphics
October 3, 2015
13
Why Computer Graphics? (1/5)

Humans communicate well with images


1/3 of your brain is devoted to visual
processing
A picture is worth a few hundred megabytes
204481 Foundation of Computer Graphics
October 3, 2015
14
Why Computer Graphics? (2/5)

Developing Computational Capability

Rendering: synthesizing realistic-looking,
useful, or interesting images

Animation: creating visual impression of motion

Image processing: analyzing, transforming,
displaying images efficiently
204481 Foundation of Computer Graphics
October 3, 2015
15
Why Computer Graphics? (3/5)

Better Understanding of Data, Objects,
Processes through Visualization

Visual summarization, description,
manipulation

Virtual environments (VR), visual monitoring,
interactivity

Human-computer intelligent interaction (HCII):
training, tutoring, analysis, control systems
204481 Foundation of Computer Graphics
October 3, 2015
16
Why Computer Graphics? (4/5)

Time is Right

Recent progress in algorithms and theory

Rapidly emergence of new I/O (display and data
acquisition) technologies

Available computational power, improving priceperformance-ratio of hardware

Growth and interest of graphics industries (e.g.,
information visualization, entertainment CAD)
204481 Foundation of Computer Graphics
October 3, 2015
17
Why Computer Graphics? (5/5)



advances in the last decade due mostly to the
microchip
software advances, especially in object-oriented
programming and real-time rendering algorithms
Hardware advances continue to benefit graphics:



faster inexpensive microprocessors and dedicated
graphics chips
screen technology: High-definition television (HDTV),
colour LCD
virtual reality interfaces (corneal implants?)
204481 Foundation of Computer Graphics
October 3, 2015
18
Image Synthesis Pipeline
Graphics
Database
Editing
Front-End

(Geometry Processing)
Graphics
Database
Back-End

(Rasterization)
Display
Traversal
Modeling
Transformation
Viewing
Operation
• Visible-Surface
Determination
• Scan Conversion
• Shading /
Illumination
204481 Foundation of Computer Graphics
October 3, 2015
Image
19
A Brief History

teletype printouts were first graphical output devices
lightpens were an early input device CAD applications
began in the 1960's plotters also a 60's development: highresolution, but slow main bottlenecks of computer graphics
back then
cost of graphics hardware

expense of computer resources

batch systems weren't suitable
for interactive graphics

non-portability of hardware and
software

a new field: technology was
primitive

204481 Foundation of Computer Graphics
October 3, 2015
20
History of Computer Graphics (1/5)


1950 MIT’s Whirlwind
computer had computer
generated CRTs mid
1950s SAGE command
and control
1960s Ivan Sutherland’s
thesis - Sketchpad

introduced data
structures and interactive
techniques
http://www.computer.org/history/development/1951.htm
204481 Foundation of Computer Graphics
October 3, 2015
21
History of Computer Graphics (2/5)

1960s GM (general Motor)



developed CAD (Computer Aided Design) and
CAM
1968 Tektronix storage tubes
1970s Boeing CAD CAM
204481 Foundation of Computer Graphics
October 3, 2015
22
History of Computer Graphics (3/5)


Mid 1970s engineering workstations and
personal computers emerged separately
1980s new algorithms and techniques




new standards
ever more powerful system
transition from specialized field
1990s widespread use




low cost, but powerful personal workstations
networks
essential part of systems
now part of multimedia
204481 Foundation of Computer Graphics
October 3, 2015
23
History of Computer Graphics (4/5)
At first - progress was slow because
 cost of equipment was high (specially
memory)
 significant computing resources needed
 difficulty in writing software ( harder than it
looks)
 lack of standard and thus portability
 lack of software tools
204481 Foundation of Computer Graphics
October 3, 2015
24
History of Computer Graphics (5/5)
Now - previous use
 cost of equipment is low.
 Most computer have necessary
computing resources for graphics
 established standards,
implementations and tools
 still difficulty in writing software ( still
harder than it looks)
204481 Foundation of Computer Graphics
October 3, 2015
25
Some of Historical Picture (1/2)

First truly interactive graphics
system, Sketchpad, pioneered
at MIT by Ivan Sutherland for
his 1963 Ph.D. thesis.
Sketchpad, A Man-Machine
Graphical Communication
System:

204481 Foundation of Computer Graphics
Sketchpad in 1963. Note the
use of a CRT monitor, light pen
and function-key panel.
October 3, 2015
26
Some of Historical Picture (2/2)
http://www.man.ac.uk/Science_Engineering/CHSTM/nahc.htm
John VonNeuman
http://ei.cs.vt.edu/~history/VonNeumann.html
204481 Foundation of Computer Graphics
October 3, 2015
Mark I
27
Applications of Computer Graphics
Applications of Computer Graphics
 divided in 4 majors area
Display of Information
 Design
 Simulation
 User Interface

204481 Foundation of Computer Graphics
October 3, 2015
28
Display of Information





Geographic
information system
(GIS)
Computerized
Tomography (CT)
Magnetic resonance
imaging (MRI)
Ultrasound
positron-emission
tomography (PET)
http://www.soest.hawaii.edu/soest/about.ftp.html
http://www.queens.org/qmc/services/imaging/ct.htm
204481 Foundation of Computer Graphics
October 3, 2015
29
Design

Computer-Aided Design (CAD)
Architecture
 Design of Mechanical part
 VLSI
 etc...

http://www.memagazine.org/contents/current/features/push/push.html
204481 Foundation of Computer Graphics
October 3, 2015
30
Simulation

Graphical flight simulator



Robotic simulation
TV, Movie, advertising industries


reduce training process
The Concorde Panel.
generate photo realistic images
Virtual Reality (VR)

reduce risk of training
surgery
 astronaut

http://www.motionshop.com/pr/festocosimirlg.shtml
204481 Foundation of Computer Graphics
October 3, 2015
31
User Interfaces

Window system
Window 2003
 X window
 MAC OS


Graphical Network browsers
Netscape
 Internet Explorer

204481 Foundation of Computer Graphics
October 3, 2015
32
Areas of research in Graphics (1/2)

mathematical modeling:




interpolation, curve and surface fitting
computational geometry: algorithmic
applications in geometry
study of light and optical phenomenon: colour,
texture, shades
modelling the characteristics of physical
objects (bouncing Jello)
204481 Foundation of Computer Graphics
October 3, 2015
33
Areas of research in Graphics (2/2)

Software technology




standardized graphics languages and libraries
graphics tools and interfaces
algorithm design
Hardware

specialized graphics chips, monitors, interface
devices
204481 Foundation of Computer Graphics
October 3, 2015
34
Graphics Applications

Entertainment: Cinema
Pixar: Geri’s Game
Universal: Jurassic Park
Antz
204481 Foundation of Computer Graphics
A bug’s Life
October 3, 2015
35
Graphics Applications (1/4)

Entertainment: Games
Aki Ross : Final Fantasy
Star Wars Jedi Outcast: Jedi Knight II
204481 Foundation of Computer Graphics
Quake III
October 3, 2015
36
Graphics Applications (2/4)

Medical Visualization
204481 Foundation of Computer Graphics
October 3, 2015
The Visible Human Project
http://www.ercim.org/publication/Ercim_News/enw44/koenig.html
37
Graphics Applications (3/4)

Computer Aided Design (CAD)
204481 Foundation of Computer Graphics
October 3, 2015
38
Graphics Applications (4/4)

Scientific Visualization
204481 Foundation of Computer Graphics
October 3, 2015
39
Hypermedia User Interfaces (1/2)
NCSA D2K:
http://chili.ncsa.uiuc.edu
Visual programming system for
high-performance knowledge
discovery in databases (KDD)

Hypermedia

Database format (similar to hypertext) that provides display-based
access to (internetworked) multimedia (text, image, audio, video,
etc.) documents

Chimera: http://www.ics.uci.edu/pub/chimera/
204481 Foundation of Computer Graphics
October 3, 2015
40
Hypermedia User Interfaces (2/2)


Virtual Environments

Immersion: interactive
training, tutoring systems

Entertainment hypermedia
Visualization and ComputerAided Design and Engineering
(CAD/CAE)

Visualization: scientific,
data/information, statistics

User interfaces for
CAD/CAE/CAM/CASE:
http://www.isii.com
http://www.psl.cs.columbia.edu/chime/
204481 Foundation of Computer Graphics
October 3, 2015
41
Curve and Surface Modeling
1
2
http://www.geocities.com/SiliconValley/Lakes/2057/nurbs.html
3
4
5
8
7
6
204481 Foundation of Computer Graphics
October 3, 2015
42
Photorealistic Illumination Models
http://www.pixar.com
http://www.ktx.com/3dsmaxr3/
204481 Foundation of Computer Graphics
http://www.aliaswavefront.com
October 3, 2015
43
Fractal Systems
http://sprott.physics.wisc.edu/fractals.htm
204481 Foundation of Computer Graphics
October 3, 2015
44
Information Visualization
Visible Decisions SeeIT
204481 Foundation of Computer Graphics
(http://www.vdi.com)
October 3, 2015
45
Interesting Industrial Applications
6500 news stories
from the WWW
in 1997
Cartia ThemeScapes – http://www.cartia.com
Hypermedia and Statistical Visualization
Normal
Ignited
Engulfed
Destroyed
Extinguished
Fire Alarm
Flooding
DC-ARM – http://www-kbs.ai.uiuc.edu
204481 Foundation of Computer Graphics
Virtual Environments for
Immersive Training
October 3, 2015
46
Overview of Programmer’s Model (1/2)


Pixel - smallest addressable unit of display
Hardware (I/O)



output display device (normally raster scan)
on the order of a million pixels displayed
image stored in memory by pixel
(how much memory?)



video controller
scans the memory periodically (30-72 times a second)
produces video signal to drive a video monitor (or flat screen
display)
input devices - keyboard, mouse (track ball), tablet, voice etc.
204481 Foundation of Computer Graphics
October 3, 2015
47
Overview of Programmer’s Model (2/2)
Software
 application data
 application program
 graphics interface
 operating system
204481 Foundation of Computer Graphics
October 3, 2015
48
Graphical System And Standard (1/5)

Graphical Systems



High level language interface to graphical
devices.
Intended for development of portable code.
Standard graphical systems include




CORE,
Graphical Kernel System (GKS), GKS+
Programmers Hierarchical Interactive Graphics
System (PHIGS), PHIGS+
OpenGL, DirectX, Quickdraw 3D, VRML,
Open Inventor, X-Windows.
204481 Foundation of Computer Graphics
October 3, 2015
49
Graphical System And Standard (2/5)

Requirements of Graphical Systems

Portability





Device Independence
Concept of a logical device.
Language Independence
Language Bindings for graphical systems.
Computer Independence
Trade-off between standard hardware and high
performance hardware.
Programmer Independence
Flexibility - In conflict with portability.
204481 Foundation of Computer Graphics
October 3, 2015
50
Graphical System And Standard (3/5)

Graphical Kernel System (GKS)
 Workstation


GKS has concept of a workstation.
Device Normalisation





World Coordinates, Window in World Coordinates
Clipping to the window
Normalised Device Coordinates [0,1]x[0,1]
Normalisation Transformation
Viewports in normalised device coordinates
204481 Foundation of Computer Graphics
October 3, 2015
51
Graphical System And Standard (4/5)

Output Functions




Line-Drawing Primitives
Area-filling primitives
Text Output
Input Functions

Logical input types : Locator, Valuator, Choice,
String, Pick, Stroke.
204481 Foundation of Computer Graphics
October 3, 2015
52
Graphical System And Standard (5/5)

Input Modes




Request mode: waits for a request for an event.
Sample mode: continually samples value of input
device.
Event mode: unsolicited input stored on a stack,
made available for processing in FIFO order.
Mixed mode.
204481 Foundation of Computer Graphics
October 3, 2015
53
Professional Societies
ACM SIGGRAPH
- Association for Computing
Machinery Special Interest
Group in Graphics
IEEE
- The Institute of Electrical and
Electronics Engineers,
Technical Committee on
Computer Graphics
204481 Foundation of Computer Graphics
October 3, 2015
54
Software Portability and graphics
standards
STANDARD
ORGANIZATION
 ANSI = American National
Standard Institute (private,
non government)
 ISO = International
Standards
Organization(voluntary,
non treaty)
 ANSI is a member of ISO
204481 Foundation of Computer Graphics
October 3, 2015
55
History: graphics libraries

initially, low-level device-dependent
packages were the norm

movement towards high-level deviceindependent packages, in order to promote
application program portability

requires standardization:
204481 Foundation of Computer Graphics
October 3, 2015
56
Official Standards






1977 and 1979 - 3D SIGGRAPH CORE (ACM
SIGGRAPH)
3D Core Graphics System ("Core") dev'd in late
70's as unofficial std
GKS (Graphical Kernel System, 1985): official 2D
standard built from Core
GKS-3D (1988): 3d objects ANSI X3.124-1985
PHIGS (Programmer's Hierarchical Interactive
Graphics System, 1988) 3D nested objects
PHIGS+ (1988): rendering enhancements
204481 Foundation of Computer Graphics
October 3, 2015
57
Emerging Standards in APIs

OpenGL (developed by Silicon Graphics)




open standard
available on all platforms
intended for professional-level graphics like
CAD
Direct3D



developed by Microsoft
Windows only
intended for games
204481 Foundation of Computer Graphics
October 3, 2015
58
Some Notable Systems










Tektronix commands in BASIC (mid-1970s)
HP commands (Hewlett Packard)
Microsoft BASIC (for PCs) graphics
commands (early 1980s)
QuickDraw (Apple Macintosh)
X (MIT)
OpenGL (Silicon Graphics)
SRGP (Simple Raster Graphics Package)
SPHIGS (Simple PHIGS)
MS Windows
Java AWT
204481 Foundation of Computer Graphics
October 3, 2015
59
Good graphics requires ? (1/3)







ability to control every dot (pixel) of display
ability to control primitive shapes on the
screen
models to deal with images as a whole
use of color, lighting, and shading
construction of "languages" or "packages"
to extend languages
knowledge of hardware
systems work
204481 Foundation of Computer Graphics
October 3, 2015
60
Good Graphics requires ? (2/3)





mathematical transformations and
representations
transmission of pictures and commands to
make pictures
ability to store lots of information
high performance computers
algorithms such as visible surface
algorithms
204481 Foundation of Computer Graphics
October 3, 2015
61
Good Graphics requires ? (3/3)





understanding and manipulation of
data structures
good software engineering principles
human factors engineering
some feeling for artistic principles
lots of effort - harder than it looks
204481 Foundation of Computer Graphics
October 3, 2015
62
Lecture Topics







Introduction
Mathematical
Foundation
Coordinate Systems
Introduction to
Graphics in 2D
Windows and Clipping
Introduction to
Graphics in 3D
Viewing in 3D
204481 Foundation of Computer Graphics
Visible Surface
Determination

Algorithm efficiency

Z-buffer algorithm

Scan line algorithms

Visible-surface Ray Tracing

Other algorithms

Color Models

Illumination and Shading

October 3, 2015
63
Mathematical foundation

Mathematical appears throughout 3D graphics
Example:



Object surfaces can be represented as polygons
whose vertex position are specified by vectors
Rendering requires testing whether vertices lie in
front of or behind various planes.
The test involves a dot product with the plane’s
normal vector.
204481 Foundation of Computer Graphics
October 3, 2015
64
Geometric transformation



Goal: specify object’s position and
orientations in a 3D world
Use Linear transformations that rotate
and translate objects’ vertices.
Apply these transformations in matrix
form
204481 Foundation of Computer Graphics
October 3, 2015
65
Viewing




Goal: map the visible part of a 3D
world to a 2 D image
Use camera-like parameters to define
a 3D view volume
Project the view voulme onto a 2D
image plane
Map viewport on the image plane to
the screen
204481 Foundation of Computer Graphics
October 3, 2015
66
OpenGL




OpenGL is strictly defined as “a software
interface to graphics hardware”.
It is a 3D graphics and modeling library
variety purposes, CAD engineering,
architectural applications, computergenerated dianosaurs in blockbuster
movies
Developed by SGI
204481 Foundation of Computer Graphics
October 3, 2015
67
Clipping

Goal: cut off the part of objects outside
the view volume to avoid rendering
them
204481 Foundation of Computer Graphics
October 3, 2015
68
Scan Conversion


Goal: convert a project, clipped object
into pixels on raster lines.
Use efficient incremental methods
204481 Foundation of Computer Graphics
October 3, 2015
69
Antialiasing


Raster displays produce blocky
aliasing artifacts
Antialiasing techniques reduces the
problem by applying the theory of
sampling and signal processing
204481 Foundation of Computer Graphics
October 3, 2015
70
Color




Various color spaces provide ways to
specify colors in term of components:
red, green, blue
hue, saturation, value
Different output devices display
different subsets of the perceptible
colors
204481 Foundation of Computer Graphics
October 3, 2015
71
Hidden Surface Removal

When several overlapping polygons are
drawn on the screen, which one is on
top?
Which is
right?
204481 Foundation of Computer Graphics
October 3, 2015
72
Z-buffering




A fast hardware solution is
the Z-buffer
The “depth” of each pixel
relative to the screen is
calculated and saved in a
buffer
The pixel with the smallest
depth is the one that is
displayed
The other pixels are on
surfaces that are hidden
204481 Foundation of Computer Graphics
This pixel is
drawn on
screen
Screen
Polygons
Z
October 3, 2015
73
Lighting Models and Shading


For visual realism, lighting
models have been developed
to illuminate the surfaces of
solid models
These models incorporate



Ambient lighting:
ambient lighting and illumination
diffuse reflection of directional
lighting
specular reflection of directional
lighting
204481 Foundation of Computer Graphics
October 3, 2015
incident
light
reflected light
incident
light
reflected light
74
Ray Tracing
Light Source
Shadow Ray
Eye
Eye Ray
Object
Shadow Ray


Ray tracing traces a ray
of light from the eye to a
light source
Ray tracing realistically
renders scenes with
shiny and transparent
objects
204481 Foundation of Computer Graphics
Object
Light Source
October 3, 2015
75
Radiosity


Diffuse illumination
results from the
absorption and reflection
of diffuse light from
many objects in the
scene
Radiosity uses thermal
models of emission and
reflection of radiation to
accurately calculate
diffuse lighting
204481 Foundation of Computer Graphics
Radiosity is very good at
rendering architectural
interiors
October 3, 2015
76
Texture Mapping


For realism, photographic textures are
“mapped” onto the surfaces of objects
Example textures:





woodgrain
concrete
grass
marble
texture
mapping
reflections
shadows
Texture mapping is very computationally
intensive
204481 Foundation of Computer Graphics
October 3, 2015
77
Example of Shading
Wireframe
Flat Shaded
Shadows
Smooth Shaded
204481 Foundation of Computer Graphics
October 3, 2015
78
Descargar

Introduction to Computer Graphics