Computer Graphics Basics

What is it?

Computer graphics is the computational creation and manipulation of visual data.

What is it good for?

Where is the technology used?

Subfields of Computer Graphics

It seems to me there are eight fundamental areas of computer graphics. Obviously this is debatable, but this classification seems to work.

  1. Mathematical Structures

    Spaces, points, vectors; dusts, curves, surfaces, solids.

  2. Modeling (Object Modeling)

    Description of objects and their attributes, including

    • Primitives (e.g. pixels, polygons)
    • Intrinsic Geometry
    • Attributes (e.g. color, texture)
    • Connectivity (e.g. scene graphs)
    • Dynamics (e.g. motion, morphing)

    Techniques for object modeling, including

    • polygon meshes
    • patches
    • solid geometry
    • sweeps
    • fractals
    • particle systems
    • L-grammars

  3. User Interfaces

    Human factors, I/O devices, color theory, workstations, interactive techniques, dialog design, animation, metaphors for object manipulation, virtual reality.

  4. Graphics Software

    Graphics APIs; paint, draw, CAD and animation software; modeling and image databases; iconic operating systems; software standards.

  5. Graphics Hardware

    I/O devices, specialized chips, specialized architectures.

  6. Viewing

    Abstract to device coordinate transformations, the syntehetic camera, windows, viewports, clipping.

  7. Rendering

    Realism, physical modeling, ray tracing, radiosity, visible surface determination, transparency, translucency, reflection, refraction, shadows, shading, surface and texture mapping.

  8. Image Processing

    Image description, image storage, image transformations, image filtering, image enhancement, pattern recognition, edge detection, object reconstruction.

Objects vs. Images

Objects are the (usually 3-D) conceptual entities that exist in their own coordinate systems; images are the (usually 2-D) realizations of objects on some media.

objectsvsimages.gif

Current Trends

Example Code