CS 184: COMPUTER GRAPHICS

Lecture #3 -- We: 1/27, 1999.

PREVIOUS < - - - - > CS 184 HOME < - - - - > CURRENT < - - - - > NEXT 

Preparation:

Skim Ch 12.

Lecture Topics

Crucial Items from Last Lecture

  • Drawing on a raster device.
  • Suitable line-drawing abstractions.
  • How to save a computer graphics object.
  • SLIDE  language concepts.
  • Primitives you need to know of SLIDE for ASG#1: point, face, object.
  • Modeling and Object Representations in 3D

    Skim: Ch 12 "Solid Modeling"
    In the book you find a brief overview over hardware, display devices ... everything else is software !
    If we want to display a `sausage' we need to discribe it to the computer. How ??

    Some Basic Object Representation Formats:

    Voxels and Octree:
    Concept: sample space regularly; determine: inside/outside sausage?
    "Turn on" voxels.  Efficient encoding in an quad/oct tree.

    CSG and Boolean set operations:
    Sausage = bent cylinder plus spherical end-caps.
    Show 2D composite.

    B-rep and winged-edge data structure:
    Tessallate surface; describe polygons via vertices, edges.

    Procedural modeling:
    Sweep a circle through space along a curve. Start small for front-cap, keep constant through main part of sausage, taper down to zero for end cap.
    ("Procedural Generation of Parameterized Parts" -- NOT "Primitive Instancing" !)

    Instantiation Hierarchy:
    Ways to build complicated scenes in an organized manner.
    Reuse parts that we have built several time, by making copies of them.
     

    Creating a Model World: Hierarchical Description

    Read: Ch 7.1 "Geometric Modeling:"
    How should we "describe" a complex world model in the computer ?
    for instance: Boeing 747: ~ 4 000 000 identifyable parts.
    Use nested objects with relative transformations.
    Benefits: Managing complexity, abstraction, structure, re-use of objects, easy searching and editing.

    Hierarchical Scene Composition and Description
    Example #1: Houses on Hill

  • Scene Tree;
  • SLIDE description
  • Importance of transformations -> later:  elegant and powerful mechanism ...
  • Example #2: Robot

  • Logical Scene Hierarchy given by functional structure

  •  

    Overview of Rendering Process

    Read: Ch 6.6 "Coordinate Systems"
    Now that we have a scene, -- how do we a get picture of it?
    World to screen transforms - Overview

    The Various Coordinate Systems:

    Master Space:
    Hand-designed or generated objects; typically a "flat" geometry.

    World Space:
    Hierarchy of groups and objects.

    Rendering Space, Eye Space, Camera Space:
    Defines from where do we view scene, what is ignored. 
    Form a new coordinate system with origin in eye (or camera lens), z-axis in looking direction
    The projection screen (retina, film) is perpendicular to that direction, lies at some distance.
    From eye we do a point (perspective) or parallel projection onto screen,
    possibly clipping stuff that is too close or too far away.

    Image Space:
    This is the 2D space of the projection screen.
    Often the scene hierarchy has been lost, just flat set of lines, polygons, etc.
    The drawing primitives may have been (re-)arranged into (display) segments;
    these are grouping for similar treatment (color, transparency, visibility, spatial location).
    This set may be clipped by the Window = rectangular area defined in projection plane.

    Normalized Device Coordinates:
    Fit everything into a unit square for easy manipulation and mapping onto screen or into viewports 
    (=`window' to the laymen) on the screen.
    This is achieved through a simple coordinate transformation of all elements inside clipping window.
    This gives us device independence !

    Screen Space:
    Pixels or x,y addresses of actual display device.
    Dots, lines, filled areas, etc ... are expressed typically in integers > 0.
    Y-axis may be upside down.
     


    Current Homework Assignment:

    ASG#1:  "Fantasy Fish -- Interactive Polygon Builder"
    DUE: Monday 2/1/99, 1159pm.


    --> Next Lecture

    <-- Up to CS 184 HomePage


    Page Editor: Carlo H. Séquin