Data Visualization
(Lecture 1)
What is Computer Graphics?
Computer graphics generally means creation, storage and manipulation
of models and images
Computer graphics is simply the art and science of producing and
manipulating images and animations (or sequences of images) using a
computer.
Such models come from different and expanding set of fields including
physical, biological, mathematical, artistic, and conceptual structures
Graphics
3D Model 2D Image
Vision
What is Computer Graphics?
Imaging = representing 2D images
Modeling = representing 3D objects
Rendering = constructing 2D images from 3D models
Animation = simulating changes over time
Modeling Rendering Animation
Image Processing (for reading)
Image Representation
Sampling
Reconstruction
Quantization & Aliasing
Image Processing
Filtering
Warping
Morphing
Composition
Raster Graphics
Display devices
Color models
Modeling (for reading)
Representations of geometry
Curves
Surfaces
Solids
Procedural modeling
Fractals
Grammars
Rendering (for reading)
3D Rendering Pipeline
Modeling transformations
Viewing transformations
Hidden surface removal
Illumination, shading, and textures
Clipping
Hierarchical scene graphs
OpenGL
Global illumination
Ray tracing
Animation (for reading)
Keyframing
Motion capture
Dynamics
Behaviors
What is Interactive Computer Graphics?
Sometimes called real-time computer graphics, and in certain contexts,
real-time rendering
User controls content, structure, and appearance of objects and their
displayed images via rapid visual feedback
Basic components of an interactive graphics system
input (e.g., mouse, stylus, multi-touch, in-air fingers…)
processing (and storage of the underlying representation/model)
display/output (e.g., screen, paper-based printer,
video recorder…)
Applications
Entertainment
Graphical User Interfaces
Computer-aided design
Scientific visualization
Training
Education
Computer art
Entertainment (passive)
Final Fantasy (Square, USA)
Entertainment (passive)
A Bug’s Life (Pixar)
Entertainment (Active)
Circus Atari (Atari)
Entertainment (Active)
Doom (ID Software)
Entertainment (Active)
Doom III (ID Software)
Graphical User Interfaces
Graphical User Interfaces
Window system and large-screen interaction metaphors (François Guimbretière)
GUIs from The Matrix Reloaded
Matrix Reloaded
Computer Aided Design
Los Angeles Airport (Bill Jepson, UCLA)
Computer Aided Design
Gear Shaft Design (Intergraph Corporation)
Computer Aided Design
Boeing 777 Airplane (Boeing Corporation)
Scientific Visualization
Airflow around a Harrier Jet (NASA Ames)
Scientific Visualization
Compressible Turbulence (Lawrence Livermore National Labs) Visible Human (National Library of Medicine)
Training
Flight Simulator 2002 (Microsoft)
Training
Designing Effective Step-By-Step Assembly Instructions (Maneesh Agrawala et. al)
Education
Outside In (Geometry Center, University of Minnesota)
Computer Art
Blair Arch (Marissa Range, Princeton University)
Computer Art
Computer Generated Pen-and-Ink Illustration (Winkenbach and Salesin, University of Washington)
Computer Art
Example-Based Composite Sketching of Human Portraits (Chen et al., MSRA, UCLA, MSR, UW, Microsoft)
Environmental Evolution (for reading)
Character Displays (1960s – now)
Display: text plus alphamosaic pseudo-graphics (ASCII art)
Object and command specification: command-line typing
Control over appearance: coding for text formatting
(.p = paragraph, .i 5 = indent 5)
Application control: single task
Environmental Evolution (for reading)
Vector (Calligraphic, Line Drawing)
Displays (1963 – 1980s)
Display: line drawings and stroke text; 2D and 3D transformation hardware
Object and command specification: command-line typing, function keys, menus
Control over appearance: pseudo-WYSIWYG
Application control: single or multitasked, distributed computing pioneered at
Brown via mainframe host <-> minicomputer satellite
Term “vector” graphics survives as “scalable vector graphics” SVG library from
Adobe and W3C – shapes as transformable objects rather than just bitmaps
Environmental Evolution (for reading)
2D bitmap raster displays for PCs and workstations
(1972 at Xerox PARC - now)
Display: windows, icons, legible text, “flat earth” graphics
Above, a classic WIMP
Note: late 60’s saw first use of raster graphics, especially for interface. The technology,
flight simulators
at its core, remains largely
Minimal typing via WIMP GUI (Windows, Icons, Menus, the same today. Below, a
Pointer): point-and-click selection of menu items and modern WIMP interface.
objects, direct manipulation (e.g., drag and drop), “messy
desktop” metaphor
Control over appearance: WYSIWYG (which is really
WYSIAYG, What You See Is All You Get – not pixel-accurate
or controllable)
Application control: multi-tasking, networked client-server
computation and window management (even “X terminals”)
Environmental Evolution (for reading)
3D graphics workstations (1984 at SGI – now)
Display: real-time, pseudo-realistic images of 3D
scenes
Object and command specification: 2D, 3D and N-D
input devices (controlling 3+ degrees of freedom)
and force feedback haptic devices for point-and-
click, widgets, and direct manipulation
Graphics workstations such as
Control over appearance: WYSIWYG (still these have been replaced with
WYSIAYG) commodity hardware (CPU + GPU),
e.g., our MaxBuilts + NVIDIA cards
Application control: multi-tasking, networked
(client/server) computation and window
management
Environmental Evolution (for reading)
High-end PCs with hot graphics cards (NVIDIA GeForce™, AMD
Radeon™) have supplanted graphics workstations
Such PCs are clustered together over
high speed buses or LANs to provide
“scalable graphics” to drive tiled
PowerWalls, CAVEs, etc.
Also build GPU-clusters as number crunchers,
e.g., protein folding, weather prediction
Now accessible to consumers via
technologies like NVIDIA’s
SLI (Scalable Link Interface) bridge