690 likes | 845 Views
Games, Movies and Virtual Worlds – An Introduction to Computer Graphics. Ayellet Tal Department of Electrical Engineering Technion. When you think about graphics, you envision. When you think about graphics , you envision. When you think about graphics, you envision. Science Art
E N D
Games, Movies and Virtual Worlds –An Introduction to Computer Graphics Ayellet Tal Department of Electrical Engineering Technion
Science Art Engineering Medicine Entertainment Advertising Education Applications
Science Art Engineering Medicine Entertainment Advertising Education Applications
Science Art Engineering Medicine Entertainment Advertising Education Applications
Science Art Engineering Medicine Entertainment Advertising Education Applications
Science Art Engineering Medicine Entertainment Advertising Education Applications
Science Art Engineering Medicine Entertainment Advertising Education Applications
Science Art Engineering Medicine Entertainment Advertising Education Applications
Science Art Engineering Medicine Entertainment Advertising Education Applications Outside-In http://www.geom.uiuc.edu/docs/outreach/oi/moregraphics.html http://www.physics.orst.edu/~bulatov/vrml/index.html
The world complex dynamic multi-dimensional continuous The screen simple static two-dimensional discrete Why interesting?
Beauty • Science – math and physics • Engineering – software and hardware • Artistic and aesthetic issues • Fun!
Issues in computer graphics • Geometric modeling • Rendering • Animation • Scientific visualization “The purpose of computing is insight, not numbers”Hamming • Virtual reality • Human-computer interaction
Geometric modeling How do we represent objects?
Wish list • Large domain • Unambiguous • Unique • Accurate • Impossible to create invalid representations • Easy to create and maintain • Closure under certain operations • Compact • Efficient
Geometric modeling How do we represent objects? Voxels
Geometric modeling How do we represent objects? Splines
Geometric modeling How do we represent objects? Polyhedra
Rendering • What pixels? • What’s in the pixel? • Which color?
What pixels = scan conversion • Given: A mathematical description of a two or a three dimensional “scene” • Find: A value for each pixel in the frame buffer
What pixels = scan conversion • Given: A mathematical description of a two or a three dimensional “scene” • Find: A value for each pixel in the frame buffer
What’s in the pixel - visibility Goal: Hidden surface removal • In object space or in image space? • In software or in hardware?
What color? • Illumination and shading • Transparency, reflection
Issues - recap • Modeling: • Construct / represent objects • Transform to construct scene • Rendering: • Project • Scan convert • Remove hidden surface • Assign colors
Animation How to define / represent complex time-dependent behavior of objects?
Animation topics • Automatic in-between • Transformations • Collision • Motion • Facial animation • Morphing • Physically-based simulation
Animation topics • Automatic in-between • Transformations • Collision • Motion • Facial animation • Morphing • Physically-based simulation
Animation topics • Automatic in-between • Transformations • Collision • Motion • Facial animation • Morphing • Physically-based simulation
Animation topics • Automatic in-between • Transformations • Collision • Motion • Facial animation • Morphing • Physically-based simulation
Animation topics • Automatic in-between • Transformations • Collision • Motion • Facial animation • Morphing • Physically-based simulation
Animation topics • Automatic in-between • Transformations • Collision • Motion • Facial animation • Morphing • Physically-based simulation 72 Frames - 5 Full Frames
Animation topics • Automatic in-between • Transformations • Collision • Motion • Facial animation • Morphing • Physically-based simulation
Animation topics • Automatic in-between • Transformations • Collision • Motion • Facial animation • Morphing • Physically-based simulation 1993, Apple Computer, Inc.
Algorithm • Decomposition • Control skeleton extraction • Joint binding • Motion definition or “copying”
Algorithm • Decomposition • Control skeleton extraction • Joint binding • Motion definition or “copying”
Algorithm • Decomposition • Control skeleton extraction • Joint binding • Motion definition or “copying”
Algorithm • Decomposition • Control skeleton extraction • Joint binding • Motion definition or “copying”
Algorithm • Decomposition • Control skeleton extraction • Joint binding • Motion definition or “copying”
Research topic: decomposition Let S be an orientable mesh. Goal: decompose S into connected sub-meshes S1, S2… Sk that are face-wise disjoint, and whose union gives S. S1 S2 S Sk
Key idea: two-phase algorithm • Find major components with fuzzy boundaries • Find exact boundaries
Algorithm outline • Construct fuzzy decomposition • Assign distances to pairs of faces • Assign probabilities of belonging to patches • Compute a fuzzy decomposition 2. Construct exact boundaries
Algorithm outline • Construct fuzzy decomposition • Assign distances to pairs of faces • Assign probabilities of belonging to patches • Compute a fuzzy decomposition 2. Construct exact boundaries
Algorithm outline • Construct fuzzy decomposition • Assign distances to pairs of faces • Assign probabilities of belonging to patches • Compute a fuzzy decomposition 2. Construct exact boundaries
Algorithm outline • Construct fuzzy decomposition • Assign distances to pairs of faces • Assign probabilities of belonging to patches • Compute a fuzzy decomposition 2. Construct exact boundaries
Algorithm outline • Construct fuzzy decomposition • Assign distances to pairs of faces • Assign probabilities of belonging to patches • Compute a fuzzy decomposition 2.Construct exact boundaries
Problem: finding boundaries • Given: • G=(V,E) the dual graph of the mesh • A,B,Fuzzy • Goal: Partition V into VA’ and VB’ s.t. A Fuzzy B