Week 1: Introduction and Overview

As would be expected in any first week of a college course, the lecture time was divided into covering administrative details, and giving a broad overview of the course. Below are notes from that overview; for administrative details, see the course web page.


Major CG fields

At the highest level, computer graphics has several subfields. Although they certainly do not strictly divide CG into distinct groups, these subfields can help us understand the breadth of computer graphics. Listed here are the subfields that we identified, given in alphabetical order.

Animation:
Animation strives to bring pictures to life. Animation actually covers all changes that have a visual effect. (pg 1057). In class we watched the animation FishShtick and discussed the steps involved in creating an animation. Animations begin with a story, followed by art design, cinematography, modeling, shading, texture mapping, animation, lighting, rendering, post-production and assembly.

Hardware:
A great deal of computational power is required to perform all the tasks that are described here. Specialized hardware is usually implemented to make performing these tasks easier and faster. This specialized hardware includes CPUs, graphics coprocessors, fast memory, and fast busses.

Image Processing:
Image processing, in rough terms, does the converse of rendering. Image processing is concerned with taking a picture as input, and discerning the model or data that created it. Examples include determining the 3D model from a CAT scan; finding edges in a blurry photograph, etc.

Input/Output:
Any piece of hardware that is not inside the graphics workstation is an I/O device. In the graphics realm, input devices would include mice, tablets (pressure or electrically sensitive surfaces that let the user "draw" on them with a special pen), or other specialty devices (virtual reality gloves, etc). To view the result of rendering an image, you would use a monitor, flat-panel display, virtual reality display, etc.

Input need not necessarily come from the user directly. There are also scanners that can convert a picture or photographic slide to an image; 3D scanners that can determine the 3D geometry of an object; frame grabbers that save an image from a video stream.

Modeling:
A representation of some features of a concrete or abstract entity (pg 286-287). Computer graphics is used for many types of models including, organizational, quantitative, and geometric models. Section 7.1 discusses modeling.

Rendering:
The process of creating images from models. The term rasterization is used to refer specifically to those steps that involve determining pixel values from input geometric primitives (pg 606). The typical rendering pipeline is

model => view transform => clipping => hidden surface removal => shading => scan conversion

Chapter 14 in Foley, van Dam, Feiner, and Hughes discusses rendering.

User Interface:
The user interface describes how a user interacts with a program or piece of hardware. For example, the Macintosh has a graphical user interface with icons for a user to click on. Sketchpad's (1963) user interface consisted of a light pen and buttons for the user to push.

Vision:
Vision is a subfield of graphics that tries to emulate the human visual system. Applications of computer vision include object recognition (e.g., a robot "watching" a conveyor belt for washers and bolts), image recognition (finding a human face, and identifying it), etc. Computer vision is a field shared largely between the computer graphics and AI communities.


Taxonomizing Computer Graphics

As part of the first week we were presented with the image below and asked to form groups and attempt to organize/classify the areas of graphics. The classifications of the groups varied widely, but the difficulty of the task was commented on by all.


Craig Kaplan, AJ Bernheim, Doug Zongker

Craig, AJ, and Doug tried to show the relations between areas of computer graphics by placing each topic in a two dimensional space. On the vertical axis the group measured the detail level that the topic was concerned with (i.e. level of 1/0 vs.the big picture). The horizontal axis measured how "hard" the topic is or how concerned with accurately portraying visual reality the area is. Some applications were placed in the 2-D space as concrete examples.


Emily Rocke, Michael Noth, Bret Ambrose, Ori Gershony, Jonathan Shakes

This figure contains only a subset of the arrows this group found when trying to create a dependence graph of the relationships between areas in graphics. This quarter of the class realized that filling in all the arrows would create a complete (or almost complete) graph.

They then focused on categorizing graphics by what it means to different people. For example, an engineer might use computer graphics for modeling.


Ben Wong, Arvind Jain, Scott Bradley, Himanshu Nautiyal

Ben and his friends created a table showing that computer science binds fields to graphics topics. For each topic in computer science the group showed which field of knowledge it used.


Owen Flatley, Andy Petts

Owen and Andy chose to decompose the world of computer graphics by the applications which each entity serves. At the highest level, the applications are either for utility or for aesthetics. Examples of applications for utility would include simulators, drafting or CAD systems, and computer vision applications. Functions for aesthetics tend to be "closer" to some end-user, and more artistic. Examples of these applications include games, artwork, and movies.

Besides being decomposed by area of application, we can see how each of these applications are related to the fundamentals and tools of computer graphics. Associated with each application in the diagram below are the initials of the tools or fundamentals which each application calls upon.


Corey Anderson, Jeremy Buhler, Josh Seims

Corey, Jeremy, and Josh proposed to decompose everything in computer graphics either as an element of a Basic Group, or as a trio of elements of the three Basic Groups. The Basic Groups are Purpose, Function, and Data/Info. Examples of individual elements of these groups are given in the diagram below.

Individual objects in computer graphics can usually be classified as members of a single Basic Group. A 3D mathematical model of a horse, an image of a Mandrill, or a sequence of mouse clicks all belong to the Data/Info group. Algorithms, such as morphing, rendering, edge detection, and Gaussian blur are all members of the group Function. Purposes would include, Art, Scientific, Education, etc.

Higher-level entities in computer graphics can be described by the objects from each Basic Group, and their intergroup links. For example, a short video of one face morphing into another would be characterized by the Function morph, the Data/Info Images, and the Purpose Art, or Education. To determine the 3D model of a medical patients brain, a doctor would call upon the Purpose scientific, the Function CATto3D, and the Data/Info Images (from the CAT scanner).