You are on page 1of 19

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/234816428

Computer graphics

Article · January 2003

CITATIONS READS

0 2,707

2 authors, including:

George Stephen ("Steve") Carson


University of Colorado
39 PUBLICATIONS   87 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Knowledge acquisition from human experts using computational linguistics View project

SEDRIS View project

All content following this page was uploaded by George Stephen ("Steve") Carson on 16 August 2014.

The user has requested enhancement of the downloaded file.


368 COMPUTER GRAPHICS: PRINCIPLES

Side dishes player A

Home dish f\ f\ Home dish

Side dishes player B

Figure 5. Start of a Kalah game with four stones in each of the side dishes.

FIVE CARDMAJOR [NORTH1 thatreturns TRUE or 1975. Knuth, D. E., and Moore, R. W. “An Analysis of Alpha-
FALSE, depending on the north hand cards. Higher- Beta Pruning,” Artificial Intelligence, 6, 293-326.
1980. Berliner, H. J. “Backgammon Computer Program Beats
level routines are built in layers over the primitives; World Champion,” Artificial Intelligence, 14, 205-220.
for example 1987. Rivest, R. “Game Tree Searching by MidMax
Approximation,” Artificial Intelligence, 34, 1 , 77-96.
IFFIVECARDMAJOR[H] ANDPOINTCOUNT[H]>12 1990. Hsu, F.,Anantharanum, T., Campbell, M., and Nowatzyk,
A. “A Grandmaster Chess Machine,” Scientific American,
THEN BIDMAJOREH] 263, 4, 44-50.
1996. Schaeffer, J., Lake, R., Lu, P., and Bryant, M. “Chinook:
where H is a variable thatcan take on the values The Man-Machine World Checkers Champion,” AI Magazine,
NORTH, SOUTH, EAST, or WEST. 17, 1, 21-29.
1997. Schaeffer, J. One Jump Ahead: Challenging Human
The unusual Middle Eastern game Kalah, played using Supremacy in Checkers. New York: Springer-Verlag.
stones and dishes, has been studied extensively. The Albert L. Zobrist
game commences (Fig. 5) with an equal number of
stones (usually three to six) in each of the side dishes
(commonly six in number). The players take turns: in
one turn a player takes all stones from one side dish COMPUTERGENERATIONS
and distributes them, one to a dish, in a counter- See GENERATIONS,
COMPUTER.
clockwise fashion, but skipping the opponent’s home
dish (or Kalah). If the last stone falls in the player’s
home dish, then asecond turn is taken. If the last stone
in the first turn falls in an empty dish on the player’s COMPUTER GRAPHICS
side, the stones in the opponent’s dish on the opposite
side are “captured” and placed in the player’s Kalah.
The game ends when all dishes on one side are empty,
at which point all stones remaining on the other side
are placed in that player’s Kalah. A Kalah-playing
program by Slagle achieved excellent results against
human opponents.
Of all games programmed for computers, more time
and effort has been devoted to chess than to any other
(see COMPUTERCHESS). A recent trend is the emer-
gence of microcomputer-based games onthe mass
market. The quality of play varies, with backgammon,
checker and chess programs playing quite well and
bridge programs playing at a lower level.Rapid
improvements in the quality and variety of these
games may be expected.

Bibliography
1944. von Neumann, J., and Morgenstern, 0 . Theory of Games
and Economic Behavior. Princeton, NJ: Princeton University
Press.
1950. Shannon, C. E. “Automatic Chess Player,” Scientific
American, 182, 2, 48-51.
1967. Epstein, R. A. The Theory of Gambling and Statistical
Logic, Chap. 10. New York: Academic Press.
COMPUTER GRAPHICS: PRINCIPLES 369

was limited to narrow applications in scienceand busi- active graphics is used for systemswhere the user plays
ness. Documents were entered as text with special for- a significant and active role in the system. A CAD/CAM
matting codes and only seen in their final form when system must be interactive since the user must create
printed. Objects in images were verysimple and the object and its components as they are viewed on
appeared highly artificial.Now, graphics is an expected the computer monitor. Visualization systems are also
part of every software package. Today’s word proces- frequently interactive so thatthe user can replay
sors use graphics technology to display the document animation sequences, magnify parts of the image that
in its final form on the screen as it is being created. appear interesting (zooming), and alter colors used so
Computer users expect graphical user interfaces (GUI) that different phenomena are highlighted. Applications
as part of modern software packages. Images in games that by their nature require frequent user input are
and educational software are highly realistic. programmed as interactive systems.
There are two different views of computer graphics, Non-interactive graphics systems are primarily those
each with its own concerns. A graphics system user is that are so computationally complex that the produc-
interested in what images are produced, what they tion of a single image takes longer than the time even
mean, and how they can be manipulated. A graphics the most patient user would wait. The production of
system programmer is interested in how to write realistic imagery usingtechniques of radiosity and ray
graphics-based applications programs for those users. tracing (discussed later) and the production of ani-
The programmer can be interested in clarity of data mated sequences can be very time-consuming. In these
presentation, manipulation of imagery, or realism of cases, the user will define the environment for the
that imagery. Each of these requires a different pro- image (or for an animation sequence, the motions to
gramming technique, level of sophistication, and type occur) using some preprocessing system. This defini-
of hardware. tion then serves as the input for the image generator,
which can be run in batch or background mode. The
This article, however, is about the creation of images
resulting images are usually stored in a file and viewed
on the computer. These can be simple line drawings
at a later time using a device-dependent postproces-
or realistic images of some real-world scene. The two
sor. Some complex animation sequences of a few
steps to creating a computer graphic image are to
minutes duration take tens of hours of compute time
build a model of some environment and then use soft-
to prepare.
ware that renders an image of the model environment.
Other articles in this volumedeal with specialized As computer hardware improves, the lines between
applications of computer graphics to fields like design interactive and non-interactive graphics are being
and manufacturing, entertainment, and medicine. blurred. There are dramatic improvements in real-
time animation, especially in the areas of games and
Areas related to computer graphics are image process-
system simulations (e.g. flight simulators). As this
ing, and image analysis or computer vision. In image
continues, there will be fewer applications of graphics
processing, the input and output are both images. The
that require non-interactive batchor background
work that is done on these images is to enhance the
processing.
information that they contain. This process may
improve the balance of the image colors, or may
Some Representative Uses of
sharpen the contrast. In image analysis or computer
Computer Graphics
vision, the process is the reverse of what is done in
graphics, since an image is analyzed and a description VISUALIZATION
of the environment it depicts is created. Visualization is a very broad term that includes the
creation of images for science, business, and many
The balance of this article willgive an overview of
other applications. The basicidea is to use colortheory
the major trends and issues in computer graphics.
and design to present information in a way that effi-
A more detailed discussion of the field can be found in
ciently and effectively displays large amounts of data
graphics textbooks (e.g. Foley et al., 1990), journals
to improve understanding, reveal trends, or display
(ACM Transactions on Graphics and IEEE Computer
phenomena.
Graphics & Applications), and major conference pro-
ceedings (e.g. Eurographics, GRAPHICON, Graphics In science, experimentation with natural systems and
Interface, Nicograph, and ACM SIGGRAPH). computer simulations of them produce large amounts
of data. Visualization allowsa user to capture and dis-
play this data in a graphical format to give the scientist
Interactive vs. Non-interactive Graphics a better understanding of the forces at work. For exam-
The choice between interactive and non-interactive ple, an animated sequence of warm and cold water
computer graphics depends on the application. Inter- mixing can represent direction of water movement
370 COMPUTER GRAPHICS:
PRINCIPLES

with an arrow, water velocity by the arrow size, and faces eliminate the need to learn and remember the
temperature by arrow color for various data collection typed commands that once made using the computer a
locations. This animation can yield a better under- daunting task.
standing of how fluids mix and how energy is trans-
ferred from hot to cold water. ANIMATION
The most familiar graphics application is animation;
In medicine, graphics is used to enhance X-rays or
however, computer-generated animated movies are
other scanned data. Advanced systems will use this
only one of the uses of animation. Computer-gener-
data to create a model of the person that allows a
ated animation is also part of training simulators and
doctor to plan and practice a surgical procedure before
videogames. Animation is affecting thelegal system as
the actual operation even begins.
litigants designanimations based on physical evidence,
In business, sales, production, or marketing, data can created to show a jury “what happened.”
be visualized to improve corporate decision-making,
Computer-aided design and manufacturing systems ART
are used to create, test, and set up production of new Some artists use a computer for tasks throughout
products. On the consumer level,visualizations are the entire artistic process, from sketching or ideation,
used, for example, to show the results of a landscaping through the production of prototypes or drafts, and
change, building addition, or change in appearance. then for the final work, which can be a traditional
sculpture or painting, a computer print, or an inter-
GAMES active installation.
Computer games have shown great progress from the
simpleball and paddle games of the 1970s. Today, The Early History of Graphics Technology
computer games have high-quality graphics, produced
From the earliest days of computing, people were inter-
in real time, along with fast-paced user interaction.
ested in having computers draw pictures. Graphs of
These games are produced as either standalone units
data were constructed on line printers by carefully
for arcades, tabletop units that connect to a television
printing spaces and symbols on successive lines. Com-
or monitor, orsoftware for use on a computer.Exam-
puter-driven cathode ray tube (CRT) displays were a
ples include computer versions of popular board games
part of the output of MIT’s Whirlwind( 4 . v . )Computer
or television game shows, sports or athletic competi-
(1950) and the Sage Air Defense System (mid-1950s).
tions, and combative games thatare frequently in
Input devices that were precursors to the mouse and
futuristic settings.
lightpen were also part of early computer systems.
VIRTUALREALITY Ivan Sutherland was a pioneer of interactive computer
Computer graphics plays a large role in virtual reality graphics when he developed the “Sketchpad” drawing
systems, although sound and movement also come system (1963). This system included input and inter-
into play. The basic idea of virtual reality is to create active techniques for creating line drawings, includ-
the illusion that the user is in another environment, ing pointing, dragging, and icons, that are still in use
through the use of images, movements, and sounds. today. This system also useda hierarchical method for
The user can interact with this environment through a building objects from simpler components that still
number of specialized input devices. Images can be influences software.
displayed on a set of large screens that surround or
Inthemid-l960s, computer graphics was being
partially surround the user or on very small displays
applied to design and manufacturing tasks. Computer-
mounted in such a way that the user views them from
aided design (CAD) and computer-aided manufactur-
very close up. The goal of virtual reality systems is to
ing (CAM) developed out of the realization that the
give users the impression that they are really in the
computer could help with these drawing intensive
world created on the computer.
activities.Projects were developed to help with car
design (General Motors), and lens design (Itek).
GRAPHICALUSERINTERFACES
Computer users now expect that software will have an Even though graphics showed great potential, there
interface that makes it easy to use. Interaction with were limitations on its widespread use. Graphics hard-
computers is now commonly done through graphical ware was very specialized and expensive. Standards
user interfaces that present files and directories as did not exist, so it was difficult to write programs for
icons, that allow data to be moved or copied by drag- these devices, and the results were not portable to dif-
ging icons around the screen, and that request infor- ferent systems. Further, the slow speed of graphics
mation through buttons and check boxes on dialog hardware made it difficult to produce interactive sys-
boxes that pop up when needed. These graphical inter- tems with reasonable and consistent response times.
COMPUTER
GRAPHICS:
PRINCIPLES 371

Early hardware tocontrol a graphics display was much have only one color phosphor, but in a color monitor
different from that used today. In the 1960s, displays each pixel is a triad of red, green, and blue phosphor.
were monochrome and vector-based, with all images The image on the screen is composed of pixels ina grid
drawn as a set of lines. A full display system consisted typically about 640 rows of 1,024 pixels each, though
of a display processor, a display list, and a CRT. The monitors are available that can display over 16 times
display list stored a series of points representing the this number of pixels. Monitors will typically refresh
ends of the lines to be drawn and the sole task of the image 30 to 60 times a second. As part of these
the display processor was to draw repeatedly those display systems, there is a frame buffer that contains
lines on the CRT. Changing the image on the screen enough memory to hold the value to display for each
required changing the points stored in the display list. pixel, and a control unit that translates these values
CRTs, both then and now, create an image with a into the voltagesneeded to produce the correct
phosphor and an electron beam. To draw aline on the amount and color of light. Changing the image dis-
played on these systems is now as simple as changing
screen, the electron beam is deflected along the path
of the line. As the electrons strike the phosphor, it is the values stored in this frame buffer.
energized. This additional energy is then released by Hardcopy technology also includes both vector and
the phosphor as light. Over time, this light diminishes raster devices.Plotters will create their output as a
as more and more energy is released. The phosphor’s series of lines in much the same wayas a vector
energy must be refreshed at least 30 times a second or display. These high qualitydrawings are typically used
the viewer will be able to perceive the dimming of the in design, architecture, and artistic applications.
phosphor and the image will appear to flicker. Printers and film recorders operate like raster devices,
One problem with vector-based displays is that, as the producing discrete locations of color on paper or film.
complexity of the image increases, it takes longer to
get back to the start of the list to begin redrawing the Realistic Image Generation
image. If this time gets long enough, the phosphor’s
The creation of a realistic computer graphics image
energy may have decayed enough for the image to
involves a number of steps. The coordinates of the
begin to flicker. Due to the speed limitations of early
world are chosen, objects are defined and placed into
computers, an image did not have to be very complex
this world, the location of the “viewer” is set, and a
for this to become a problem.
window is specified identifying the part of the scene
In the late 196Os, Tektronix developed an alternative that isvisible.Once this is done, software will now
strategy called the direct-view storage tube (DVST). In determine what part of the world can be ignored
this technology, there was a special mesh near the because it is not visible, and then draw the rest of the
phosphor that could store the image being displayed. objects based on their definitions. This process takes
This mesh would continually attract electrons to the into account where light sources are located as well as
phosphor needed to display the image, so it was con- how light energy may reflect off objects in the scene.
stantly refreshed. When a new image was to be dis-
There are two major stages in computer graphics. The
played, the mesh would be “erased”causing the screen
first stage is the description of the world, and is called
to flash before the new image was drawn.
modeling. The second stage is the drawing of the
world, and is called rendering. The next sections will
Modern Graphics Hardware
cover these two steps in greater detail.
There are two kinds of graphics hardware: softcopy
and hardcopy. The first category includes devices that MODELING
produce output that can change. Display and pro- C-ncepts. Before a computer can create an image,
jection units are in this category because the image descriptions must be developed for all of the objects
that is drawn on the screen is not permanent but that are toappear in the image. The elements of these
changeable. The second category includes devices that object descriptions can be simple or complex depend-
produce fixed output, typically on paper and film. ing not only on the detail in the object but also the
Printers (q.v.), plotters, and film recorders fall into method of description. Model descriptions can be
this category. created by hand using a plain text editor to enter the
Display devices used today have their origin in the mid- model dataor by software that allows interactive
1970s, and usea technology called raster graphics. As specification while a crude depiction of the model is
in televisiontechnology, an image is created by lighting displayed. Manyof the models used in graphics are
discrete spots of phosphor, each called a pixel (short highly mathematical and rely on theequations of lines,
for picture element), and letting the eye merge them planes, circles, spheres, ovals, and complex curves
into a picture. In a monochrome monitor, these pixels and surfaces.
372 COMPUTER
GRAPHICS:
PRINCIPLES

Thedefinition of objects istypically done in some Additional properties may be specifiedforobjects


Cartesian coordinate system. An object can be defined based on theneeds of the model typeor onthe render-
in its own system that is then mapped into another ing method to be used.
world coordinate system that all the objects share, or
the objects can be defined in the world coordinate
Modeling two-dimensional objects. Two-dimensional
system directly. This choice depends in part on the objects include simple objects such as circles, lines,
model, anymodeling software being used, and the and polygons, as well as more complex curves. Many
capabilities of the rendering program that will create
of these, however, can be described through simple
the image.
mathematical equations. This section will look at the
Models can be hierarchical, defining a collection of issues involved in modeling these objects.
simple objects and then using those to define larger and Circles can be specified by their center point and
more complex objects. An example of this would be a radius. An arc is a portion of circle, and usually has
model of a bicycle that had a simplewheel object the additional parameters of starting and ending radii
defined that was then replicated for the front and back with the arc conventionally drawn counterclockwise
wheels. Models can also be functionally based, giving between these two angles. An oval or ellipse can be
the parameters necessary forcalculations that aredone specified by two centers of curvature and a length. All
when the image is being rendered. This data amplifica- points whose sum of distances to both centers is equal
tion technique is commonly used in modeling natural to the specified length are on the ellipse.
phenomena because these objects are so complex that
to specify all of the detail would be too cumbersome Lines can be specified as a starting and ending point,
and would produce enormous amounts of data. or as the coefficients of the equation of a line. A poly-
gon is specified as a list of points that are the vertices
of the polygon. The edges of the polygon are the lines
Object attributes. Each object that is displayed has between successive points on this list, and the poly-
parameters that determine its position and size, aswell gon is closed by also drawing an edge from the last to
as other parameters that determine its appearance. the first point, instead of duplicating the first point at
For simple objects drawn as lines, attributes specify the end of the list. Some of the algorithms for draw-
the color and whether the lines are solid or dashed in ing a polygon may assume that the polygon is convex
some fashion. Text attributes include the font type (so that a straight line between any two points inside
(e.g. Courier, Helvetica) and the character style (e.g. the polygon is entirely inthe polygon as well)and does
bold, italic). See TYPEFONT. not have edges that cross each other.
As objects become more complex, wehave more Two-dimensional curves can be approximated by a set
parameters that can be specified.For three-dimen- of short lines, or can be specified by mathematical
sional objects, we typically specify the following types +
equations, for example, y = x’ - 3 x 5 . This, how-
of properties: ever, only allows creation of simple curves. More
elaborate curves are possible by using bicubic para-
Reflectivity What portion of light that strikes an metric functions.
object reflects off it? Is the reflection sharp like a
There are a large number of different styles of bicubic
mirror (specular) or dulllike metal? Does the
parametric functions, but all have some common
reflectionstay focused, or does itdiffuse and
features. They all require that the user specify some
spread?
set of controlling data for the curves. This data is
Refractivity What portion of light that strikes an typically a set of points that control the location of the
object refracts throughit? How much does the curve. These control points and a set of blending
refraction shift or bend the light (as a pencil in a functions are used to determine the curve location.
glass of water appears bent)? Is the object trans- Fig. la shows a set of four control points and the
parent like clear glass or translucent like tracing resulting curve. Fig. Ib shows what happens if one of
paper? these control points is moved.

Absorptivity How much of the light energy Bicubic parametric functions differ according to their
striking an object is absorbed by the object and blending functions. Some will interpolate the curve
neither reflected nor refracted? through the first and last control points, so that they
are on the curve; others do not. Some exhibit local
Texture Does the object have a smooth or rough control so that moving a control point will onlychange
surface? If rough, is there a pattern to the rough- part of the curve, while others exhibit globalcontrol so
ness or is it random? that each control point will influence the entire curve
COMPUTER
GRAPHICS:
PRINCIPLES 373

A =V ~ - vzwY
W ~

B = VZWX - V,W,

c = vxwu- VU"?.

Figure 1. Bicubic parameterfunctions.


.. The valueof D is determined by substituting one of the
points ( P I , P2, or P3) into the plane equation and solv-
ing for D.
There are two methods that can beused to define
but have the greatest effect on just a portion of it. For convex planar polygons that have more than three
example, if thereare five control points defining a sides. In the first, the polygon is divided into triangular
curve, with local control the first third of the curve pieces and those are specified individually.In general,
wouldbe determined by points 1 through 3, the you need M triangles for a polygon with n 2 sides.+
middle of the curve by points 2 through 4, and the last The second alternative would be to specify all of the
third of the curve by points 3 through 5 . With global vertices. Thismight appear to be the simpler alter-
control, all fivepoints would influencethe entire shape native; however, it can be tricky to get four or more
of the curve, but points 1 and 2, for instance, would vertices of a polygon that are all in the same plane. As
have their greatest effect on the beginning of the curve the fourth or higher points are specified, it is likely that
and points 4 and 5 on the end. they are either above or below the plane specified by
the first three points unless they are calculated from a
The choice of blending functions is usually determined plane equation. Calculating additional points would
by the needs of the model. If a complex curve will need require specifying two of the three( x , y , z ) components
to be modeled by multiple sets of control points, the of the point and then solving for the third.
blending functions should interpolate the first and last
control points so it is easyto have the partsof the curve Curved surfaces can bedefined by using a three-
join. If the continuity of the curve at these join points is dimensional version of bicubic curves. In this case, we
highly critical, it may be easier to use blending func- specify sets of control points along two directions that
tions with localrather thanglobal control (see SPLINE). are perpendicular to each other. One curve surface
would typically be defined by a set of 16 control points
logically arranged into four rows of four control points
Modeling three-dimensional objects. Simple three- each. The blending functions are then used to inter-
dimensional objects can be definedlike their two- polate in two directions between the control points
dimensional counterparts. A sphere can be defined by along the rows and columns. Curved surfaces can also
specifying its center and radius. A box can be defined be approximated by a set of small planar patches. For
by specifying the locations of its eight vertices. If we highly curved surfaces, this approximation can get
place restrictions on the orientation of the box, so that quite large, since the planar patches must be small if
all of its faces must be perpendicular to either the x , y , the result is to look reasonable.
or z axis, then we need to specify only two vertices
that are opposite each other, because the other six
vertices can be derived from these two. Modeling of natural phenomena. There are anumber
of different techniques used to model natural phenom-
A planar surface can be uniquely definedby specifying ena. One of these uses probabilitiesto model the growth
three non-collinear points. This plane can be con- of plants and trees. The main research into probabilistic
sidered infinite in all directions or can be triangular- models of growth are those of Phillipe de Refie and his
bounded by the lines connecting these three points. colleagues (1 988), a group composed of agronomists,
That is, three points ( P I ,P2, and P3) uniquely specifya botanists, and computer scientists. Their model con-
+ + +
plane with the equation Ax By Cz D = 0. The siders the growth point of a plant and four possible
first step to deriving this plane equation is to determine events that can occur in one time unit. The bud can
the normal to the plane. The normal is a vector (line) become a flower or fruit and then die; it can go into
that is perpendicular to this plane. The normal is the a dormant state; it can abort or die; or it can grow,
cross product of the two vectors P1 P2 and P1 P3. If we producing a new branch section. All of these are con-
call the first vectorv, its x,y, and z components v x ,vu, trolled by predetermined probabilities that the user
vz are the difference of the x, y, and z components of
must specify.
P1 and P2. The second vector w is determined by the
difference of P1 and 9 . The normal ( A , B, C) is then The model also requires that the user provide the age
given by of the plant and, for each branch, the rate atwhich the
374 COMPUTER GRAPHICS: PRINCIPLES

branch grows, the maximum number of buds pro- present, or encourage growth in high light areas. The
duced by each branch, the length and diameter of the growth of a plant can also be altered by either external
branches, and the developmental trend of the branch obstructions orotherparts of the plant (internal
(either vertical or horizontal). obstructions).
A grammar-based approach to modeling plant growth Fire, explosions, and fireworks are another class of
was proposed by Aristid Lindenmayer as a way to de- natural phenomena, and Bill Reeves has developed
fine formally the growth that is observed in filamen- particle systems to model them. In his research,
tous organisms. These grammars ( q . ~ . )now , known as Reeves models a particle as an entity that has mass,
L-systemsor Lindenmayersystems, were used to define color, velocity, direction, and duration. By combining
the interaction between cells in these organisms and to a group of particles that start from a central point and
definebranching patterns (see FRACTALS). L-systemsare move outward, arealistic fireworks burst can be simu-
grammars for generating strings whose productions lated. A cylinder-shaped group rising from a plane
( 4 . v . )may allexecute in parallel to model the process of produces a fire. Particles emanating from the top of a
growth of an organism. sinusoidal wave produce a foam-like appearance.

Pauline Hogeweg takes these L-systems and reverses Physically-based modeling. The increasing speed of
the process, using their simple parallel grammars to computer systems allows production of high-quality
produce tree-like images. In her work,she generates a computer graphics images through the use of physi-
string from the grammar, and then renders it with cally-basedmodels.Prior tothe advent of reason-
simple parameters. Each symbol is represented as a able computer power, animation sequences were very
vertical line, and each branch section causes a rotation unrealistic because all calculations of how objects
of the axes. moved had to be done with approximations to actual
MasakiAono and Tosiyasu Kunii enhance these equations.
L-systems by the addition of a geometry specified by a Images and animation sequences of cloth being draped
limited number of branching angles. This work is also over an object, chains dangling between two poles, and
interesting in that it attempts to model natural effects indentations of elastic objects can now be produced
of sunlight and wind with “attractors” that pull the with amazing realism.
ends of the branches like magnets. Unfortunately, this
technique cannot model the inhibition of growth on Computers are now powerful enough to treatcloth not
the shadowed side of the plant, nor can it account for as a single entity, but as a collection of constituent
environmental objects that may partially or completely woven threads. Jerry Weil has developed a technique
block the light. that is based on seeing a thread as lying in a catenary
curve (the shape of a hanging chain). To model, for
PrzemyslawPrusinkiewicz ( 1996) also incorporates example, a cloth lying over a chair, the points of the
both two- and three-dimensional interpretations by the cloth that contact the chair are fixedin space. The
addition of special symbols into the L-system gram- threads between these points are then mapped into a
mars. These special symbols control a two- or three- catenary curve. Other threads intersect these caten-
dimensional turtle thatdraws the plant image. In turtle ary-shaped threads, fixing more points for these new
geometry, aturtle is commanded to movein vari- threads. The process repeats until all of the threads
ous directions, with its pen either up or down, drawing have been placed. There could be thousands of threads
lines as it moves in the latter case. With the correct running the length and width of even a small piece of
sequence of symbols, the turtle draws flowers, leaves, cloth, leading to millions of intersection points on the
and entire plants. Prusinkiewicz’s work continues to fabric, whose locations must be determined.
expand the application of L-systems, and Hans Mein-
hardt now uses them to model sea shells. Constraint-based modeling is used in computer
graphics for modeling movement of thehuman
Three-dimensional graph grammars were developed skeleton, chains, and other physical objects. The idea
by Jeffrey McConnell(l989) tomodel growth of plants is that it is difficult to specify a coordinate at which a
notonlyin an ideal environment, asmost other ball wouldbe resting on a table, but it would be simple
models assume, but alsoin anatural environment. to constrain the ball to be on the table and to have
Because of the three-dimensional nature of the model, the computer calculate the correct location. For the
the positions of the branches relative to each other, human skeleton, constraints specify the connectivity
the sun position, and external obstructions can be of bones at joints and the directions and angles of
determined. Sunlight calculations can be done to find movement. In modeling the movement of a skeleton
how much light falls on a particular branch, and the across a terrain, the system will set bone positions
system can then slow the growth if not enough light is to best satisfy the constraints placed on the system.
COMPUTER GRAPHICS: PRINCIPLES 375

Solids modeling. In the discussion of three-dimen-


N
sional objects, we assumed they would be described by
their outer surfaces. This is fine for applications that L t R
require only the production of images, but systems de-
signed to manipulate or test the created objects need an
alternative representation. Solidsmodeling treats all
objects as solids, clearly identifyingthe inside and out-
side of each object, which allows tests for stress and
obstruction as well as production of parts lists. This is
the underlying model for CAD/CAM systems.
Figure 2. Specular reflection.
In solidsmodeling, the system has a collection of
primitive objects that can be scaled, rotated, and trans- depends on the angle between the reflected vector,
lated. Complex objects are built by applying Boolean R, and the vector pointing at the viewer’s position, V .
operations to simpler objects. A washer can be created If these two coincide, the highlight is bright; the
by subtracting a short narrow cylinder from a short farther apart they are, the dimmer the highlight.
wide one. A door hinge pin can be created through
A simplified version of the light calculation is given by
the logical union of a wide, short cylinder with a tall,
narrow one.
+ +
the formula I = I, I,[kd(N . L) k , ( V . R)n], where
I, is the intensity of the light source, kd is a diffuse
reflection coefficient, k , is a specular reflection coeffi-
RENDERING
cient, and n is the specular reflection exponent (when
Windowing. Since large drawings cannot fit in their
n is 1, the highlight is broad with blurred edges, and
entirety on display screens, they can either be com-
as n gets larger, the highlight is narrowed and has
pressed to fit, thereby obscuring details and creating
sharper edges).
clutter, or only a portion of the total drawing can be
displayed. The portion of a two- or three-dimensional
Painter’s and Z-buffer algorithms. Inthe Painter’s
object to be displayed is chosen through specification
Algorithm, each object is broken into planar piece
of a rectangular window that limits what part of the
approximations that are arranged as separate units,
drawing can be seen.
according to their distance from the viewer. The algo-
A two-dimensionalwindow is usually defined by choos- rithm now works like a painter applying paint to a
ing a maximum and minimum valuefor its x- and canvas-if something is blocked by an object in front,
y-coordinates, or by specifying thecenter of the the painter just paints the foreground object over it.
window and giving its maximum relative height and The piece farthest from the viewer is drawn, then the
width. Simple subtractions or comparisons suffice to second farthest, and so on. If a piece will ultimately be
determine whether or not a point is in view. For lines visible, nothing will be drawn over it; however, if it is
and polygons, a clipping operation is performed that not entirely visible, a piece drawn later will cover all or
discards those parts that fall outside of the window. part of it. So the picture is drawn back to front.
Only those parts that remain inside the window are
In the Z-Buffer Algorithm,there is a Z- or depth-buffer
drawn or otherwise rendered to make them visible.
that has one value for each pixel in the frame buffer.
Thesevalues represent thedepth of the object of
Lighting models. As a prelude tothe discussion of
which the pixel is a part. For example, if an area of
shading models, it is necessary to discuss the way in
four pixels square is part of the first object, which is 4
which the effects of incident light can be quantified for
units away from the viewer, all of the Z-buffer values
image production. The first type of illumination to be
for these pixels would be set to 4. As each new pieceis
considered is ambient light, I,, present in the envi-
drawn, its depth at thepixel location is compared with
ronment. Since ambient light has no focus or direc-
the Z-buffer value. If the buffer value is greater, this
tion, this is treated as an additive factor for all objects.
piece is in front and can be drawn (and the 2-buffer
The second type of light is reflected light, which varies
value is updated). If the buffer valueis smaller, the old
depending on the location of the light source, the
object is closer, so the current one is not drawn at that
object, and the viewer. From Lambert’s cosine law of
point. The benefit of the Z-buffer algorithm is that it is
physics, we know that the intensity of the diffusely
not necessary to sort the pieces, as the Z-buffer does
reflected light is related to the scalar (dot) product of
that implicitly.
the surface normal, N, and a unit vector pointing
toward the light source, L. The last type of illumina- These two algorithms show the common space vs. time
tion is specular reflection, which produces the high- trade-off of computer science. The Painter’s Algorithm
lights on an object. Specular reflection (Fig. 2) is slower because of the sorting, but it doesn’t require
376 COMPUTER GRAPHICS: PRINCIPLES

the extremely large memory of the Z-buffer.With previous methods are not able to handle these types
the lowcost of computer memory, however, many of objects. Ray tracingtakes the previous methods one
graphics controllers include extra memory specifically step further in allowing raysof light that strike a surface
for the Z-buffer. to reflect and refract among all the objects in the scene.
When the viewer location and pixel location on the
Flat
shading. A problem with the Painter’s and
Z-Buffer Algorithms is that they ignore the effects of screen are considered, they define a line or ray into the
the light source and use only the ambient light factor. scene to be rendered. This ray is traced into the scene,
Flat shading goes a bit further and includes the diffuse where it can strike a mattesurface object, and the pixel
color is determined as in Phong shading. If the ray
reflections as well. For each of the planar pieces, an
intensityvalue is calculated from the surface nor- strikes a reflective or refractive surface, the laws of
mal, the direction to the light, and the ambient light optics are used to determine the new direction of one
and diffuse coefficient constants. Since none of these or more rays that would result. These new rays are
then traced recursively until they leave the scene or
change at any point on the piece, all of the pixels in
strike another surface, a computationally complex
that piece will have thesame intensity value. The
process that quickly degrades as the number of
resulting image will appear to be faceted, with ridges
reflective and refractive objects increases.
running along the boundaries of the pieces that make
up an object (see Fig. 3a, Color Page CP-7).
Radiosity. Ray tracing improves imagery, but suffers
Couraud shading. In 1971, Henri Gouraud developed from an inability to handle reflections between diffuse
an interpolation method that removed some of the surfaces. Most people have experienced reflections
discontinuities between pieces and also produced more between two diffuse surfaces when, in a bright room,
realistic highlighting (Fig. 3b, ColorPageCP-7).The the color of the rug affects the color of the walls or,
problem with the previous method is that a single when wearing a red shirt, one appears to be blushing.
normal is used for a patch thatapproximates a curved Radiosity, developed by MichaelCohen and Don
surface. Gouraud’s method keeps the normal vector Greenberg from CornellUniversity, treats lightas
from the actual surface for each vertex of every piece. energy instead of a vector, and considers how that
This means that the normals at the vertices of a patch energy is transferred between surfaces based on their
can be different from each other, but thatthe normals color and proximity. Radiosityisappliedin three
where two patches touch will be the same since they stages, and, based on whattype of changes occur, only
come from the actual surface at that point. some of the stages require recalculation. If the viewing
When each piece is being shaded, theintensity or color location changes, only the last rendering stage is
at each vertex is calculated, and then the system inter- redone. If an object in the scene is moved, all stages
polates between them for the interior points of the are recalculated. Since early stages are the most com-
piece. In flat shading, there is the problem of adjacent putationally complex, the less they are redone, the
pieces beingshaded different colors. In Gouraud shad- more time is saved. As can be seen in Fig.4 (Color Page
ing, two pieces that share an edge will also share the CP-7), radiosity produces remarkable realism.
normals at the end points of this edge and therefore
have the same color at these end points. Hence when Texture mapping. Early computer-generated images
the two pieces are being shaded the colors that are used shaded objects that had unnaturally smooth
interpolated along this shared edge will be the same, surfaces. To produce a textured surface using the tech-
and the edge will not be noticeable. niques discussed would require creating an excessive
number of surface pieces that follow all of the com-
Phongshading. Gouraud shading improved onthe plexities of the texture. An alternative to the explosion
images that were produced by flat shading, but the of surfaces would be to use the techniques of texture
highlighting was stilloff. In 1975, Bui-TuongPhong mapping. Texture mapping is a technique used to
improved on Gouraud shading by interpolating the paint scanned images of atextureontothe object
normals across the surface, as opposed to the inten- being modeled. Through an associated technique,
sities (Fig. 3c, Color Page CP-7). Thisleads to finer and called bump mapping, the appearance of the texture
more precise highlights. The differences among these can be improved still further.
three shading methods can be seen inFig. 3, Color
Page CP-7. Surface painting vs. bump mapping. Surface paint-
ing simply adds an image to the surface of an object.
Ray tracing. In themethods examined so far, all objects If the image isitself a texture, it makes the object
are assumed to have a matte or dull finish. None is appear textured. This technique requires the produc-
reflective, translucent, or transparent, because the tion of a texture file containing color values that have
COMPUTER
GRAPHICS:
PRINCIPLES 377

traditionally been obtained by scanning a picture of a Static vs. functional maps. Up to this point, alldis-
real object with the desired pattern. cussion has assumed that the texture is static, having
The shading algorithm is altered to use the texture file been scanned into a file.This places restrictions on
for determining the color of points on the surface. To the texture.
do this, a mapping function is produced that converts An alternative is a functional texture, i.e. the encoding
surface locations into the range of the texture. As the of a texture in an equation-based routine. Surface
surface is shaded, the locations on the surface, cor- indices are used as parameters for the equations. This
responding to pixels in the image, are mapped into the removes the need to store the texture (a space reduc-
texture’s space, and the texture value at that point is tion), but also reduces the speed of image production, as
used as the object’s color. This is not normally a good the function is likely to be more expensive to compute
solution, since specular highlights are not affected; the than a table look-up in an array (a time increase). This
resulting images appear to be flat surfaces that have trade-off is tempered by the ability to alter system
had pictures painted on them. parameters dynamically, allowingthe texture toevolve
An obvious wayto include specular highlighting would based on the natural demands of the image. Addition-
be to use the texture to modify the surface definition, ally, the texture is now potentially infinite in all direc-
but, as was mentioned, this is complex and quickly tions, which eliminates scaling or cycling through a
explodes the amount of surface information that needs static texture that is used to cover an arbitrarily large
to be stored and accessed. The alternative is to treat surface.
the texture as a b u m p m a p that modifies the surface Functional texturing has been taken to a successful
definition at a single point for only the brief instant extreme by Geoffrey Gardner (1 985), who produces
that it is being rendered. entire images based on a single formula, with param-
Where texture painting techniques alter the color of eters altered to produce mountains, clouds, and trees
the surface based on the values in the texture, bump (see Fig. 5 , Color Page CP-7).
mapping alters the value of the surface normal at the
point. When the bump map turns the normal away ANIMATION
from the light direction, this darkens the location; Animated cartoons were the hallmark of Walt Disney,
conversely, when it turns the normal toward the light, whose studio produced a number of classic films. This
the location is brightened. work, called cel animation, first requires the produc-
tion of an overall storyboard. From that, individual
The problem with bump mapping appears with objects scenes are created, with the animator drawing only
in profile. Since its surface is not actually changed as key frames, an in-betweener drawing the frames con-
an object is rotated, the highlighting of the bumps necting the key frames, and an inker adding the proper
appears to be correct until the surface reaches its pro- colors. The characters are drawn on acetate sheets
file, when the bumps disappear. calledcels thatare laidover the background and
photographed to make the animated scene. Clearly,
Two-dimensional vs. three-dimensional textures. The
this is a labor-intensive process.
foregoing discussion assumes a two-dimensional tex-
ture wrapped around a surface. This requires special Computers havehelped to automatethe animation
conditions to be present in the map, depending on the process by taking over the in-betweening and inking
surfaces to be textured. If cylinders are to be textured, processes. It is more common, however, for the
the texture must be continuous so that, when the tex- computer to control the whole process (see COMPUTER
ture is wrapped around the cylinder, no seam appears ANIMATION).The animator describes the objects in the
where the ends meet. This is also required if the surface scene and how they are to move, and the computer
is so large that thetexture needs to be repeated to cover takes over from there, moving each object to its new
it. The requirements for texturing a sphere are even position before rendering the next image.
more demanding.
Craig Reynolds (1987)has taken this one step further.
One solution to this problem is use of a three-dimen- His research into flocks, herds, and schools indicated
sional texture, as is done in the work of Peachy (1 985) that the members follow three simple rules: (1) stay
and Perlin (1985). Since these textures show proper close to the center of the flock, (2) match velocity
changes in all directions, a surface can be textured with the neighbors, and (3) avoid collisions. His system
by “placing” it into the three-dimensional texture. This then creates a set of actors, each adhering to these
is done by mapping the surface locations into the three rules, and allows them to move based on their
texture’s three-dimensional space. This eliminates the own limited perception of the world. Theresulting
problem of texture seams, but increases the space animation sequences show extremely realistic flocking
required to represent the texture. behavior. With systems based on independent actors,
378 COMPUTER
GRAPHICS:
STANDARDS

there is even less human effort. For some control over 1989. McConnell, J. J. “Botanical Models Based on
Three-Dimensional Attributed Graph Grammars,“Proceedings
the result, it is possible to put in lead actors whose of the Twentieth Annual Pittsburgh Conference (Pittsburgh,
movements are scripted, which help to direct the other PA,4-5 May).
independent actor motions. 1990. Foley, J., van Dam, A,, Feiner, S. K., and Hughes, J. F.
Computer Graphics: Principles and Practice. Reading, MA:
Addison-Wesley.
FRACTALS 1990. Hill, F. S. Computer Graphics. New York: Macmillan.
Fractals are not a new area of research, but rather an 1993. Watt, A. H. 3 0 Computer Graphics. Reading, MA:
Addison-Wesley.
old mathematical area that has received new life with 1994. Foley, J., van Dam, A., Feiner, S. K., Hughes, J. F., and
the advent of computer graphics. The term fractal is Phillips, R. Introduction to Computer Graphics.Reading, MA:
derived from the fact that certain objects behave as if Addison-Wesley.
1995. Meinhardt, H. The Algorithmic Beautyof Sea Shells. New
they have fractional dimensions. A line is one-dimen-
York: Springer-Verlag.
sional, but a coast line is greater than one-dimensional 1996. Prusinkiewicz, P. and Lindenmeyer, A. The Algorithmic
and not quite two-dimensional because, at finer and Beauty of Plants, 2nd Ed. New York: Springer-Verlag.
finer resolutions, the coast line gets longer and longer
Jeffrey J. McConnell
without consuming any more outer area. As a one-
dimensional line forms a tight spiral into the center of
a circle, it becomes more like a plane. Mountains
operate similarly between two and three dimensions,
and clouds between three and four dimensions.

Conclusion
Computer graphics has a unique rolein computer
science because of its ability not only to illuminate Computergraphicsstandards serve one of several
information, simulate complex processes, and make purposes. Application Programming Interfaces(APIs)
computers easier to work with, but also to entertain. provide a foundation on which to build graphics appli-
It is likely that graphics will have an increasing impact cations. They typically provide toolkits of useful primi-
on how people work, shop, interact, learn, and func- tive graphical elements and thereby relieve the appli-
tion in society. This trend will continue as home com- cation of the burden of managing both graphical data
puters and access to the Internet increase in capability and physical graphics devices. Historically the goals
and decrease in cost. At the same time, graphics pro- of such APIs were to support application portability
fessionals will continue to advance the abilities of com- across computing systems and also support operability
puters to createrealistic images. This will put people in of applications with different graphics devices (often
a position of having to decide what is real and what is called “device independence”). Today both goals are
created by computer. The impact of this on law, less important because APIs (and applications) are
business, and human relationships will be far-reaching. typically platform dependent and because graphics
devices in common usage are less diverse. Graphical
Bibliography file formats (also called graphical metafiles), on the
1985. Gardner, G. Y. “Visual Simulation of Clouds,” Proceedings other hand, provide a way to describe graphical objects
of SIGGRAPH ’85 (San Francisco, 22-26 July), in Computer such as pictures or interactive virtual worlds so that
Graphics, 17, 3 (July). New York: ACM SIGGRAPH. different platforms that exchange descriptions can
1985. Peachy, D. R. “Solid Texturing of Complex Surfaces,”
Proceedings of SIGGRAPH ’85 (San Francisco, 22-26 July), in
create equivalent pictures and behavior from them.
Computer Graphics, 17, 3 (July). New York: ACM In addition, specialized graphical interfaces and meta-
SIGGRAPH. file formats can bedefined at any of severallevels
1985. Perlin, K. “An Image Synthesizer,” Proceedings of of abstraction between applications and graphical
SIGGRAPH ’85 (San Francisco, 22-26 July), in Computer
Graphics, 17, 3 (July). New York: ACM SIGGRAPH. devices.Thefollowing sections describe computer
1986. Wed, J. “The Synthesis of Cloth Objects,” Proceedings of graphics standards, and Table 1 lists the International
SIGGRAPH ’86 (Dallas, TX, 18-22 August) in Computer Organizationfor Standardization (ISO) publications
Graphics, 20, 4 (August). New York: ACM SIGGRAPH. defining them.
1987. Reynolds, C. “Flocks, Herds, and Schools,”Proceedings of
SIGGRAPH ’87 (Anaheim, CA,27-31 July) in Computer
Graphics, 21, 4 (July). New York: ACM SIGGRAPH.
1988. RefTye, P. de, Edelin, C., Francon, J., Jaeger, M., and
Computer Graphics Reference Model
Puech, C. “Plant Models Faithful to Botanical Structure and The Computer Graphics Reference Model(CGRM) is a
Development,” Proceedings of SIGGRAPH ‘88 (Atlanta, GA,
1-5 August), in Computer Graphics, 22, 4 (August), 151-158. special International Standard intended to be a model
New York: ACM SIGGRAPH. for the development of future standards. A reference
COMPUTER
GRAPHICS:
STANDARDS 379

41
Table 1. Common graphicsstandards.
Application
Standard Number Uses
...................
CCRM ISO/I EC 11072 Information technology, computer Application
graphics, computer graphics Audit trail interface
reference model metafile

C KS lSO/lEC 7942 Information technology, computer


graphics and image processing,
graphical kernel system (CKS);
Part 1: Functional description;Part
Computer graphics
environments - -.
Data capture
metafiles

A
2: NDC metafile; Part 3: Audit trail;
Part 4: Picture part archive Operator
interface
C KS-3D IS0 8805 Information processing systems,
computer graphics, graphical
kernel systemfor threedimensions
(CKS-3D) functional description Operator

CC M ISO/IEC 8632 Information technology, computer Figure 1. Computer graphics.


graphics, metafile for the storage
and transfer of picture description
information; Part 1 : Functional objects and data using computers. The CGRM itself
specification; Part 2: Character
consists of a set of models that explain important
encoding; Part 3: Binary encoding;
Part 4: Clear text encoding aspects of computer graphics. Fig. 1 is one of these
models that describes the interfaces between computer
CC I ISO/IEC 9636 Information technology, computer
graphics, interfacing techniques
graphics and external objects. The four important
for dialogues with graphical external objects in this model are theapplication, oper-
devices (CCI) functional ator, data capture metafile, and audit trail metafile.
specification; Part 1: Overview, The first of these permits external software to control
profiles and conformance; Part 2: the graphics system through an API; the second allows
Control; Part 3: Output; Part 4:
Segments; Part 5: Input and
human operators to interact with the system; and the
echoing; Part 6:Raster last two permit the storage and retrieval of graphical
information.
PHICS lSO/IEC 9592 Information processing systems,
computer graphics, programmer’s Another key idea of the CGRM isthat computer graph-
hierarchical interactive graphics ics (that is, the area denoted as “Computer graphics
(PHICS); Part 1: Functional
description; Part 2: Archive file
environments” in Fig. 1) can be considered as a series
format; Part 3: Clear text encoding of transformation steps between the application and
operator. This view applies equally to output data and
PREMO ISO/IEC 14478 Information technology, computer
graphics and image processing, input data. On the output side, information is trans-
presentation environment for formed as it flows from the application to the oper-
multimedia objects (PREMO); ator. It is changed from an abstract model into light
Part 1: Fundamentals of PREMO; emanating from a display or into ink on a piece of paper.
Part 2: Foundation component;
On the input side, physically transduced measure-
Part 3: Multimedia systems
services;Part4: Modeling, ments-suchas button presses and relativemove-
rendering and interaction ments-are converted as they flow from the operator
component to the application into abstract models of operator
VRML ISO/IEC 1 4472 Information technology, computer intent. The CGRM identifies five stages of transforma-
graphics and image processing, tions as a series of subenvironments: construction,
virtual reality modeling language virtual, viewing, logical, and realization. It also pro-
(VRML) vides an abstract model of an environment in terms of
PNC ISO/IEC FsCD Portable network graphics processing and data elements.
15498
Graphical Kernel System
model is an authoritative basis for the development of The Graphical Kernel System (GKS) is the oldest of the
standards. It provides a pattern orset of principles that computer graphics standards. Although the standard
they must adhere to. The CGRM defines computer claims to include “allthe capabilities that are essential
graphics as the creation of, manipulation of, analysis for a broad spectrum of graphics, from simple passive
of, and interaction with pictorial representations of output to highly interactive applications,” GKS is, in
380 COMPUTER GRAPHICS: STANDARDS

fact, an API for two-dimensional graphics and is best ment (with W3C,and the IS0 Computer Graphics and
suited fordisplay of static images and applications Imaging Standards Committee JTC l/SC24) of the
requiring primarily discrete input. A three-dimensional WebCGM profile of CGM. WebCGM tailors CGM for
version ofGKS has been defined as an international use overthe World Wide Webas a vector file exchange
standard, but it is little used. and publishing format.
The theoretical basis forGKS was conceived and devel-
oped well before modern window environments ( 4 . v . ) Computer Graphics Interface
came into use, and GKS is therefore not directly com- The Computer Graphics Interface (CGI)is a two-
patible with such systems. GKS assumes that it controls dimensional graphical interface standard defining the
the entire workstation (4.v.) and does not share either functions for control and data exchange between
screen space or input devices with other applications. device-independent (client) and device-dependent
However, workaround modifications can be applied, (device)parts of a graphics system. The CGI isintended
allowing GKS applications to be run in a windowed to provide portability at the device level.
environment.
The CGI is designed to support a wide varietyof clients
Computer Graphics Metafile having very different functional scopes and quite dis-
tinct classes of devices. Althoughthe CGI is most likely
The Computer Graphics Metafile(CGM)is adata to be realized as a subroutine package to operate on
capture metafile that provides a means to store and complete sets of data, a data stream encoding of the
transfer descriptions of two-dimensional pictures in a CGI functionality is also available (data stream proc-
device-independent manner for use by graphics pro- essing is done piece-by-piece as the data arrives, e.g.
duction systems and applications. It contains elements over a network connection).
for describing vector primitives such as lines, arcs, and
ellipses as wellas raster primitives and the appearance The scope of the CGI is quite large, and a full imple-
of primitives through a system of attributes such as mentation of the standard would be overkill for most
edge width, edge color, and edge style. The CGM stan- environments. To reduce the size of an implementa-
dard as a whole contains a rich set of elements from tion, profiles that are subsets of the CGI functions may
which an appropriate set for a particular class of appli- be defined. Three standard profiles-a foundation pro-
cations can be selected by means of a profile. file, a GKS profile, and a CGM profile-are provided as
part of the CGI standard.
CGM supportsthree types of encoding: character,
binary, and clear text. The character encoding (to The architecture of the CGI was determined well
be eliminated in the next republication of the stan- before windowingsystems appeared in the market-
dard) provides an encoding of minimum size that place, and the capability to support windows is not
may be transmitted through character-oriented com- straightforwardly available in CGI. Unfortunately, the
munications services. The binary encoding provides a computer graphics systems level for which CGI was
representation that optimizes speed of generation and designed is the level at which most applications and
interpretation. The clear text encoding provides a other graphics standards would interact with a win-
representation that may be easily read and edited by dow system. This,along with its inherent complex-
humans. It is intended that CGM data will be inter- ity, makes CGI little used except in certain vertical
preted by the application rather than by other stan- markets such as embedded displays for
military
dards, as the particular device usedto render a picture applications.
may not have the exact complement of features as
used for the picture description. The applications Programmer’s Hierarchical Interactive
programmer, who presumably understands the class Graphical System
of displaydevicesavailable,is then responsiblefor
The Programmer’s Hierarchical Interactive Graphical
making trade-off decisions regarding the rendering of
System (PHIGS) is an API that specifies a set of two-
the picture.
and three-dimensional functions for the definition, dis-
The CGM is the most widely used computer graphics play, and modification of geometrically related objects
standard. It is used for picture description and inter- and graphical data. Whereas GKS, CGM, and CGI are
change in many vertical markets including commercial oriented towards static pictures, PHIGS is designed to
aerospace, military aerospace, telecommunications, provide dynamicinterpretation of geometrical relation-
military, automotive and petroleum. In 1998 the CGM ships inherent in a hierarchical model. As such, PHIGS
Open Consortium was formed to guide thefurther is much more suited for applications that require ani,
evolution and adoption of the standard. One of the mated display of structured objects, particularly com-
fist projects of the Consortium was the joint develop- puter-aided design. It is also more suited to and makes
COMPUTER
GRAPHICS:
STANDARDS 381

better use of the advanced graphics capability of sophis- and processing with devices such as data encoders/
ticated computer graphics workstations. decoders and media synthesizers. The management
and coordination of media resources within PREMO
PHIGS manages a central structure store inwhich
is achieved by the MSS framework, which enables
individual structures and their geometric and hierar-
processing resources to be allocated, configured,
chical relationships to other structures may be defined
and organized into a distributed dataflow network.
and edited. A given structure may be referenced by a
number of other structures. To display a picture, the + Modeling, Rendering and Interaction (MRI): this
structure is traversed from its root, and, as each struc- component provides the interface between
ture is referenced, that structure is interpreted relative graphics-driven applications and more general
to the one referencing it. Since model transforms are media data. It describes subtypes of MSS devices
attributes stored as elements in structures, they are for
modeling and rendering data, and basic
interpreted during traversal. This allows a change in facilitiesfor supporting interaction. To support
the position, orientation, or scale of a structure to be interoperability, this component defines a hier-
inherited by all structures that it references. archy of abstract primitives for structuring multi-
media presentations.
Presentation Environment for
Multimedia Objects Virtual Reality Modeling Language
The Presentation Environment for Multimedia Objects The Virtual Reality Modeling Language (VRML)is a
(PREMO)International Standard defines a middleware data capture metafile format fordescribing interac-
framework for distributed multimedia, encompassing tive three-dimensional objects, behaviors, and worlds.
synchronization and other fundamental multimedia VRML may be used on the Internet, intranets, and
services; interoperation of media processes across a local client systems.In particular it is the three-dimen-
heterogeneous network; and integration of synthetic sional graphics format for the World WideWeb ( 4 . v . ) .
graphics with other digital media. PREMO consists of It is intended to be a universal interchange format for
four parts called components and was designed from integrated three-dimensional graphics and multime-
the outset to be extensible by creating new compo- dia. VRMLmay be used in a variety of application
nents. The standard is described using object-oriented areas such as engineering and scientific visualization,
terminology andconcepts (see OBJECT-ORIENTED ANAL- multimedia presentations, entertainment and educa-
YSIS AND DESIGN).The object types provide services tional titles, Web pages, and shared virtual worlds.
(in the form of operations that can be invoked by
VRML is capable of representing static and animated
clients), or have a passive role, for example as
dynamic three-dimensional and multimedia objects
data encapsulations (4.v.). The four components of with hyperlinks to other media such as text, sounds,
PREMO are: movies, and images. It supports an extensibility model
that allows new dynamic three-dimensional objects to
The PREMO Object Model: the first component of be defined allowing application communities to develop
PREMO specifies the object model used inthe stan- interoperable extensions to the base standard. VRML is
dard, and the requirements that a PREMO system
encoded in a clear text format that canbe created and
places on its environment. The object model follows
edited by standard text editors. Current and future
widespread practice, but it also contains a number
applications for VRML include scientificvisualiza-
of features intended specifically to support the
tion ( q . ~ . ) education,
, architectural walkthroughs,
needs of multimedia applications. These include
historical re-creations, engineering prototyping, and
support for active objects, and various modes of
product descriptions.
operation invocation.
Foundation Component:object and data types that Portable Network Graphics
are generic to multimedia ( 4 . v . ) applications are Portable Network Graphics (PNG)is an extensible
defined in this component, including facilities for
file format for the lossless, portable, well-compressed
event management, synchronization, and time.
storage of raster images. PNG provides a patent-free
This component serves asa general-purpose toolkit,
replacement for GIF (Graphics Interchange Format)
providing a number of processing facilities that are
and can also replace many common uses ofRGB in-
needed across a range of multimedia applications.
dexed and truecolor TIFF (TaggedImage File Format).
Multimedia Systems Services (MSS): multimedia Indexed-color, grayscale, and truecolor images are
systems typically integrate a variety of logical and supported, plus an optional alpha channel for trans-
physical devices, forexample input and output with parency information. Sample depths range from 1 to
devices such as video editors, cameras, speakers, 16 bits.
382 COMPUTER INDUSTRY UNITED STATES

The PNG International Standard is designed to work a novel, are all commercial applications. Until manu-
well in online viewing applications, such as the World facturers could figureout how to make computers easy
Wide Web, and is based on a specification developed enough to use, and with appropriate application
by the World Wide WebConsortium (W3C). It is fuuy software, computers were one-of-a-kind machines
streamable with a progressive display option; robust, sold only to government agencies and universities.
providing both fuu file integrity checking and simple
Over the decades, computers have been used to collect
detection of common transmission errors; and can
and store data, to use data to establish what work
store gamma and chromaticity data ondisplay devices
needs to be done by humans and machines, and to do
for improved color matching on heterogeneous plat- analyses to provide insight. The economic case for such
forms. It is designed to be simple and portable; legally work has included reduction in thehuman labor
unencumbered; well compressed; interchangeable;
content of work, the ability to get more productivity
flexible; and robust.
out of factories and many classes of machines in
general, and the capability of reaching more customers
Bibliography
than before. These types of activitieshaveled to
1986. Hopwood, F. R. A., Duce, D. A,, Gallop, J. R., and constant improvements in applications, particularly
Sutcliffe, D. C . Introduction to the Graphical Kernel System
software, and to new forms of hardware that often
(GKS). New York: Academic Press.
1990. Arnold, D. B.,and Duce, D. A. I S 0 Standards for were industry-specific (e.g. ATMs at banks, point-of-
Computer Graphics. London: Butterworth. sale terminals for supermarkets).
1991. Howard, T.L. J., Hewitt, W. T., Hubbold, R. J., and
Wyrwas, K. M. A Practical Introduction toPHIGS and PHIGS The concurrent development of new forms of technol-
PLUS. Reading, MA: Addison-Wesley. ogy also proved important. In the 1940s the transistor
1993. Henderson, L. R., and Mumford, A. M. The CGM was developed at Bell Laboratories; in the early 195Os,
Handbook. New York: Academic Press.
1999. Roeloffs, G. PNG, the Definitive Guide. New York: 25 companies obtained rights to produce this basic
O'Reilly. technology; by the end of the 1950s the computer
George S. Carson had been established in the USA. From then to the
present, new forms of computing power, at less cost
and with greater reliability have emerged in the form
COMPUTERINDUSTRY of mainframe ( 4 . v . ) computers, minicomputers (q.v.),
and the personal computer ( 4 . v . ) .Processor and mem-
UNITED STATES ory speed increased several thousand-fold, while the
cost of performing a transaction dropped continuously
over the years (Table1). Thus between less expen-
sive, more reliable and capable technology on the one
hand, and new applications on the other, the industry
grew from almost nothing in1950 to worldwide
Introduction revenues of over$400billion just in products in
1996. Including all the services, salaries of end users,
The US computer industry began in the early 1950s
and other miscellaneous expenses, in1997 expendi-
when the first commercial computers were made.
tures on computing worldwide exceeded $1.5 trillion!
This industry comprised manufacturers of computers,
manufacturers of peripheral equipment for those In the United States today, virtually all organizations
systems, producers of software, and purveyors of a with more than 20 employees use computers. Well over
variety of support services. The earliest computer prod- 90% of all companies and nonprofit organizations with
ucts available for commercial applications emerged in more than five employees use computers. In theUSA,
the USA and the UK.By the end of the 195Os, these
machines were beingsold all over Europe, Latin
America, and in East Asia, most notably in Japan. Table 1. Relative price performance for selected IBM main-
While technology has improved continuously over the frames, 1953-1 979.
past half century, it was the development of applica- Number of
tions for this technology that, in concert with tech- instructions
nological improvements, made a computer industry Computer executed/unit cost
Relative
speed/price
possible. What makes a computer commercially viable
as a product is its ability to do work of value to1 busi- 650 (1 953) 1
nesses and others. The ability of a computer to write 1,700 360/30 (1964) 43
370/135 (1 971) 214 19,000
payroll checks, send bills tocustomers, plan the 1,143,000
4341 (1 979) 1,143
production in a factory, or allow a writer to prepare
View publication stats

You might also like