0% found this document useful (0 votes)
21 views45 pages

CG Notes (Unit I &II)

Uploaded by

priyaganesh12345
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views45 pages

CG Notes (Unit I &II)

Uploaded by

priyaganesh12345
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

Computer Graphics

1. OVERVIEW OF GRAPHICS SYSTEMS


3
Definition:
Computer graphics is an art of drawing pictures on computer screens with the help of
programming. It involves computations, creation, and manipulation of data. Computer graphics is a
rendering tool for the generation and manipulation of images.
In other words, we can say that it is a visual representations of data displayed on a monitor. It can
be a series of images (most often called video) or a single image. It is used for making movie, video
game, scientific modeling, design for catalogs and other commercial art.
Classification of Computer Graphics:
Computer graphics as drawing pictures on computers, also called rendering. 2D computer
graphics are usually split into two categories:
1. Vector Graphics
2. Raster graphics
Vector Graphics
 Vector graphics is the creation of digital images through a sequence of commands or
mathematical statements.
 In Vector graphics lines, shapes, and text are used to create a more complex image.
 Vector graphics are made with programs like Adobe Illustrator and Inkscape etc…
 Vector graphics image is shown in Fig 1.1.
Raster Graphics
 Raster Graphics or Bitmap Image is a dot matrix data structure, representing rectangular grid of
pixels, or points of color.
 Raster images are stored in image files with varying formats.
 Raster graphics use pixels to make up a larger image.
 Raster programs are made by Paintbrushes Adobe Photoshop and Corel Paint Shop Pro.
 Sometimes people do use only pixels to make an image. This is called pixel art and it has a very
unique style. Raster image is shown in Fig 1.2.

Fig 1.1 Vector Image Fig 1.2 Raster Image


Computer Graphics
VIDEO DISPLAY DEVICES:
The primary output device in a graphics system is a video monitor is shown in Fig 1.3. The 4
operation of most video monitors is based on the standard cathode-ray tube (CRT) design.
1.3.1 Refresh Cathode-Ray Tubes
 A beam of electrons (cathode rays), emitted by an electron gun, passes through focusing and
deflection systems that direct the beam toward specified positions on the phosphor-coated screen.

Fig 1.3 computer graphics workstation


 The phosphor then emits a small spot of light at each position contacted by the electron beam.

Figure 1.4 Basic design of a magnetic deflection CRT


 Because the light emitted by the phosphor fades very rapidly, some method is needed for
maintaining the screen picture.
 One way to keep the phosphor glowing is to redraw the picture repeatedly by quickly directing
the electron beam back over the same points. This type of display is called a refresh CRT.
 The primary components of an electron gun in a CRT are the heated metal cathode and a control
grid (Fig.1.5).
 Heat is supplied to the cathode by directing a current through a coil of wire, called the filament.
 This causes electrons to be 'boiled off" the hot cathode surface. In the vacuum inside the CRT
envelope, the free, negatively charged electrons are then accelerated toward the phosphor coating
by a high positive voltage.
Computer Graphics
 Sometimes the electron gun is built to contain the accelerating anode and focusing system within
the same unit. 5

Fig 1.5 Operation of an electron gun with an accelerating anode


 Intensity of the electron beam is controlled by setting voltage levels on the control grid, which is
a metal cylinder that fits over the cathode.
 A high negative voltage applied to the control grid will shut off the beam by repelling electrons; a
smaller negative voltage on the control grid simply decreases the number of electrons passing
through.
 The amount of light emitted by the phosphor coating depends on the number of electrons striking
the screen.
 The focusing system in a CRT is needed to force the electron beam to converge into a small spot
as it strikes the phosphor.
 Focusing is accomplished with either electric or magnetic fields. Electrostatic focusing is
commonly used in television and computer graphics monitors.
 Additional focusing hardware is used in high precision systems to keep the beam in focus at all
screen points.
 Deflection of the electron beam can be controlled either with electric fields or with magnetic
fields. Cathode ray tubes are constructed with magnetic deflection coils mounted on the outside
of the CRT envelope.
 Two pairs of coils are used, with the coils in each pair mounted on opposite sides of the neck of
the CRT envelope.
 One pair is mounted on the top and bottom of the neck and the other pair is mounted on opposite
sides of the neck.
 Horizontal deflection is accomplished with one pair of coils, and vertical deflection by the other
pair.
 One pair of plates is mounted horizontally to control the vertical deflection, and the other pair is
mounted vertically to control horizontal deflection (Fig 1.6).
Computer Graphics
Persistence:
 Persistence means how long the phosphors continue to emit light after the CRT beam is removed. 6
 A phosphor with low persistence is useful for animation.
 A higher persistence phosphor is useful for displaying highly complex, static pictures.

Fig 1.6 Electrostatic deflection of the electron beam in a CRT


Resolution:
 Resolution is the number of pixels contained on a display monitor, expressed in terms of the
number of pixels on the horizontal axis and vertical axis.
 It can be also referred as maximum number of points that can be displayed without overlap on a
CRT.
 The sharpness of the image on a display depends on the resolution and the size of the monitor.
Aspect ratio:
 The ratio of vertical points to the horizontal points necessary to produce length of lines in both
directions of the screen is called the aspect ratio.
 An aspect ratio of ¾ means that a vertical line plotted with three points has the same length as a
horizontal line plotted with four points.
Raster-Scan Displays
 Common type of graphics monitor employing a CRT is the raster-scan display, based on
television technology.

Fig. 1.7 Raster Scan System displays

)
Computer Graphics
 In a raster-scan system, the electron beam is swept across the screen, one row at a time from top
to bottom. 7
 The electron beam moves across each row, the beam intensity is turned on and off to create a
pattern of illuminated spots.
Refresh Buffer or Frame Buffer
Picture definition is stored in a memory area called the refresh buffer or frame buffer.
Scan Line
The frame buffer holds the set of intensity values for all the screen points. Stored intensity values
are then retrieved from the refresh buffer and "painted" on the screen one row at a time is called scan line
(Fig. 1.7).
Pixel
 Each screen point is referred to as a pixel or pel or picture element.
 Intensity range for pixel positions depends on the capability of the raster system.
 In a simple black-and-white system, each screen point is either on or off. So only one bit per pixel
is needed to control the intensity of screen positions.
 For a bi-level system, a bit value of 1 indicates that the electron beam is to be turned on at that
position, and a value of 0 indicates that the beam intensity is to be off.
Bitmap
On a black-and-white system with one bit per pixel, the frame buffer is commonly called a
bitmap.
Pixmap
 Systems with multiple bits per pixel, the frame buffer is often referred to as a pixmap.
 Refreshing on raster scan displays is carried out at the rate of 60 to 80 frames per second. Refresh
rates are described in units of cycles per second or Hertz.
 Using these units, we would describe a refresh rate of 60 frames per second as simply 60 Hz.
Horizontal Retrace
 At the end of each scan line, the electron beam returns to the left side of the screen to begin
displaying the next scan line.
 The return to the left of the screen, after refreshing each scan line, is called the horizontal retrace
of the electron beam.
Vertical Retrace
 At the end of each frame the electron beam returns to the top left corner of the screen to begin the
next frame is called vertical retrace.
Computer Graphics

8
Fig 1.8 Interlacing scan lines on a Raster Scan Display

Interlace
 Each frame is displayed in two passes using an interlaced refresh procedure.
 In the first pass, the beam sweeps across every other scan line from top to bottom.
 Then after the vertical retrace, the beam sweeps out the remaining scan lines (Fig 1.8).

Random-Scan Displays
 In a random-scan display unit, a CRT has the electron beam directed only to the parts of the
screen where a picture is to be drawn (Fig 1.9).
 Random-scan monitors draw a picture one line at a time and for this reason are also referred to as
vector displays or stroke-writing or calligraphic displays.
 Refresh rate on a random-scan system depends on the number of lines to be displayed.

Fig. 1.9 Raster Scan System displays


Refresh Display File
 Picture definition is now stored as a set of line-drawing commands in an area of memory referred
to as the refresh display file.
 It is called the display list, display program, or simply the refresh buffer.
 Random-scan displays are designed to draw all the component lines of a picture 30 to 60 times
each second.
 High-quality vector systems are capable of handling approximately 100,000 "short" lines at this
refresh rate.
 Random-scan systems are designed for line-drawing applications and cannot display realistic
shaded scenes.
Computer Graphics
Color CRT Monitors
A CRT monitor displays colour pictures by using a combination of phosphors that emit different- 9
colored light. By combining the emitted light from the different phosphors, a range of colors can be
generated.
The two basic techniques for producing color displays.
1. Shadow-mask method.
2. Beam-Penetration Method
Beam-Penetration Method
 In beam-penetration method two layers of phosphor, usually red and green, are coated onto the
inside of the CRT screen.
 The displayed color depends on how far the electron beam penetrates into the phosphor layers.
 A beam of slow electrons excites only the outer red layer.
 A beam of very fast electrons penetrates through the red layer and excites the inner green layer.
 At intermediate beam speeds, combinations of red and green light are emitted to show two
additional colors, orange and yellow.
Shadow-mask method
 Shadow-mask methods are commonly used in raster scan systems because they produce wider
range of colors than the beam penetration method.
 A shadow-mask CRT has three phosphor color dots at each pixel position.
 One phosphor dot emits a red light, another emits a green light, and the third emits a blue light.
This type of CRT has three electron guns, one for each color dot, and a shadow-mask grid just
behind the phosphor-coated screen.
Types of Shadow-mask:
There are two types of shadow mask
1. Delta – delta Shadow mask
2. Inline shadow mask

Fig 1.10 Operation of a delta-delta, shadow mask CRT


Computer Graphics
 Delta –delta shadow mask method are used in color CRT systems. Three electron beams are
deflected and focused, which contains a series of holes aligned with the phosphor dot patterns 10
(Fig 1.10).
 When three beams pass through a hole in the shadow mask, they activate a dot triangle color spot
on the screen.
 Another arrangement for the electron gun is an in-line arrangement in which the three electron
guns and the corresponding red-green-blue color dots on the screen are aligned in one scan line
instead of triangular pattern.
 These in line arrangement of electron guns are used in high resolution color CRT.
Full Color System or True Color System
An RGB color system with 24 bits of storage per pixel is generally referred to as a full-color
system or a true-color system.
Direct-View Storage Tubes
It stores the picture information inside the CRT instead of refreshing the screen. Two electron
guns are used in a DVST.
1. Primary Gun
2. Flood Gun
The primary gun is used to store the picture pattern. The second, the flood gun, maintains the
picture display. The DVST has both advantages and disadvantages compared to refresh CRT.
Advantages
No refreshing is needed; very complex pictures can be displayed at very high resolutions without
flicker.
Disadvantages
 They do not display color and that selected parts of a picture cannot be erased.
 To eliminate a picture section, the entire screen must be erased. Erasing and redrawing process
can take several seconds for a complex picture.
Flat-Panel Displays
 The term flat-panel display refers to a class of video devices that have reduced volume, weight,
and power requirements compared to a CRT.
 A significant feature of flat-panel displays is that they are thinner than CRTs, and we can hang
them on walls or wear them on our wrists.
 Current uses for flat-panel displays include small TV monitors, calculators, pocket video games,
laptop computers, etc.,
There are two categories:
 Emissive displays or Emitters
 Non emissive displays or non emitters
Computer Graphics
1. Emissive displays or Emitters
The emissive displays devices that convert electrical energy into light. Plasma panels, thin-film 11
electroluminescent displays and light emitting diodes are examples of emissive displays.
Plasma panels:
 It is also called gas –discharge displays, are constructed by filling the region between two glass
plates with mixture of gases, usually includes neon.
 A series of vertical conducting ribbons is placed on one glass panel, and set of horizontal ribbons
is built into other glass panel.
 Firing voltage is applied to a pair of horizontal and vertical conductors, the gas at the intersection
of two conductors break down into glowing plasma of electrons and ions.
 Picture definition is stored in a refresh buffer, and the firing voltages are applied to refresh the
pixel positions 60 times per second. Alternating current methods are used to provide faster
application of firing voltages and brighter displays.
Disadvantages:
Plasma panel only applicable for monochromatic devices, but systems have been developed for
displaying color and grayscale.
Thin-Film Electroluminescent Displays:
 The construction of Thin-Film Electroluminescent Displays is similar to plasma panel.
 But the difference is that the region between the glass plates is filled with a phosphor such as Zinc
sulphide doped with manganese, instead of gas.
 When high voltage is applied to a pair of electrodes, electrical energy is absorbed by manganese
atoms then release the spot of light similar to plasma panel.
 It is more powerful than plasma panel and produce good color and gray scale.
LED (Light –emitting diode):
 A matrix of diodes is arranged to form the pixel positions in the display, and picture definition is
stored in a refresh buffer.
 Information is read from the refresh buffer and converted to voltage that is applied to the diodes
into light pattern in the display.
2. Non emissive displays or non emitters
Non emissive displays use optical effects to convert sunlight or light from some other source into
graphics patterns.
Example: LCD
 Liquid-crystal displays (LCDS) are commonly used in small systems, such as calculators and
portable, laptop computers.
 Each pixel of an LCD consists of a layer of molecules aligned between two transparent electrodes
with light polarizer.
Computer Graphics
 Passive-matrix LCD is an LCD technology that uses a grid of vertical and horizontal conductors
comprised of Indium Tin Oxide (ITO) to create an image. 12
 Another method for constructing LCD is to place a transistor at each pixel position, using thin
film transistor technology. The transistors are used to control the voltage at pixel locations are
called active matrix displays.
RASTER-SCAN SYSTEM:
In raster graphics, in addition to the central processing unit, or CPU, a special-purpose processor,
called the video controller or display controller, is used to control the operation of the display device.
Organization of a simple raster system in shown in Fig.1.11.

Fig 1.11 Architecture of a simple raster system


Video Controller

Fig 1.12 Architecture of raster system with a fixed portion of the system memory
A fixed area of the system memory is reserved for the frame buffer. So the video controller is
given direct access to the frame-buffer memory (Fig 1.12).
Frame-buffer locations, and the corresponding screen positions, are referenced in Cartesian
coordinates. The coordinate origin is defined at lower left screen corner.
 Then the first quadrant of a two dimensional system, positive x values increasing to the right and
positive y values increasing from bottom to top.
 Scan lines are labeled from ymax at the top of the screen to 0 at the bottom, each scan line screen
pixel positions are labeled from 0 to xmax.
Computer Graphics
 There are two registers are used to store the coordinates of the screen pixels.
 Initially, the x register is set to 0 and the y register is set to ymax. 13
 The value stored in the frame buffer for this pixel position is then retrieved and used to set the
intensity of the CRT beam.
 Then the x register is incremented by 1, and the process repeated for the next pixel on the top
scan line.
 In high quality system, two frame buffers are provided, one for refreshing other for filling
intensity values.
Raster-Scan Display Processor
A raster system containing a separate display processor, sometimes referred to as a graphics
controller or a display coprocessor (Fig 1.13).
Scan Conversion
 Task of the display processor is digitizing a picture definition given in an application program
into a set of pixel-intensity values for storage in the frame buffer. This digitization process is
called scan conversion.
 Display processors are also designed to perform a number of additional operations.
 These functions include generating various line styles (dashed, dotted, or solid), displaying color
areas, and performing certain transformations and manipulations on displayed objects.

Fig 1.13 Raster Graphics System with Display Processor


Run Length Encoding
 Intensity information is to store each scan line as a set of integer pairs.
 One number of each pair indicates an intensity value, and the second number specifies the
number of adjacent pixels on the scan line.
 This technique, called run-length encoding.
Cell Encoding
It is another approach to encode the raster as a set of rectangle areas called cell encoding.
Computer Graphics
RANDOM SCAN SYSTEMS
The organization of simple random scan system is shown in Fig 1.14. 14
 An application program is input and is stored in the system memory.
 Graphics commands in the application program are translated by the graphics package into a
display file stored in the system memory.
 This display file is then accessed by the display processor to refresh the screen.
 The display processor in a random-scan system is referred to as a display processing unit or a
graphics controller.

Fig 1.14 Architecture of simple Random Scan System


GRAPHICS MONITORS AND WORKSTATIONS
 Graphics systems are designed as small general-purpose computer systems with graphics
capabilities.
 Full-color systems that are designed specifically for graphics applications.
 High-definition graphics monitor used in applications such as air traffic control, simulation,
medical imaging, and CAD.
 This system has a diagonal screen size of 27 inches, resolutions ranging from 2048 by 1536 to
2560 by 2048, with refresh rates of 80 Hz or 60 Hz non interlaced.
 Workstation refers to any computer device or program that makes a computer capable of
displaying and manipulating pictures.

Fig 1.15 General Purpose Computer System that can be used for Graphics Application
For example, laser printers and plotters are graphics devices because they permit the computer
to output pictures.
Computer Graphics

15

1.16 Computer Graphics Workstations


INPUT DEVICES
Keyboard
 The keyboard helps in inputting the data to the computer.
 The layout of the keyboard is like that of traditional typewriter, although there are some
additional keys provided for performing some additional functions.
 Keyboards are of two sizes 84 keys or 101/102 keys, but now 104 keys or 108 keys keyboard is
also available for Windows and Internet.

Fig 1.17 Keyboard


Mouse
 Mouse is most popular Pointing device.
 It is a very famous cursor-control device. It is a small palm size box with a round ball at its base
which senses the movement of mouse and sends corresponding signals to CPU on pressing the
buttons.
 Generally, it has two buttons called left and right button and scroll bar is present at the mid.
Mouse can be used to control the position of cursor on screen, but it cannot be used to enter text
into the computer.
Advantages
 Easy to use
 Not very expensive
 Moves the cursor faster than the arrow keys of keyboard
Joystick
 Joystick is also a pointing device, which is used to move cursor position on a monitor screen.
 It is a stick having a spherical ball at its both lower and upper ends.
Computer Graphics
 The lower spherical ball moves in a socket
 The joystick can be moved in all four directions. 16
 It is mainly used in Computer Aided Designing (CAD) and playing computer games.

Fig 1.18 Joystick Fig 1.19 Light pen


Light Pen
 Light pen is a pointing device, which is similar to a pen.
 It is used to select a displayed menu item or draw pictures on the monitor screen.
 It consists of a photocell and an optical system placed in a small tube.
 When light pen's tip is moved over the monitor screen and pen button is pressed, its photocell
sensing element detects the screen location and sends the corresponding signal to the CPU.
Track Ball
 Track ball is an input device that is mostly used in notebook or laptop computer, instead of a
mouse.
 This is a ball, which is half inserted and by moving fingers on ball, pointer can be moved.
 Since the whole device is not moved, a track ball requires less space than a mouse.
 A track ball comes in various shapes like a ball, a button and a square.

Fig 1.20 Track Ball Fig 1.21 Scanner


Scanner
 Scanner is an input device, which works more like a photocopy machine.
 It is used when some information is available on a paper and it is to be transferred to the hard disc
of the computer for further manipulation.
 Scanner captures images from the source which are then converted into the digital form that can
be stored on the disc.
 These images can be edited before they are printed.
Computer Graphics
Digitizer
 Digitizer is an input device, which converts analog information into a digital form. 17
 Digitizer can convert a signal from the television camera into a series of numbers that could be
stored in a computer.
 They can be used by the computer to create a picture of whatever the camera had been pointed at.
 Digitizer is also known as Tablet or Graphics Tablet because it converts graphics and pictorial
data into binary inputs.

Fig 1.22 Digitizer


Bar Code Readers
 Bar Code Reader is a device used for reading bar coded data. Bar coded data is generally used in
labelling goods, numbering the books, etc.
 It may be a hand-held scanner or may be embedded in a stationary scanner.

Fig 1.23 Barcode Readers


 Bar Code Reader scans a bar code image, converts it into an alphanumeric value, which is then
fed to the computer to which bar code reader is connected.

HARD COPY DEVICES


 To a obtain hard-copy output for our images in several formats.
 For presentations or archiving, we can send image files to devices or service bureaus that will
produce 35-mm slides or overhead transparencies.
 We can put our pictures on paper by directing graphics output to a printer or plotter.
 The quality of the pictures obtained from a device depends on dot size and the number of dots per
inch, or lines per inch, that can be displayed.
Computer Graphics
Printers
Printer is the most important output device, which is used to print information on paper. 18
There are two types of printers:
1 Impact Printers
2 Non-Impact Printers
Impact Printers
The printers that print the characters by striking against the ribbon and onto the paper are called
impact printers.

1. Character Printer
2. Line Printer
Character Printer:
 It prints only one character at a time.
 It has relatively slower speed. Eg. Dot matrix printers.
Dot Matrix Printer:
 It prints characters as combination of dots.
 Dot matrix printers are the most popular among serial printers.
 These have a matrix of pins on the print head of the printer which form the character.
 The computer memory sends one character at a time to be printed by the printer. There is a
carbon between the pins & the paper.
 The words get printed on the paper when the pin strikes the carbon. There are generally 24 pins.
Non-Impact Printers:
 These printers use non-Impact technology such as ink-jet or laser technology.
 These printers provide better quality of O/P at higher speed.
There are two types:
1. Ink-Jet Printer
2. Laser Printer
Computer Graphics
Ink-Jet Printer:
 It prints characters by spraying patterns of ink on the paper from a nozzle or jet. 19
 It prints from nozzles having very fine holes, from which a specially made ink is pumped out to
create various letters and shapes.
Laser Printer:
 It is a type of printer that utilizes a laser beam to produce an image on a drum.
 This is also the way copy machines work. Because an entire page is transmitted to a drum before
the toner is applied, laser printers are sometimes called page printers.

GRAPHICS SOFTWARE
There are two general classifications for graphics software:
General Programming Packages
A general graphics programming package provides an extensive set of graphics functions that can
be used in a high-level programming language, such as C or FORTRAN.
Example: Generating picture components straight lines, polygons, circles, and other figures.
Special-Purpose Applications Packages
Application graphics packages are designed for nonprogrammers, so that users can generate
displays without worrying about how graphics operations work.
Example: Artist’s painting programs and various business, medical, and CAD systems
Coordinate Representations
 Coordinate values for a picture are converted to Cartesian coordinates before they can be input to
the graphics package.
 Different Cartesian reference frames are used to construct and display a scene.
Modeling Coordinates
 We can construct the shape of individual objects, such as trees or furniture, in a scene within
separate coordinate reference frames called modeling coordinates, or sometimes local coordinates
or master coordinates.
World Coordinates
Once individual object shapes have been specified, we can place the objects into appropriate
positions within the scene using a reference frame called world coordinates.
Graphics Functions
 A general-purpose graphics package provides users with a variety of functions for creating and
manipulating pictures.
 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, etc.).
Computer Graphics
 Attributes are the properties of the output primitives. It includes intensity and color
specifications, line styles, text styles, and area-filling patterns. 20
Geometric Transformations
To change the size, position, or orientation of an object within a scene using geometric
transformations.
Modeling Transformations
It is used to construct a scene using object descriptions given in modeling coordinates
Viewing Transformations
 Viewing transformations are used to specify the view that is to be presented and the portion of the
output display area that is to be used.
 Pictures can be subdivided into component parts, called structures or segments or objects,
depending on the software package in use
 Interactive graphics applications use various kinds of input devices, such as a mouse, a tablet, or a
joystick.
Software Standards
 The primary goal of standardized graphics software is portability.
 When packages are designed with standard graphics functions, software can he moved easily
from one hardware system to another and used in different implementations and applications.
Graphical Kernel System (GKS)
 It is the first graphics software standard by the International Standards Organization (ISO).
 It is also includes in the American National Standards Institute (ANSI).
PHIGS (Programmer's Hierarchical Interactive Graphics standard)
 It is the second software standard to be developed and approved by the standards organizations.It
is an extension of GKS.
PHIGS Workstations
 Workstation refers to a computer system with a combination of input and output devices that is
designed for a single user.
 In PHIGS 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 input device, a combination of input
and output devices, a file, or even a window displayed on a video monitor.
Computer Graphics
2. OUTPUT PRIMITIVES
Introduction 21
 The Primitives are the simple geometric functions that are used to generate various Computer
Graphics required by the User.
 Basic Output primitives are point-position (pixel), and a straight line.
 Some other output primitives are rectangle, conic section, circle, or may be a surface.
POINT AND LINES
Point Function
 A point function is the most basic Output primitive in the graphic package.
 A point function contains location using x and y coordinate and the user may also pass other
attributes such as its intensity and color.
 The location is stored as two integer tuple, the color is defined using hex codes.
 The size of a pixel is equal to the size of pixel on display monitor.

Fig 2.1 line is generated as a series of pixel position


Line Function
 A line function is used to generate a straight line between any two end points.
 Usually a line function is provided with the location of two pixel points called the starting point
and the end point.
 The two dimensional line function for specifying straight-line segment is polyline (n, wePoints)
Where
1. n – integer value equal to the number of coordinate positions.
2. wePoints – array of input world coordinate values.
 This line function is used to define a set of n-1 connected straight line segments.
For example
The following statements generate two connected line segments with end point (50, 100) (150,
250) and (250, 100).
wcPoints • x[1] = 50;
wcPoints • y[1] = 100;
wcPoints • x[2] = 150;
wcPoints • y[2] = 250;
wcPoints • x[3] = 250;
wcPoints • y[1] = 100;
Computer Graphics

22

Fig: 2.2 Implementation of line function


LINE DRAWING ALGORITHM

To determine pixel positions along a straight-line path from the geometric properties of the line.The
Cartesian slope-intercept equation for a straight line is
y = m · x + b -------------------- 1
where m as the slope of the line and b as the y intercept.
Given that the two endpoints of a line segment are specified at positions (x1, y1) and (x2, y2), as
shown in Fig.2.2.

Fig 2.3 Line path between endpoint positions (x1, y1) and (x2, y2)
To determine values for the slope m and y intercept b with the following calculations:

m = y2 –y1 / x2 –x1 ------------------------ 2


b = y1 – m. x1 - 3

Algorithms for displaying straight lines are based on the line equation 1 and the calculations
given in Eqs. 2 and 3.
For any given x interval ∆x along a line, we can compute the corresponding y interval ∆y from
Eq.2 as
Computer Graphics
∆y = m · ∆x -------------------- 4
Similarly, we can obtain the x interval ∆x corresponding to a specified ∆y as 23
∆x = ∆y / m------------------------- 5
For lines with slope magnitudes |m| < 1, ∆x can be set proportional to a small horizontal
deflection voltage, and the corresponding vertical deflection is then set proportional to ∆y as calculated
from Eq-4.
For lines whose slopes have magnitudes |m| > 1, ∆y can be set proportional to a small vertical
deflection voltage with the corresponding horizontal deflection voltage set proportional to ∆x, calculated
from Eq.5.
For lines with m = 1, ∆x = ∆y and the horizontal and vertical deflections voltages are equal. In
each case, a smooth line with slope m is generated between the specified endpoints.
On raster system, lines are plotted with pixels, and step sizes in the horizontal and vertical
directions are constrained by pixel separations.
Scan conversion process for straight lines is illustrated in Fig 2.3.
DDA Algorithm
The digital differential analyzer (DDA) is a scan-conversion line algorithm based on calculating
either ∆y or ∆x, using Eq. 4 or Eq. 5.
First consider a line with positive slope, as shown in Fig. If the slope is less than or equal to 1,
sample at unit x intervals (∆x = 1) and compute successive y values as
yk+1 = yk + m 6

Fig 2.4 straight line segment with five sampling positions along the x axis between x1 and x2.
Subscript k takes integer values starting from 0, for the first point, and increases by 1 until the
final endpoint is reached.
Since m can be any real number between 0.0 and 1.0, each calculated y value must be rounded to
the nearest integer corresponding to a screen pixel position in the x column.
For lines with a positive slope greater than 1.0, reverse the roles of x and y. That is, we sample at
unit y intervals (∆y = 1) and calculate consecutive x values as
x k+1 = xk + 1/m --------------------------- 7
Computer Graphics
In this case, each computed x value is rounded to the nearest pixel position along the current y
scan line. 24
Equations 6 and 7 are based on the assumption that lines are to be processed from the left
endpoint to the right endpoint Fig 2.2. If this processing is reversed, so that the starting endpoint is at the
right, then either we have ∆x = −1 and
yk+1 = yk - m 8

or (when the slope is greater than 1) we have ∆y = −1 with

xk+1 = xk – 1/ m --------------------------- 9
Negative slopes are calculated using Eq-s 6 through 9. If the absolute value of the slope is less
than 1 and the starting endpoint is at the left, we set ∆x = 1 and calculate y values with Eq-6.
When the starting endpoint is at the right (for the same slope), we set ∆x = −1 and obtain y
positions using Eq. 8.
For a negative slope with absolute value greater than 1, we use ∆y = −1 and Eq. 9 or we use ∆y =
1 and Eq.7.
Algorithm

#define ROUND (a) ((int) (a+0.5))


void lineDDA (int xa, int ya, int xb, int yb)
{
int dx = xb - xa, dy = yb - ya, steps, k;
float xIncrement, yIncrement, x = xa, y = ya;
if (abs (dx) > abs (dy) steps = abs (dx) ;
else steps = abs dy);
xIncrement = dx / (float) steps;
yIncrement = dy / (float) steps;
setpixel (ROUND(x), ROUND(y) );
for(k=0;k<steps;k++)
{
x += xIncrement’
y += yIncrement;
setpixel((Round(x),Round (y))
Algorithm Description
Step 1: Accept Input as two endpoint pixel positions (xa, ya), (xb, yb)
Step 2: Horizontal and vertical differences between the endpoint positions are assigned to parameters dx
and dy (Calculate dx = xb-xa and dy = yb-ya).
Step 3: The difference with the greater magnitude determines the value of parameter steps.
Step 4: Starting with pixel position (xa, ya), determine the offset needed at each step to generate the next
pixel position along the line path.

D.Ananthi.,M.Sc.,M.Phil.,B.Ed.,SET.,
Computer Graphics
Step 5: loop the following process for steps number of times
1. Use a unit of increment or decrement in the x and y direction 25
2. if xa is less than xb the values of increment in the x and y directions are 1 and m
3. if xa is greater than xb then the decrements -1 and – m are used.
Example: Consider the line from (0, 0) to (4, 6)
1. xa = 0, ya = 0 and xb = 4 yb = 6
2. dx = xb - xa = 4-0 = 4 and dy = yb - ya = 6-0 = 6
3. x = 0 and y = 0
4. 4 > 6 (false) so, steps = 6
5. Calculate xIncrement = dx/steps = 4 / 6 = 0.66 and
yIncrement = dy/steps = 6/6 = 1
6. Setpixel(x, y) = Setpixel(0, 0) (Starting Pixel Position)
7. Iterate the calculation for xIncrement and yIncrement for steps (6) number of times
8. Tabulation of the each iteration is given below.

Resultant Diagram for the above tabulation:

Fig 2.5 Pixel positions along the line path between endpoints (0, 0) and (4, 6) plotted with DDA line
algorithm

Advantages of DDA Algorithm


1. It is the simplest algorithm
2. It is a is a faster method for calculating pixel positions
Disadvantages of DDA Algorithm
1. Floating point arithmetic in DDA algorithm is still time-consuming
2. End point accuracy is poor
Computer Graphics
Bresenham’s Line Algorithm
 An accurate and efficient raster line-generating algorithm developed by Bresenham that uses only 26
incremental integer calculations.
 In addition,Bresenham’s line algorithm can be adapted to display circles and other curves.
 To illustrate Bresenham’s approach, we first consider the scan-conversion process for lines with
positive slope less than 1.0.
 Pixel positions along a line path are determined by sampling at unit x intervals. Starting from the
left endpoint (x0, y0) of a given line, we step to each successive column (x position) and plot the
pixel whose scan-line y value is closest to the line path.
Assuming we have determined that the pixel at (xk , yk ) is to be displayed, next we need to decide
which pixel to plot in column xk+1. Our choices are the pixels at positions (xk + 1, yk ) and (xk + 1, yk + 1).
For example, is shown in the following figure 2.4. From position (2, 3) we need to determine at
next sample position is whether (3, 3) or (3, 4). We choose the point which is closer to the original line.

Fig 2.6 a straight line segment is to be plotted, starting from the pixel at column 2 on scan line 3.

At sampling position x k + 1, we label vertical pixel separations from the mathematical line path as
dlower and dupper in Fig 2.5.

Fig 2.7 Distance between pixel position


Computer Graphics
The y coordinate on the mathematical line at pixel column position xk + 1 is calculated as
y = m (xk+1) + b ----------------------------- 10 27

Then
dlower = y - yk
= m (xk+1) + b - yk
And

dupper = (yk +1) – y


= yk +1 - m (xk+1) – b
The difference between these two separations is
dlower- dupper = 2m(xk + 1) – 2yk +2b – 1-------------------- 11
A decision parameter pk for the kth step in the line algorithm can be obtained by rearranging Eq. 11
By substituting m = ∆x / ∆y we get
Pk = ∆x (dlower-dupper)
=2∆y.xk-2∆x.yk+c -----------------12
The sign of pk is the same as the sign of dlower – dupper.
At step k + 1, the decision parameter is evaluated from Eq. 12 as
pk+1 = 2∆y · xk+1 − 2∆x · yk+1 + c
Subtracting Eq. 12 from the preceding equation, we have
pk+1 − pk = 2 ∆y(xk+1 − xk ) − 2 ∆x(yk+1 − yk )
But xk+1 = xk + 1, so that
pk+1 = pk + 2 ∆y − 2 ∆x(yk+1 − yk ) ------------------------- 13
Where the term yk+1 − yk is either 0 or 1, depending on the sign of parameter pk .
 This recursive calculation of decision parameters is performed at each integer x position, starting
at the left coordinate endpoint of the line.
 The first parameter, p0, is evaluated from Eq.12 at the starting pixel position (x0, y0) and with m
evaluated as ∆y / ∆x:
p0 = 2∆y −∆x ----------------------- 14
Bresenham’s Line-Drawing Algorithm for |m| < 1
1. Input the two line endpoints and store the left endpoint in (x0, y0)
2. Set the color for frame-buffer position (x0, y0); i.e., plot the first point.
3. Calculate the constants ∆x, ∆y, 2∆y, and 2∆y − 2∆x, and obtain the starting value for the decision
parameter as
p0 = 2∆y − ∆x
Computer Graphics
4. At each xk along the line, starting at k = 0, perform the following test. If pk < 0, the next point to
plot is (xk + 1, yk ) and 28
pk+1 = pk + 2∆y
5. Otherwise, the next point to plot is (xk + 1, yk + 1) and
pk+1 = pk + 2∆y − 2∆x
6. Perform step 4 ∆x − 1 times.
Implementation of Bresenham Line drawing Algorithm
void lineBres (int xa, int ya, int xb, int yb)
{
int dx = abs( xa – xb) , dy = abs (ya - yb);
int p = 2 * dy – dx;
int twoDy = 2 * dy, twoDyDx = 2 *(dy - dx);
int x , y, xEnd; /* determine which point to use as
start, which as end */
if (xa > x b )
{
x = xb;
y = yb;
xEnd = xa;
}
else
{
x = xa;
y = ya;
xEnd = xb;
}
setPixel(x, y);
while(x < xEnd)
{
x++;
if (p < 0)
p+ = twoDy;
else
{ y++;
p+ = twoDyDx;
}
setPixel(x,y);
}
}
Computer Graphics
Example:
Consider the line with endpoints (20, 10) to (30, 18) 29
The line has the slope m = (18 - 10)/ (30 - 20) = 8/10 = 0.8
Δx = 10
Δy = 8
The initial decision parameter has the value p0 = 2Δy - Δx = 6
and the increments for calculating successive decision parameters are
2Δy = 16
2Δy - 2 Δx = -4
We plot the initial point (x0, y0) = (20, 10) and determine successive pixel positions along the
line path from the decision parameter.
Tabulation:

2.8 Pixel positions along the line path between endpoints (20, 10) and (30, 18) plotted with
Bresenham’s line algorithm

Advantages
1. Algorithm is fast
2. Uses only integer calculations
Disadvantages
1. It is meant only for basic line drawing.
LOADING THE FRAME BUFFER
 After scan converting the straight line segments and other objects in the raster system, frame
buffer positions must be calculated.
Computer Graphics
 It is done by set pixel procedure that stores intensity values for the pixels at corresponding
addresses within the frame buffer array. 30
 Scan conversion algorithms generate pixel positions at successive intervals.
 To calculate frame-buffer addresses, incremental methods are used.

Figure 2.9 Pixel screen positions stored within the frame buffer
 For example, in the figure 2.9, the frame buffer array is addressed in row major order. The pixel
positions vary from (0,0) to (xmax, ymax).
 The pixel postion (x,y) is calculated as follows:
addr (x,y) = addr (0,0) + y(xmax+1) + x
 We can calculate the frame buffer address for the next pixel logo in the scanline by using
incremental method as follows:
addr (x+1,y) = addr (x, y) +1
 For calculating the frame buffer address for the pixel position (x+1, y+1).
addr (x+1,y+1) = addr (x,y) + xmax+2
 Where the constant xmax +2 is precomputed once for all line segments.
CIRCLE GENERATING ALGORITHMS
PROPERTIES OF CIRCLE
 A circle is defined as the set of points that are all at a given distance r from a center position (xc,
yc).

Figure 2.10 Circle with Center Coordinate (xc, yc) and Radius r
Computer Graphics
The distance relationship is expressed by the Pythagorean Theorem in Cartesian coordinates as follows
(x – xc)2+(y – yc)2 = r2 31
y values at each position is calculated as

and the x axis steps from xc – r to xc + r. This method is not a best method for generating a circle.
Problems
(1) It involves considerable computation at each step.
(2) The spacing between each plotted pixel position is not uniform.
Solutions
(1) The spacing can be adjusted by interchanging x and y whenever the absolute value of the
slope of the circle is greater than 1.
 It increases the computation and processing of the algorithm.
(2) Another way to adjust the unequal spacing is to calculate points along the circular boundary
using polar coordinates r and θ.
 The circle equation in parametric polar form yields the following pair of equations:
x = xc+r cosθ
y = yc+r sinθ
Where θ is a fixed angular step size.

By using the above equation, a circle is plotted with equally spaced points along the
circumference.

Symmetry of a circle
•By considering the symmetry of a circle, computations can be reduced.
•The shape of the circle is similar in all the four quadrants.

Figure 2.11: Symmetry of a circle


 There is symmetry between octants (shown in figure 2.11).
Computer Graphics
 Circle sections in adjacent octants within one quadrant are symmetric with respect to the 45° line
dividing the two octants. 32
Advantage
 We can generate all pixel positions around a circle by calculating only the points within the sector
from x=0 to x=y.
MIDPOINT CIRCLE ALOGITHM
 In midpoint method, the circle function is defined as follows:
fcircle (x, y) =x2+y2–r2
 Any point (x,y) on the boundary of the circle with radius r or satisfies the following equation.
fcircle (x, y) = 0
 If the point is in the interior of the circle, the circle function is negative.
 If the point is outside the circle, the circle function is positive.
 The relative position of any point (x,y) can be determined by checking the sign of the circle
function as follows:

 The circle function test is performed for the mid positions between pixels near the circle path at
each sampling step. So the circle function is the decision parameter in the midpoint algorithm.

Figure 2.12 Mid Point between Candidate Pixels


Computer Graphics

33
Computer Graphics
 The start position (0, r) with the value (0, 2r).
 Successive values are obtained by adding 2 to the previous value of 2x, and subtracting 2 from 34
the previous value of 2y.
Computer Graphics

35
Computer Graphics
ATTRIBUTES OF OUTPUT PRIMITIVES
Any parameter that affects the way a primitive is to be displayed is referred to as an 36
attribute parameter. Attribute parameters are color, size etc. It is used to determine the
fundamental characteristics of a primitive.
TYPES OF ATTRIBUTES
1. Line Attributes
2. Curve Attributes
3. Color and Grayscale Levels
4. Area Fill Attributes
5. Character Attributes
6. Bundled Attributes
Line Attributes
Basic attributes of a straight line segment are
1. Line Type
2. Line Width
3. Pen and Brush Options
4. Line Color
Line type
Line type attribute includes solid lines, dashed lines and dotted lines.
To set line type attributes in a PHIGS application program, a user invokes the function
setLinetype (lt)
where parameter lt is assigned a positive integer value of 1, 2, 3 or 4 to generate lines that are
solid, dashed, dash dotted respectively. Other values for line type parameter it could be used to display
variations in dot-dash patterns.
Line width
Implementation of line width option depends on the capabilities of the output device to set the
line width attributes.
To set the line-width attributes using the following command
setLinewidthScaleFactor (lw)
 Line width parameter lw is assigned a positive number to indicate the relative width of line to be
displayed.
 A value of 1 specifies a standard width line.
 To set lw to a value of 0.5 to plot a line whose width is half that of the standard line.
 Values greater than 1 produce lines thicker than the standard.
Computer Graphics
Line Cap
 To adjust the shape of the line ends to give them a better appearance by adding line cap (Fig: 2.8). 37
 There are three types of line cap. They are
1. Butt cap
2. Round cap
3. Projecting square cap

Fig 2.13 Types of Line Cap


Butt cap
It obtained by adjusting the end positions of the component parallel lines so that the thick line is
displayed with square ends that are perpendicular to the line path.
Round cap
 It obtained by adding a filled semicircle to each butt cap.
 The circular arcs are centered on the line endpoints and have a diameter equal to the line
thickness.
Projecting square cap
It extends the line and adds butt caps that are positioned one-half of the line width beyond the
specified endpoints (Fig: 2.9)
There are three possible methods for smoothly joining two line segments,
1. Miter Join
2. Round Join
3. Bevel Join

Fig 2.14 Types of Line Joining


Miter join
It is accomplished by extending the outer boundaries of each of the two lines until they meet.
Computer Graphics
Round join
It is produced by capping the connection between the two segments with a circular boundary 38
whose diameter is equal to the width.
Bevel join
It is generated by displaying the line segment with but caps and filling in triangular gap where the
segments meet.
Pen and Brush Options
 In some graphics packages, lines can also be displayed using selected pen or brush options.
 Options in this category include shape, size, and pattern. Some possible pen or brush shapes are
given in following figure 2.10.

Fig 2.15 Various Pen and Brush Shapes


Line color
 A poly line routine displays a line in the current color by setting this color value in the frame
buffer at pixel locations along the line path using the set pixel procedure.
 To set the line color value in PHlGS with the function
setPolylineColourIndex (lc)
Non negative integer values, corresponding to allowed color choices, are assigned to the line
color parameter lc.
Example:
Various line attribute commands in an applications program is given by the following sequence
of statements
setLinetype(2);
setLinewidthScaleFactor(2);
setPolylineColourIndex (5);
polyline(n1, wc points1);
setPolylineColorIindex(6);
poly line (n2, wc points2);
Area Fill Attributes
Options for filling a defined region include a choice between a solid color and a pattern fill and
choices for particular colors and patterns. These fill options can be applied to polygon regions or to areas
defined with curved boundaries depending on the capabilities of available package.
Computer Graphics
The areas can be displayed using various brush styles, colors and transparency parameters.
Fill Styles 39
Areas are displayed with three basic fill styles, are shown in
Fig: 2.11.
1. Hollow with a color border
2. Filled with a solid color
3. Filled with a specified pattern or design.

Fig 2.16 Polygon Fill styles


A basic fill style is selected in a PHIGS program with the function
setInteriorStyle (fs)
 Values for the fill-style parameter fs include hollow, solid, and pattern.
 Another value for fill style is hatch, which is used to fill an area with selected hatching patterns
such as parallel lines or crossed lines.
 The color for a solid interior or for a hollow area outline is chosen with where fill color parameter
fc is set to the desired color code
setInteriorColourIndex (fc)
where fill-color parameter fc is set to the desired color code. Some other fill options are used to
specify the edge type, edge width and edge color of a region.
Pattern Fill
To select fill patterns with the following function
setInteriorStyleIndex (pi)
Where pattern index parameter pi specifies a table position
For example, the following set of statements would fill the area defined in the fillArea command
with the second pattern type stored in the pattern table:
SetInteriorStyle( pattern);
SetInteriorStyleIndex(2);
Fill area (n, points);
Computer Graphics

40

For fill style pattern, table entries can be created on individual output devices with the following
function
setPatternRepresentation (ws,pi,nx,ny,cp)
Parameter pi sets the pattern index number for workstation code ws, and cp is a two dimensional
array of color codes with nx columns and ny rows. For example the following function could be used to
set the first entry in the pattern table for workstation 1.

cp [1,1 ] = 4; cp [2,2] = 4;

cp [1,2] = 0; cp[2,1] = 0;

setPatternRepresentation (1,1,2,2,cp);
When color array cp is to be applied to fill a region, we need to specify the size of an array with
the following function
setPatternSize( dx,dy)
Where parameters dx and dy give the coordinate width and height of the array mapping. Then a
reference position for starting a pattern fill is assigned with the following statement;
setPatternReferencePoint (position);
Where parameter position is a pointer to coordinates (xp,yp) that fix the lower left corner of the
rectangular pattern.
Tiling:
The process of filling an area with a rectangular pattern is called tiling and it is also referred to as
tiling patterns.
Soft Fill:
Soft fill or tint fill algorithms are applied to repaint areas so that the fill color is combined with
background color. An example of this type of fill is linear soft fill algorithm repaints an area by merging a
fore ground color F with a single background color B, Where F is not equal B.
Character Attributes
 The appearance of displayed character is controlled by attributes such as font, size, color and
orientation.
Computer Graphics
 Attributes can be set both for entire character strings (text) and for individual characters defined
as marker symbols. 41
Text Attributes
 The choice of font or type face is set of characters with a particular design style as courier,
Helvetica, times roman, and various symbol groups.
 The characters in a selected font also are displayed with styles (solid, dotted, double) in bold face
in italics and in outline or shadow styles.
A particular font and associated style is selected in a PHIGS program by setting an integer code
for the text font parameter tf in the function
setTextFont (tf)
Control of text color (or intensity) is managed from an application program with
setTextColourIndex (tc)
Where text color parameter tc specifies an allowable color code.
We can adjust text size by scaling the overall dimensions of characters or by scaling only the
character width.
Character size is specified by points, where 1 point is 0.013837 inch. Point measurements specify
the size of the body of a character.
The distance between the bottom-line and the top line of the character body is same for all
characters in particular size and typeface, but width of the body may vary.
Proportionally spaced fonts assign a smaller body width to narrow characters such as i, j, l and f
compared to broad characters such as W or M.
Character height is defined as the distance between the base line and cap line of characters.
Text size can be adjusted without changing the width to height ratio of characters with
setCharacterHeight (ch)
Parameter ch is assigned a real value greater than 0 to set the coordinate height of capital letters.

The width of text can be set with function.


setCharacterExpansionFactor (cw)
Where the character width parameter cw is set to a positive real value that scales the body width
of character.
Computer Graphics

Width 0.5 42
Width 1.0

Width 2.0
Spacing between characters is controlled separately with
setCharacterSpacing (cs)

Spacing
Spacing
S p ac i n g
Where the character-spacing parameter cs can he assigned any real value.
The orientation for a displayed character string is set according to the direction of the character up
vector
setCharacterUpVector (upvect)
Parameter upvect in this function is assigned two values that specify the x and y vector
components.
Text is displayed so that the orientation of characters from base line to cap line is in the direction
of the up vector. For example, upvect = (1, 1) is displayed the text in 450 as shown in the following
figure.

D.Ananthi.,M.Sc.,M.Phil.,B.Ed.,SET.,
Computer Graphics
To arrange character strings vertically or horizontally
setTextPath (tp) 43
tp can be assigned the value: right, left, up, or down
Another attribute for character strings is alignment. This attribute specifies how text is to be
positioned with respect to the start coordinates. Alignment attributes are set with
SetTextAlignment (h,v)
Where parameters h and v control horizontal and vertical alignment.

ST RING
GNIRTS STRING
STRING

Horizontal alignment is set by assigning h a value of left, center, or right.


Vertical alignment is set by assigning v a value of top, cap, half, base or bottom.
A precision specification for text display is given with
SetTextPrecision (tpr)
tpr is assigned one of values string, char or stroke.
Marker Attributes
Marker symbol is a single character that can he displayed in different colors and in different sizes.
To select a particular character to be the marker symbol with
setMarkerType (mt)
Where marker type parameter mt is set to an integer code
Typical codes for marker type are the integers 1 through 5, specifying, respectively, a dot (.) a
vertical cross (+), an asterisk (*), a circle (o), and a diagonal cross (X).
To set the marker size with

setMarkerSizeScaleFactor (ms)
With parameter marker size ms assigned a positive number. This scaling parameter is applied to
the nominal size for the particular marker symbol.
Values greater than 1 increase the marker size and values less than one reduce the marker size.

D.Ananthi.,M.Sc.,M.Phil.,B.Ed.,SET.,
Computer Graphics
Marker color is specified with
SetPolymarkerColourIndex (mc) 44
Selected color code parameter mc is stored in the current attribute list and used to display
subsequently specified marker primitives

Bundled Attributes
A single attribute that specifies exactly how a primitive is to be displayed with that attribute
setting. These specifications are called individual or unbundled attributes.
A particular set of attributes values for a primitive on each output device is chosen by specifying
appropriate table index. Attributes specified in this manner are called bundled attributes.
The table for each primitive that defines groups of attribute values to be used on particular output
devices is called a bundle table.
The choice between a bundled or an unbundled specification is made by setting a switch called
the aspect source flag for each of these attributes
setIndividualASF( attributeptr, flagptr)

Where parameter attributerptr points to a list of attributes and parameter flagptr points to the
corresponding list of aspect source flags.
Each aspect source flag can be assigned a value of individual or bundled.
Bundled line Attributes
Entries in the bundle table for line attributes on a specified workstation are set with the function

setPolylineRepresentation (ws, li, lt, lw, lc)


Parameter ws is the workstation identifier and line index parameter li defines the bundle table
position.
Parameter lt, lw, tc are then bundled and assigned values to set the line type, line width, and line
color specifications for designated table index.
Example
setPolylineRepresentation (1, 3, 2, 0.5, 1)
setPolylineRepresentation (4, 3, 1, 1, 7)

A poly line that is assigned a table index value of 3 would be displayed using dashed lines at half
thickness in a blue color on work station 1; while on workstation 4, this same index generates solid,
standard-sized white lines.
Once the bundled tables have been set up, a group of bundled line attributes is chosen for each
workstation by specifying table index value;

D.Ananthi.,M.Sc.,M.Phil.,B.Ed.,SET.,
Computer Graphics
setPolylineIndex (li);
Bundled Area fills Attributes 45
Table entries for bundled area-fill attributes are set with
setInteriorRepresentation (ws, fi, fs, pi, fc)
Which defines the attributes list corresponding to fill index fi on workstation ws.
 Parameter fs, pi and fc are assigned values for the fill style, pattern index and fill color
respectively.
 A particular attribute bundle is selected from the table with the function
setInteriorIndex (fi);
Bundled Text Attributes
Table entries for bundled text attributes are set with
setTextRepresentation (ws, ti, tf, tp, te, ts, tc)

Bundles values for text font, precision,expansion factor, size and color in a table position for
work station ws that is specified by value assigned to text index parameter ti.
A particular text index value is chosen with the function
setTextIndex (ti);
Bundled Marker Attributes
Table entries for bundled marker attributes are set with
setPolymarkerRepresentation (ws, mi, mt, ms, mc)
That defines marker type, marker scale factor, marker color for index mi on workstation ws.
Bundle table selections are made with the function
setPolymarkerIndex (mi);
COLOUR AND GRAYSCALE LEVELS
 Colour options are numerically coded with values ranging from 0 through the positive integers.
These color codes are converted to intensity level settings for the electron beams in CRT
monitors.
 Color Tables
 Color information can be stored in the frame buffer in two ways :
o The colour codes can be directly put in the frame buffer (or)
o Colour codes can be maintained in a separate table and pixel values can be used as an
index into this table.

D.Ananthi.,M.Sc.,M.Phil.,B.Ed.,SET.,
Computer Graphics

46

Figure.2.17: Colour look-up table


Advantages of storing colour codes in lookup table
(1) Colour table can provide a reasonable number of simultaneous colours without requiring large
frame buffers.
(2) Table entries can be changed at anytime, and allows the user to experiment easily with
different color combinations in a design, scene or graph without changing the attribute settings
for the graphics data structure.
(3) Visualization applications can store values for some physical quantity such as energy in the
frame buffer.
(4) Use lookup table to get various color encodings without changing the pixel values.
(5) In visualization and image processing applications, color tables are used for setting color
thresholds so that all pixel values above or below a specified threshold can be set the same colour.
Grayscale
 With monitors that have no color capability, color functions can be used in an application
program to set the shades of gray, or grayscale for the displayed primitives.
 Numeric values from 0 to 1, can be used to specify grayscale levels, which are converted to
appropriate binary codes for storage in the raster.
 The table given below shows the specification for intensity codes for a four level grayscale
system.

D.Ananthi.,M.Sc.,M.Phil.,B.Ed.,SET.,
Computer Graphics

47

 Intensity is calculated based on the colour index as follows:


Intensity = 0.5 [min (r,g,b) + max (r,g,b)]
INQUIRY FUNCTION
 Inquiry functions are used to retrieve the current settings of attributes and other parameters such
as workstation types and status from the system lists.
 By using inquiry function, current values of any specified parameter can be saved and then they
can be reused later or they can be used to check the current state of the system if any error
encounters.
 Current attribute values are checked by specifying the name of the attribute in the inquiry
function as follows
inquirePolylineIndex (last li)
To copy the current values of attributes
inquireInteriorColorIndex (last_fc)
 The above function the current values of line index and fill color into parameters last last li and
lastfc.

D.Ananthi.,M.Sc.,M.Phil.,B.Ed.,SET.,

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy