We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 9
72
Chapter?
(Ovewiew of Graphics Systems
2-6
HARD-COPY DEVICES
We can obtain hard-copy output for our images in several formats. For presenta
tons or archiving, we can send image files to devices or service bureaus that will
produce 35-mm slides or overhead transparencies. To put images on film, we can
simply photograph a scene displayed on a video monitor. And we can put our
pictures on paper by directing graphics output to a printer or plotter
‘The quality of the pietures obtained {rom a device depends on dot size and
the number of dots per inch, or lines per inch, that can be displayed. To produce
smooth characters in printed text strings, higher-quality printers shift dot posi-
tions so that adjacent dots overlap.
Printers produce output by either impact or nonimpact methods. Impact
printers press formed character faces against an inked ribbon onto the paper. A
line printer is an example of an impact device, with the typefaces mounted on
bands, chains, drums, or wheels, Notimpact printers and plotters use laser tech
niques, ink-pt sprays, xerographic processes (as used in photocopying ma
chines), electrostatic methods, and electrothermal methods fo get images onto
paper.
Character impact printers often have a dot-matrix print head containing a
rectangular array of protruding wire pins, with the number of pins depending on
the quality of the printer. individual characters or graphics patterns are obtained
by retracting certain pins so that the remaining pins form the pattern to be
printed. Figure 2-58 shows a picture printed on a dot-matrix printer,
Ina laser device, a laser beam creates a charge distribution on a rotating,
drum coated with a photoelectric material, such as selenium. Toner is applied to
the drum and then transferred to paper. Figure 2-59 shows examples of desktop
laser printers with a resolution of 360 dots per inch.
Ink-jet methods produce output by squirting ink in horizontal rows across a
roll of paper wrapped on a drum. The electrically charged ink stream is deflected
by an electric field to produce dot-matrix patterns. A desktop ink-jet plotter with
Figure 258
[A picture generated on a dot-matrix printer showing how the
density of the dot patterns can be varied to produce light and
dark areas. (Courtey of Apple Computer. tn)Figure 259
Smali-footprint laser printers.
(Courtesy of Texas instruments
4 resolution of 360 dots per inch is shown in Fig, 2-60, and examples of larger
hagh-resolution ink-jet printer /plotters are shown in Fig, 2-61
[An elttrostatic device places a negative charge on the paper, one complete
row ata time along the length ofthe paper. Then the paper is exposed to a toner.
The toner is positively charged and so is attracted to the negatively charged
areas, where it adheres to produce the specified output. A color electrostatic
printer/plotter is shown in Fig, 262. Electrothermal methods use heat in a dot-
rnatrix print head to output patterns on heat-sersitive paper
‘We can get limited color output on an impact printer by using different:
colored ribbons. Nonimpact devices use various techniques to combine three
color pigments cyan, magenta, and yellow) to produce a range of color patterns
Laser and xerographic devices deposit the three pigments on separate passes:
ink-jet methods shoot the three colors simultaneously on a single pass along each
print fine on the paper
Figure 2-60
A 3ed-dot-per inch desktop ink jet
«plotter (Courtesy of Summagraphics
Corporation.)
Section 246
ard Copy Devices
7374
Figure 2-61
Floor-model, ink et color printers that use variable det size te achieve
an equivalent resolution of 1500 to 1800 dots per inch. (Courtesy of RIS
Graphics rc, Bedford, Masachusts)
Figure 262
‘An electrostatic printer that can
display 400 dots per inch. (Courteryef
CalComp Digitizer Divison, « prt of
CalComp, Ine)
Drafting layouts and other drawings are typically generated with ink-jet or
pen plotters. A pen plotter has one or more pens mounted on a carriage, oF cross:
bar, that spans a sheet of paper. Pens with varying colors and widths are used to
produce a variety of shadings and line styles, Wet-ink, ball-point, and felt-ip
pens are all possible choices for use with a pen plotter. Plotter paper can lie flat or
bbe rolled onto a drum or belt. Crossbars can be either moveable or stationary,
while the pen moves back and forth along the bar. Either clamps, a vacuum, or
an electrostatic charge hold the paper in position. An example of a table-top
flatbed pen plotter is given in Figure 2-63, and a larger, rollfeed pen plotier is,
shown in Fig. 2-64.Graphs Sofware
Figure 2-63
A desktop pen plotter with a
resolution of 0,025 mum. (Courtesy of
Summagraphies Copoation)
Figure 2-64
‘A large, rolfeed pen plotter with
autoanatic muleicolor &pen changer
and a resolution of 00127 men,
(Courtesy of Summagraphics Carprstion)
27
GRAPHICS SOFTWARE
‘There are two general classifications for graphics software: general programming
packages and special-purpose applications packages. A general graphics pro-
gramming, package provides an extensive set of graphics functions that can beCoase 2
‘Dreeiwen of Graphs Sse
76
‘used in a high-level programming language, such as C or FORTRAN. An xan
ple of a general graphics programming package is the GL. (Graphics Library) sys
tem on Silicon Graphics equipment. Basic functions in a general package include
those for generating picture components (straight lines, polygons, circles, and
her figures), setting color and intensity values, selecting, views, and applying,
transformations. By contrast, application graphics packages are designed for
honprogrammers, so that users can generate displays without worrying about
how graphics operations work. The interface to the graphics routines in such
packages allows users to communicate with the programs in their own terms. Ex:
amples of such applications packages are the artist's painting programs and vari
ous business, medical, and CAD systems.
Coordinate Representations
With few exceptions, general graphics packages are designed to be used with
Cartesian coordinate specifications. [f coordinate values for a picture are spect
fied in some other reference frame (spherical, hyberbolic, et), they must be con-
verted to Cartesian coordinates before they can be input ‘0 the graphics package
Special-purpose packages may allow use of other coordinate frames that are ap:
propriate to the application. In general, several different Cartesian reference
frames are used to construct and display a scene. We can construct the shape of
individual objects, such as trees or furniture, in a scene within separate coordi
nate reference frames called modeling coordinates, or sometimes local coordi-
nates or master coordinates, Once individual object shapes have been specified,
‘we can place the objects into appropriate positions within the scene using a refer
cence frame called world coordinates. Finally, the worid-coordinate description of
the scene is transferred to one or more output-device reference frames for dis
play These display coordinate systems are referred t0 as device coordinates. or
screen coordinates in the case of a video monitor. Modeling and world
coordinate definitions allow us to set any convenient floating point or integer di
mensions without being hampered by the constraints of a particular output de-
vice. For some scenes, we might want to specify object dimensions in fractions of
4 foot, while for other applications we might want to use millimeters, kilometers,
or light-years.
‘Generally, a graphics system first converts world-coondinate posihons to
nommalized device coordinates, in the range from 0 to |, before final conversion,
to specific device coordinates. This makes the system independent of the various
devices that might be used at a particular workstation. Figure 2-65 ilustrates the
sequence of coordinate transformations from modeling coordinates to device co-
ordinates for a two-dimensional application. An initial modeling-coordinate po-
Sition (igo, Juz) iN this illustration is transferred to a device coordinate position
(ag Yao) withthe sequence:
qe Yc) > Claes Yan) Cle Hoed —? Bs 30)
The modeling and world-toordinate positions in this transformation can be any
floating-point values; normalized coordinates satisfy the inequalities: 0 = xy, = 1
0 vy, = ti and the device coordinates xy, and ys, are integers within the range
(0,0) €0 Coy Yue) for a particular output device. To accommodate differences in.
scales and aspect ratios, normalized coordinates are mapped into a square area of
the output device so that proper proportions are maintainedGraphics Functions Section 27
‘A general-purpose graphics package provides users with a variety of functions
for creating and manipulating pictures. These routines can be categorized accord-
ing to whether they deal with output, input, atributes, transformations, viewing,
(or general control
The basic building blocks for pictures are referred to as output primitives
They include character strings and geometric entities, such as points, straight
lines, curved lines, filled areas (polygons, circles, ete), and shapes defined with
arrays of color points. Routines for generating output primitives provide the
basic tools for constructing pictures,
Attributes are the properties of the output primitives; that is, an attribute
describes how a particular primitive is to be displayed. They include intensity
and color specifications, line styles, text styles, and area-filling patterns. Func
tions within this category can be used to set attributes for an individual primitive
class or for groups of output primitives.
We can change the size, position, or orientation of an object within a scene
using geometric transformations, Similar modeling transformations are used to
construct a scene using object descriptions given in modeling coordinates
Given the primitive and attribute definition of a picture in world coordi
nates, a graphics package projects a selected view of the picture on an output de
vice. Viewing transformations are used to specify the view that 1s {0 be pre
sented and the portion of the output display area that is to be used
Pictures can be subdivided into component parts, called structures or seg-
ments or objects, depending, on the software package in use Fach structure de-
fines one logical unit of the picture. A scene with several objects could reference
each individual object in a separate named structure. Routines for processing
World Normalized
Cooreinates Coordinates
Devi
Figure 2-65
The transformation sequence from modeling coordinates to device coordinates for « two
Graphics Sof
dimensional scene. Object shapes are defined in local modeling-coordinate systems, then
positioned within the overall world-coordinate scene. World-coordinate specifications are
{then transformed into normalized coordinates. At the final step, individual device drivers
transfer the normalized-coordinate representation ofthe scene to the output devices for
displayCreer Grants Sse.
78
Structures carry out operations suc as the creation modification, and translor
imation ot stractores
Interactive graphis applications use various kinds of input devices, such as
sich, Input functions are used to control and process
the data flow from these interactive devices
Finally, a graphics package contains a ntimber of hausekeeping tasks, such
as clearing a display steen and initializing parameters. We can lump the func
tuons for carrving opt *hese chores under the heading control operations.
A tablet, oF a
Sottware Standards
Phe primary goal of standardized graphics software is portability. When pack:
ages are designed wit -tandard geaphles functions, sattware can he moved eas
aly from one hardware system to another and sed it different implementations,
and applications, Witho it standards. programs designed! for one hardware sys-
tom often cannot be trausterred to another sustem withont extensive rewriting of
the programs
International aad rahonal standards planning organizations in many coun
tres have cooperated ion effort to develop a generally accepted standard tor
computer graphics Aer considerable effort, this work wn standards led t0 the
developmert of the Graphical Kernel System (GKSI, This system was adopted
1s the first graphics sullivare standard hy the International Standards Or
tion SO) and by variots national standards organizations, including the Ameri:
can National Standards lestitute (ANSD. Although GKS was originally designed
8a twordimensional gtaplucs package, a three-dimensional GKS extension was
subsequently developest. The second softivare standsed to he developed and ap:
proved by the standards orgainzations was PHIGS (Programmer's Hierarchical
Interactive Graphics Standard), which is a9 extension af GKS. Increased capabil
ities for object modeling: color specttications, surface rendering, and picture ma-
nipuiiations are provides in PHIGS. Subsesjuently, an extension of PHICGS, calied
PHIGSs, was developed te provide ‘hree-dimensional surlace-shading capabil
tues not available in PEC.
Standard graphics tuncts
ns are defined as a set of specifications that is 1m
dependent of ane progr mminy language. A language binding is then defaced
for a particular high level prngrammung language. This binding gives the syntay
for accessing the various slandard graphics functions fromn this language. For ex
ample, the general for of the PHIGS land GKS) function for specifying a se
quence of =! connected tivo-dlimensional straight bine segments 1s
In FORTRAN, this proccure is implemented as a subroutine with the name GPL
A graphics programmes, using FORTRAN, would invoke this procedure with,
the subroutine call styemnent CALL GPLIN, X,Y), Where X and ¥ are one:
dimensional arrays of coordinate values for the ine endpoints Ja C, the proce
dure would be invoked with ppeiyiinein. pts), where pte is the list af eo
ordinate endpoint positions Each language binding ts detined to make best use
of the corresponding language capabilities and (o handle various syntax issues,
such as data types, paranveter passing, and errors.
lis the following chapters, we use the standard funchons defined in PHIGS
asa framework for discussing basie graphics concepts and the design and appli
cation of graphics packages, Example programs ate presented in Pascal to illus.trate te algorithms fr implementation ofthe graphics functions and to ilustrate
abo some applications ofthe functions Descriptive names for functions, based
onthe PHICS definitions, are used whenever a graphics function i referenced in
PvAlthough PHIGS presents a specication for basic graphics functions, i
does fot provide a standard methodology for a graphics interface (o output de
‘ices, Nof does it specify methods for stonng and transmitting pictures, Separate
Standards have been devcloped for these areas Standardization for device inter
face methods is given in the Computer Graphics Interface (CGD) system. And
the Computer Graphics Metafile (CGM) system specifies standards for archi
ing and transporting pictures
PHIGS Workstations
Generally, the term workstation refers to.a computer system with a combination of
input and output devices that is designed for a single user In PHICS and GKS,
however, the term workstation is used to identify various combinations of
graphics hardware and software. A PHIGS workstation can be a single output
device, a single mput device, a combination of input and output devices, a file, or
even a window displayed on a video monitor,
To define and use various “workstations” within an applications program.
we need to specify a workstation identifer and the workstation type. The following
statements give the general structure of a PHIGS program
penPhigs lerrorFale, menorysize
operWorkszazion (ws, connec
(create and aisplay ps
loseworkstat ion tw
losePaigs:
where parameter errorFile is to contain any error messages that are gener
ated, and parameter memory: 2e specifies the size of an internal storage ares
The workstation identifier (an integer) is given in parameter ws, and parameter
onnert son states the access mechanism for the workstation. Parameter typ>
specifies the particular category for the workstation, such as an input device, an
output device, a combination outin device, or an input or output metafile
Any number of workstations can be open in a particular application, with
input coming from the various open input devicts and output directed to all the
open output devices. We discuss input and output methods in applications pro-
rams in Chapter 5, after we have explored the basic procedures for creating and
manipulating pictures
SUMMARY
this chaptes, we have surveyed the major hardware and software features of
computer graphics systems Hardware components include video monitors,
hard copy devices, keyboards, and other devices for graphics inpul or outprst
Graphics software includes special applications packages and general program
ming packages.
The predominant graphics display device is the caster refresh monitor,
based on television technology. A raster system uses a frame buffer to store inten
sity information for each screen position (pixel). Pictures are then painted on thescreen by retrieving this informanon from the frame buffer as the electron beam
an the CRF sweeps across each scan line, from top to bottom. Older vector dis-
plays construct pictures by drawing lines between specified line endpoints. Pic-
ture information is then stored asa set of line-drawing instructions.
Many other video display devices are available. In particular, flat-panel dis-
play technology is developing at a rapid rate, and these devices may largely re
place raster displays in the near future. At present, lat-panel displays are com>
zonly used in small systems and in special-purpose systems. Flat-panel displays.
include plasma panels and liquid-crystal devices. Although vector monitors can
be used to display high-quality line drawings, improvements in raster display
technology have caused vector monitors to be largely replaced with raster sy’
tems,
Other display technologies include three-dimensional and_stervoscopic
viewing systems, Virtual-reality systems can include either a stereoscopic head-
set or a standard video monitor.
For graphical input. we have a range of devices to choose from. Keyboards,
ton boxes, and dials are used to input text, data values, or programming op-
fons. The most popular “pointing” device is the mouse, but trackballs, space
balls, joysticks, cursorcantrol keys, and thumbwheels are also used to position
the screen cursor. In virtual-reality environments, data gloves are commonly
used, Other input devices include mage scanners, digitizers, touch panels, light
pens, and voice systems,
Hard-copy devices for graphics workstations include standard printers and.
plotters, an addition to devices for producing slides, transparencies, and lm out
out Printing methods snciude dot matrix laser, ink jet. electrostatic, and elec
trothermal. Plotter methods include pen plotting, and combination printer-plotter
devices
sraphies software can be roughly classitied as applications packages or
programming packages. Applications graphics software incluée CAD packages,
drawing and painting programs, graphing packages, and visualization pro-
grams. Common graphics programming packages include PHIGS, PHIGS+, GKS,
3D GKS, and GL. Soltware standards, such as PHIGS, GKS, CGI, and CGM, are
evolving and are becoming, widely available on a variety of machines
Normally, graphics packages require coordinate specifications to be given.
with respect to Cartesian reference frames. Each object lor a scene can be defined.
Cartesian coordinate system, which is then mapped to
struct the scene. From world coordinates, objects are
bs
ina separate modeli
world coordinates to
lranslerred to normalized device coordinates, then to the final di
ordinates, The transformations from mode’ ing cuordinates to normalizes device
‘coordinates are independent of particular devices that might be used 1n an appli-
sation, Device drivers are then used to convert normalized coordinates to integer
device coordinates,
Funct
lay device co-
in graphics programming packages can be divided inte the fol
lowing categores. output primitives, attributes, geometric and modeling, trans-
formations, viewing transformations, structure operations, input functions, and
control operations,
Some graphics systems, stich as PHIGS and GKS. use the concept of a
‘workstatton” to speci!y devices or software that are to be used for input or out
pet in a particular application, A workstation identifier ip these systems can refer
0 a file; a single device such as a raster monitor, or a combination of devices,
such as a monitor, Keyboard, and a mouse. Multiple workstations can be oper
provide input or to receive output in a graphics application,