Computer Graphics
Computer Graphics
Introduction
• Computer is information processing machine. User needs to communicate with computer and the computer
graphics is one of the most effective and commonly used ways of communication with the user.
• It displays the information in the form of graphical objects such as pictures, charts, diagram and graphs.
• Graphical objects convey more information in less time and easily understandable formats for example
statically graph shown in stock exchange.
• In computer graphics picture or graphics objects are presented as a collection of discrete pixels.
• We can control intensity and color of pixel which decide how picture look like.
• The special procedure determines which pixel will provide the best approximation to the desired picture or
graphics object this process is known as Rasterization.
• The process of representing continuous picture or graphics object as a collection of discrete pixels is
called Scan Conversion.
1
Unit-1 – Basics of Computer Graphics
• Simulation and animation: - Use of graphics in simulation makes mathematic models and mechanical
systems more realistic and easy to study.
• Art and commerce: - There are many tools provided by graphics which allows used to make their picture
animated and attracted which are used in advertising.
• Process control: - Now a day’s automation is used which is graphically displayed on the screen.
• Cartography: - Computer graphics is also used to represent geographic maps, weather maps,
oceanographic charts etc.
• Education and training: - Computer graphics can be used to generate models of physical, financial and
economic systems. These models can be used as educational aids.
• Image processing: - It is used to process image by changing property of the image.
Display devices
• Display devices are also known as output devices.
• Most commonly used output device in a graphics system is a video monitor.
Cathode-ray-tubes
CPU
I/O Port
Display
buffer (Interaction (Display
memory data) command)
Keyboard Mouse
• Vector scan display directly traces out only the desired lines on CRT.
• If we want line between point p1 & p2 then we directly drive the beam deflection circuitry which focus
beam directly from point p1 to p2.
• If we do not want to display line from p1 to p2 and just move then we can blank the beam as we move it.
• To move the beam across the CRT, the information about both magnitude and direction is required. This
information is generated with the help of vector graphics generator.
• Fig. 1.2 shows architecture of vector display. It consists of display controller, CPU, display buffer memory and
CRT.
• Display controller is connected as an I/O peripheral to the CPU.
• Display buffer stores computer produced display list or display program.
• The Program contains point & line plotting commands with end point co-ordinates as well as character
plotting commands.
• Display controller interprets command and sends digital and point co-ordinates to a vector generator.
• Vector generator then converts the digital co-ordinate value to analog voltages for beam deflection circuits
that displace an electron beam which points on the CRT’s screen.
• In this technique beam is deflected from end point to end point hence this techniques is also called random
scan.
• We know as beam strikes phosphors coated screen it emits light but that light decays after few milliseconds
and therefore it is necessary to repeat through the display list to refresh the screen at least 30 times per
second to avoid flicker.
• As display buffer is used to store display list and used to refreshing, it is also called refresh buffer.
3
Unit-1 – Basics of Computer Graphics
Raster scan display
CPU
I/O Port
(Interaction (Display
data) command
Keyboard
Display controller
Mouse
00000000000000000
00000111111100000 CRT
00000000100000000 Video controller T
00000000100000000
00000000100000000
Refresh buffer
• Fig. 1.3 shows the architecture of Raster display. It consists of display controller, CPU, video controller,
refresh buffer, keyboard, mouse and CRT.
• The display image is stored in the form of 1’s and 0’s in the refresh buffer.
• The video controller reads this refresh buffer and produces the actual image on screen.
• It will scan one line at a time from top to bottom & then back to the top.
Horizontal
Vertical OFF ON Retrace
Retrace
• In this method the horizontal and vertical deflection signals are generated to move the beam all over the
screen in a pattern shown in fig. 1.4.
• Here beam is swept back & forth from left to the right.
• When beam is moved from left to right it is ON.
4
Unit-1 – Basics of Computer Graphics
• When beam is moved from right to left it is OFF and process of moving beam from right to left after
completion of row is known as Horizontal Retrace.
• When beam is reach at the bottom of the screen. It is made OFF and rapidly retraced back to the top left to
start again and process of moving back to top is known as Vertical Retrace.
• The screen image is maintained by repeatedly scanning the same image. This process is known as
Refreshing of Screen.
• In raster scan displays a special area of memory is dedicated to graphics only. This memory is called
Frame Buffer.
• Frame buffer holds set of intensity values for all the screen points.
• That intensity is retrieved from frame buffer and display on screen one row at a time.
• Each screen point referred as pixel or Pel (Picture Element).
• Each pixel can be specified by its row and column numbers.
• It can be simply black and white system or color system.
• In simple black and white system each pixel is either ON or OFF, so only one bit per pixel is needed.
• Additional bits are required when color and intensity variations can be displayed up to 24-bits per pixel are
included in high quality display systems.
• On a black and white system with one bit per pixel the frame buffer is commonly called a Bitmap. And for
systems with multiple bits per pixel, the frame buffer is often referred as a Pixmap.
5
Base of Difference Raster Scan System Random Scan System
Electron Beam The electron beam is swept across the The electron beam is directed only to the
screen, one row at a time, from top to parts of screen where a picture is to be
bottom. drawn.
Resolution Its resolution is poor because raster Its resolution is good because this system
system in contrast produces zigzag lines produces smooth lines drawings because CRT
that are plotted as discrete point sets. beam directly follows the line path.
Picture Definition Picture definition is stored as a set of Picture definition is stored as a set of line
intensity values for all screen points, drawing instructions in a display file.
called pixels in a refresh buffer area.
Realistic Display The capability of this system to store These systems are designed for line- drawing
intensity values for pixel makes it well and can’t display realistic shaded scenes.
suited for the realistic display of scenes
contain shadow and color pattern.
Draw an Image Screen points/pixels are used to draw an Mathematical functions are used to draw an
image. image.
Unit-1 – Basics of Computer Graphics
Raster graphics systems
System Bus
I/O Devices
• Raster graphics systems having additional processing unit like video controller or display controller.
• Here frame buffer can be anywhere in the system memory and video controller access this for refresh the
screen.
• In addition to video controller more processors are used as co-processors to accelerate the system in
sophisticated raster system.
Raster graphics system with a fixed portion of the system memory reserved for
the frame buffer
System bus
I/O Devices
Fig. 1.15: - Architecture of a raster graphics system with a fixed portion of the system memory reserved for the
frame buffer.
13
Unit-1 – Basics of Computer Graphics
• A fixed area of the system memory is reserved for the frame buffer and the video controller can directly
access that frame buffer memory.
• Frame buffer location and the screen position are referred in Cartesian coordinates.
• For many graphics monitors the coordinate origin is defined at the lower left screen corner.
• Screen surface is then represented as the first quadrant of the two dimensional systems with positive X-
value increases as left to right and positive Y-value increases bottom to top.
X Y
register register
Frame Buffer
• Two registers are used to store the coordinates of the screen pixels which are X and Y
• Initially the X is set to 0 and Y is set to Ymax.
• The value stored in frame buffer for this pixel is retrieved and used to set the intensity of the CRT beam.
• After this X register is incremented by one.
• This procedure is repeated till X becomes equals to Xmax.
• Then X is set to 0 and Y is decremented by one pixel and repeat above procedure.
• This whole procedure is repeated till Y is become equals to 0 and complete the one refresh cycle. Then
controller reset the register as top –left corner i.e. X=0 and Y=Ymax and refresh process start for next refresh
cycle.
• Since screen must be refreshed at the rate of 60 frames per second the simple procedure illustrated in figure
cannot be accommodated by typical RAM chips.
• To speed up pixel processing video controller retrieves multiple values at a time using more numbers of
registers and simultaneously refresh block of pixel.
• Such a way it can speed up and accommodate refresh rate more than 60 frames per second.
14
Unit-1 – Basics of Computer Graphics
Raster-graphics system with a display processor
System Bus
I/O Devices
15
Unit-1 – Basics of Computer Graphics
Monitor
CPU System Display
Memory Processor
System Bus
I/O Devices
• An application program is input & stored in the system memory along with a graphics package.
• 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 used by display processor to refresh the screen.
• Display process goes through each command in display file. Once during every refresh cycle.
• Sometimes the display processor in random scan system is also known as display processing unit or a
graphics controller.
• In this system graphics platform are drawn on random scan system by directing the electron beam along the
component times of the picture.
• Lines are defined by coordinate end points.
• This input coordinate values are converts to X and Y deflection voltages.
• A scene is then drawn one line at a time.
Keyboards
• Keyboards are used as entering text strings. It is efficient devices for inputting such a non-graphics data as
picture label.
• Cursor control key’s & function keys are common features on general purpose keyboards.
• Many other application of key board which we are using daily used of computer graphics are
commanding & controlling through keyboard etc.
Mouse
• Mouse is small size hand-held box used to position screen cursor.
• Wheel or roller or optical sensor is directing pointer on the according to movement of mouse.
• Three buttons are placed on the top of the mouse for signaling the execution of some operation.
• Now a day’s more advance mouse is available which are very useful in graphics application for example Z
mouse.
Joysticks
• A joy stick consists of small vertical lever mounted on a base that is used to steer the screen cursor around.
• Most joy sticks selects screen positioning according to actual movement of stick (lever).
• Some joy sticks are works on pressure applied on sticks.
• Sometimes joy stick mounted on keyboard or sometimes used alone.
• Movement of the stick defines the movement of the cursor.
• In pressure sensitive stick pressure applied on stick decides movement of the cursor. This pressure is
measured using strain gauge.
• This pressure sensitive joy sticks also called as isometric joy sticks and they are non movable sticks.
Data glove
• Data glove is used to grasp virtual objects.
• The glow is constructed with series of sensors that detect hand and figure motions.
• Electromagnetic coupling is used between transmitter and receiver antennas which used to provide position
and orientation of the hand.
• Transmitter & receiver Antenna can be structured as a set of three mutually perpendicular coils forming 3D
Cartesian coordinates system.
• Input from the glove can be used to position or manipulate object in a virtual scene.
Digitizer
• Digitizer is common device for drawing painting or interactively selecting coordinates position on an object.
• One type of digitizers is graphics tablet which input two dimensional coordinates by activating hand cursor
or stylus at selected position on a flat surface.
• Stylus is flat pencil shaped device that is pointed at the position on the tablet.
Image Scanner
• Image Scanner scan drawing, graph, color, & black and white photos or text and can stored for computer
processing by passing an optical scanning mechanism over the information to be stored.
• Once we have internal representation of a picture we can apply transformation.
• We can also apply various image processing methods to modify the picture.
• For scanned text we can apply modification operation.
Touch Panels
• As name suggest Touch Panels allow displaying objects or screen-position to be selected with the touch or
finger.
• A typical application is selecting processing option shown in graphical icons.
17
Unit-1 – Basics of Computer Graphics
• Some system such as a plasma panel are designed with touch screen
• Other system can be adapted for touch input by fitting transparent touch sensing mechanism over a screen.
• Touch input can be recorded with following methods.
1. Optical methods
2. Electrical methods
3. Acoustical methods
Optical method
• Optical touch panel employ a line of infrared LEDs along one vertical and one horizontal edge.
• The opposite edges of the edges containing LEDs are contain light detectors.
• When we touch at a particular position the line of light path breaks and according to that breaking line
coordinate values are measured.
• In case two line cuts it will take average of both pixel positions.
• LEDs operate at infrared frequency so it cannot be visible to user.
Electrical method
• An electrical touch panel is constructed with two transparent plates separated by small distance.
• One is coated with conducting material and other is coated with resistive material.
• When outer plate is touch it will come into contact with internal plate.
• When both plates touch it creates voltage drop across the resistive plate that is converted into
coordinate values of the selected position.
Acoustical method
• In acoustical touch panel high frequency sound waves are generated in horizontal and vertical direction
across a glass plates.
• When we touch the screen the waves from that line are reflected from finger.
• These reflected waves reach again at transmitter position and time difference between sending and
receiving is measure and converted into coordinate values.
Light pens
• Light pens are pencil-shaped device used to select positions by detecting light coming from points on the
CRT screen.
• Activated light pens pointed at a spot on the screen as the electron beam lights up that spot and generate
electronic pulse that causes the coordinate position of the electron beam to be recorded.
Voice systems
• It is used to accept voice command in some graphics workstations.
• It is used to initiate graphics operations.
• It will match input against predefined directory of words and phrases.
• Dictionary is setup for a particular operator by recording his voice.
• Each word is speak several times and then analyze the word and establishes a frequency pattern for that
word along with corresponding function need to be performed.
• When operator speaks command it will match with predefine dictionary and perform desired action.
18
Unit-1 – Basics of Computer Graphics
• A general programming package provides an extensive set of graphics function that can be used in high level
programming language such as C or FORTRAN.
• It includes basic drawing element shape like line, curves, polygon, color of element transformation etc.
• Example: - GL (Graphics Library).
• Special-purpose application package are customize for particular application which implement required
facility and provides interface so that user need not to vory about how it will work (programming). User can
simply use it by interfacing with application.
• Example: - CAD, medical and business systems.
Coordinate representations
• Except few all other general packages are designed to be used with Cartesian coordinate specifications.
• If coordinate values for a picture are specified is some other reference frame they must be converted to
Cartesian coordinate before giving input to graphics package.
• Special-purpose package may allow use of other coordinates which suits application.
• In general several different Cartesian reference frames are used to construct and display scene.
• We can construct shape of object with separate coordinate system called modeling coordinates or
sometimes local coordinates or master coordinates.
• Once individual object shapes have been specified we can place the objects into appropriate positions called
world coordinates.
• Finally the World-coordinates description of the scene is transferred to one or more output device reference
frame for display. These display coordinates system are referred to as “Device Coordinates” or “Screen
Coordinates”.
• Generally a graphic system first converts the world-coordinates position to normalized device coordinates. In
the range from 0 to 1 before final conversion to specific device coordinates.
• An initial modeling coordinates position ( Xmc,Ymc) in this illustration is transferred to a device coordinates
position(Xdc,Ydc) with the sequence ( Xmc,Ymc)🡪 ( Xwc,Ywc)🡪 ( Xnc,Ync)🡪 ( Xdc,Ydc).
Graphic Function
• A general purpose graphics package provides user with Varity of function for creating and manipulating
pictures.
• The basic building blocks for pictures are referred to as output primitives. They includes character, string, and
geometry entities such as point, straight lines, curved lines, filled areas and shapes defined with arrays of
color points.
• Input functions are used for control & process the various input device such as mouse, tablet, etc.
• Control operations are used to controlling and housekeeping tasks such as clearing display screen etc.
• All such inbuilt function which we can use for our purpose are known as graphics function
19
Unit-1 – Basics of Computer Graphics
Software Standard
• Primary goal of standardize graphics software is portability so that it can be used in any hardware systems &
avoid rewriting of software program for different system
• Some of these standards are discuss below
• This system was adopted as a first graphics software standard by the international standard organization
(ISO) and various national standard organizations including ANSI.
• GKS was originally designed as the two dimensional graphics package and then later extension was
developed for three dimensions.
• PHIGS is extension of GKS. Increased capability for object modeling, color specifications, surface
rendering, and picture manipulation are provided in PHIGS.
• Extension of PHIGS called “PHIGS+” was developed to provide three dimensional surface shading
capabilities not available in PHIGS.
Scan Conversion Definition
It is a process of representing graphics objects a collection of pixels.
The graphics objects are continuous. The pixels used are discrete. Each pixel
can have either on or off state.
The circuitry of the video display device of the computer is capable of
converting binary values (0, 1) into a pixel on and pixel off information. 0 is
represented by pixel off. 1 is represented using pixel on. Using this ability
graphics computer represent picture having discrete dots.
Any model of graphics can be reproduced with a dense matrix of dots or points.
Most human beings think graphics objects as points, lines, circles, ellipses. For
generating graphical object, many algorithms have been developed.
Advantage of developing algorithms for scan conversion
1. Algorithms can generate graphics objects at a faster rate.
2. Using algorithms memory can be used efficiently.
3. Algorithms can develop a higher level of graphical objects.
Examples of objects which can be scan converted
1. Point
2. Line
3. Sector
4. Arc
5. Ellipse
6. Rectangle
7. Polygon
8. Characters
9. Filled Regions
The process of converting is also called as rasterization. The algorithms
implementation varies from one computer system to another computer system.
Some algorithms are implemented using the software. Some are performed
using hardware or firmware. Some are performed using various combinations of
hardware, firmware, and software.
Pixel or Pel:
The term pixel is a short form of the picture element. It is also called a
point or dot. It is the smallest picture unit accepted by display devices. A picture
is constructed from hundreds of such pixels. Pixels are generated using
commands. Lines, circle, arcs, characters; curves are drawn with closely spaced
pixels. To display the digit or letter matrix of pixels is used.
The closer the dots or pixels are, the better will be the quality of picture. Closer
the dots are, crisper will be the picture. Picture will not appear jagged and
unclear if pixels are closely spaced. So the quality of the picture is directly
proportional to the density of pixels on the screen.
Pixels are also defined as the smallest addressable unit or element of the screen.
Each pixel can be assigned an address as shown in fig:
DDA Algorithm
DDA stands for Digital Differential Analyzer. It is an incremental method
of scan conversion of line. In this method calculation is performed at each step
but by using results of previous steps.
Suppose at step i, the pixels is (xi,yi)
The line of equation for step i
yi=mxi+b......................equation 1
Next value will be
yi+1=mxi+1+b.................equation 2
m=
yi+1-yi=∆y.......................equation 3
yi+1-xi=∆x......................equation 4
yi+1=yi+∆y
∆y=m∆x
yi+1=yi+m∆x
∆x=∆y/m
xi+1=xi+∆x
xi+1=xi+∆y/m
Case1: When |M|<1 then (assume that x1<x2)
x= x1,y=y1 set ∆x=1
yi+1=y1+m, x=x+1
Until x = x2</x
Until y → y2</y
Advantage:
3. It allows us to detect the change in the value of x and y ,so plotting of same point
Disadvantage:
1. It involves floating point additions rounding off is done. Accumulations of round off
2. Rounding off operations and floating point operations consumes a lot of time.
3. It is more suitable for generating line using the software. But it is less suited for
hardware implementation.
DDA Algorithm:
Else
Step7: xinc=dx/step
yinc=dy/step
assign x = x1
assign y = y1
Step9: x = x + xinc
y = y + yinc
di=△x (2 (xi+1)+2b-2yi-1)
=2△xyi-2△y-1△x.2b-2yi△x-△x
di=2△y.xi-2△x.yi+c
Where c= 2△y+△x (2b-1)
We can write the decision variable di+1 for the next slip on
di+1=2△y.xi+1-2△x.yi+1+c
di+1-di=2△y.(xi+1-xi)- 2△x(yi+1-yi)
Since x_(i+1)=xi+1,we have
di+1+di=2△y.(xi+1-xi)- 2△x(yi+1-yi)
Special Cases
If chosen pixel is at the top pixel T (i.e., di≥0)⟹ yi+1=yi+1
di+1=di+2△y-2△x
If chosen pixel is at the bottom pixel T (i.e., di<0)⟹ yi+1=yi
di+1=di+2△y
Finally, we calculate d1
d1=△x[2m(x1+1)+2b-2y1-1]
d1=△x[2(mx1+b-y1)+2m-1]
Advantage:
1. It involves only integer arithmetic, so it is simple.
2. It avoids the generation of duplicate points.
3. It can be implemented using hardware because it does not use multiplication
and division.
4. It is faster as compared to DDA (Digital Differential Analyzer) because it
does not involve floating point calculations like DDA Algorithm.
Disadvantage:
1. This algorithm is meant for basic line drawing only Initializing is not a part of
Bresenham's line algorithm. So to draw smooth lines, you should want to look
into a different algorithm.
1. DDA Algorithm use floating point, i.e., 1. Bresenham's Line Algorithm use fixed point,
Real Arithmetic. i.e., Integer Arithmetic
2. DDA Algorithms uses multiplication & 2.Bresenham's Line Algorithm uses only
division its operation subtraction and addition its operation
4. DDA Algorithm is not accurate and 4. Bresenham's Line Algorithm is more accurate
efficient as Bresenham's Line Algorithm. and efficient at DDA Algorithm.
5.DDA Algorithm can draw circle and 5. Bresenham's Line Algorithm can draw circle
curves but are not accurate as Bresenham's and curves with more accurate than DDA
Line Algorithm Algorithm.
Defining a Circle:
Circle is an eight-way symmetric figure. The shape of circle is the same
in all quadrants. In each quadrant, there are two octants. If the calculation of the
point of one octant is done, then the other seven points can be calculated easily
by using the concept of eight-way symmetry.
For drawing, circle considers it at the origin. If a point is P1(x, y), then the other
seven points will be
So we will calculate only 45°arc. From which the whole circle can be
determined easily.
If we want to display circle on screen then the putpixel function is used for eight
points as shown below:
putpixel (x, y, color)
putpixel (x, -y, color)
putpixel (-x, y, color)
putpixel (-x, -y, color)
putpixel (y, x, color)
putpixel (y, -x, color)
putpixel (-y, x, color)
putpixel (-y, -x, color
Bresenham's Circle Algorithm:
Scan-Converting a circle using Bresenham's algorithm works as
follows: Points are generated from 90° to 45°, moves will be made only in the
+x & -y directions as shown in fig:
The best approximation of the true circle will be described by those pixels in the
raster that falls the least distance from the true circle. We want to generate the
points from
90° to 45°. Assume that the last scan-converted pixel is P1 as shown in fig. Each
new point closest to the true circle can be found by taking either of two actions.
1. Move in the x-direction one unit or
2. Move in the x- direction one unit & move in the negative y-direction one
unit.
Let D (Si) is the distance from the origin to the true circle squared minus the
distance to point P3 squared. D (Ti) is the distance from the origin to the true
circle squared minus the distance to point P2 squared. Therefore, the following
expressions arise.
D (Si)=(xi-1+1)2+ yi-12 -r2
D (Ti)=(xi-1+1)2+(yi-1 -1)2-r2
Since D (Si) will always be +ve & D (Ti) will always be -ve, a decision variable
d may be defined as follows:
Now, consider the coordinates of the point halfway between pixel T and pixel S
We can put ≅1
∴r is an integer
So, P1=1-r
Algorithm:
Step1: Put x =0, y =r in equation 2
We have p=1-r
Step2: Repeat steps while x ≤ y
Plot (x, y)
If (p<0)
Then set p = p + 2x + 3
Else
p = p + 2(x-y)+5
y =y - 1 (end if)
x =x+1 (end loop)
Step3: End