Computer Graphics (Book)
Computer Graphics (Book)
Computer Graphics (Book)
in
1
www.aktutor.in
QUANTUM SERIES
For
B.Tech Students of Third Year
of All Engineering Colleges Affiliated to
Dr. A.P.J. Abdul Kalam Technical University,
Uttar Pradesh, Lucknow
(Formerly Uttar Pradesh Technical University)
Computer Graphics
By
Kanika Dhama
TM
CONTENTS
KCS–053 : COMPUTER GRAPHICS
Apply the concepts of and techniques used in 3D computer graphics, including viewing K 2, K 3
CO 4
transformations.
CO 5 Perform the concept of projections, curve and hidden surfaces in real life. K 2, K 3
III Three Dimensional: 3-D Geometric Primitives, 3-D Object representation, 3-D Transformation, 3- 08
D viewing, projections, 3-D Clipping.
IV Curves and Surfaces: Quadric surfaces, Spheres, Ellipsoid, Blobby objects, Introductory concepts 08
of Spline, Bspline and Bezier curves and surfaces.
Hidden Lines and Surfaces: Back Face Detection algorithm, Depth buffer method, A- buffer
V method, Scan line method, basic illumination models– Ambient light, Diffuse reflection, Specular 08
reflection and Phong model, Combined approach, Warn model, Intensity Attenuation, Color
consideration, Transparency and Shadows.
Text books:
1. Donald Hearn and M Pauline Baker, “Computer Graphics C Version”, Pearson Education
2. Foley, Vandam, Feiner, Hughes – “Computer Graphics principle”, Pearson Education.
3. Rogers, “ Procedural Elements of Computer Graphics”, McGraw Hill
4. W. M. Newman, R. F. Sproull – “Principles of Interactive computer Graphics” – Tata MCGraw Hill.
5. Amrendra N Sinha and Arun D Udai,” Computer Graphics”, Tata MCGraw Hill.
6. R.K. Maurya, “Computer Graphics ” Wiley Dreamtech Publication.
7. Mukherjee, Fundamentals of Computer graphics & Multimedia, PHI Learning Private Limited.
8. Donald Hearn and M Pauline Baker, “Computer Graphics with OpenGL”, Pearson education
Computer Graphics 1–1 C (CS-6)
www.aktutor.in
1
UNIT
Introduction and
Line Generation
CONTENTS
Part-1 : Introduction and Line Generation : ......... 1–2C – 1–3C
Types of Computer Graphics
PART-1
Introduction and Line Generation : Types of Computer Graphics.
CONCEPT OUTLINE
• Computer graphics is a branch of computer science that deals
with the theory and techniques of computer image synthesis.
• Types of computer graphics :
i. Passive computer graphics
ii. Interactive computer graphics
Questions-Answers
Answer
1. Computer graphics is an art of drawing pictures on computer screens
with the help of programming.
2. It involves computation, creation, manipulation of data.
3. Computer graphics is a rendering tool for the generation and
manipulation of images.
Applications of computer graphics :
1. Graphical User Interface (GUI) : Computer graphics tools is used to
make GUI.
2. Computer arts : Computer graphics are used in designing object shapes
and specifying object such as cartoon drawing, logo design.
3. Education and training : Computer generated models of physical
financial and economic systems are used as educational aids. Learning
with visual aids is fast, easy to understand and cost effective.
4. Entertainment : Graphics and image processing techniques can be
used to transform an object into another object.
5. Visualization : Visualization is used to convert large data value into
patterns, charts, graphs, etc., with the help of computer graphics.
6. Presentation graphics : With the help of computer graphics large
volumes of business data can be presented easily, making it attractive
and useful.
Computer Graphics 1–3 C (CS-6)
www.aktutor.in
Que 1.2. Discuss the various types of computer graphics.
Answer
Various types of computer graphics are :
1. Passive (off-line) computer graphics : The most common example
of passive computer graphics is static website, where user has no control
over the contents on the monitor. In this, development takes place
independently in off-line mode.
2. Interactive computer graphics : In interactive computer graphics,
user can interact with the machine as per his requirements. Videogames,
dynamic websites, special effects in movies, cartoons are all making use
of interactive computer graphic.
Computer graphics can be broadly divided into the following classes :
1. Business graphics or the broader category of presentation graphics,
which refers to graphics, such as bar-charts (also called histograms), pie
charts, pictograms (i.e., scaled symbols), x-y charts, etc., used to present
quantitative information to inform and convince the audience.
2. Scientific graphics, such as x-y plots, curve fitting, contour plots, system
or program flowcharts etc.
3. Scaled drawing, such as architectural representations, drawing of
buildings, bridges, and machines.
4. Cartoons and artwork, including advertisements.
5. Graphical User Interfaces (GUIs) which are the images that appear on
almost all computer screens these days, designed to help the user utilize
the software without having to refer to manuals or read a lot of text on
the monitor.
Que 1.3. List some advantages and disadvantages of interactive
computer graphics.
Answer
Advantages of interactive computer graphics :
1. It provides tools for producing pictures of concrete, ‘real-world’ objects.
2. It has an ability to show moving pictures, and thus it is possible to
produce animations with interactive graphics.
Disadvantages of interactive computer graphics :
1. Requires technical skill to produce.
2. Must be updated daily to keep audience engaged.
PART-2
Graphics Displays-Random Scan Displays, Raster Scan Displays.
www.aktutor.in
Introduction & Line Generation 1–4 C (CS-6)
CONCEPT OUTLINE
• Random scan display is a technique used for producing images
on CRT.
• Raster scan display is a technique used for displaying images on
CRT.
Questions-Answers
Que 1.4. Explain raster scan display and random scan display
Answer
Raster scan display :
1. In raster scan displays, screen is scanned in horizontal and vertical
direction and the information is stored in a buffer called frame buffer.
2. The frame buffer is used to store intensity values of all screen points.
3. It is suitable for displaying realistic scenes containing either complex
shades or colour patterns.
4. Simple black and white display require only one bit per pixel while
colour display systems require multiple bits per pixel.
5. Refreshing on raster scan displays is carried out at the rate of 60 to 80
frames per second.
Random scan display :
1. In random scan display, the definition of picture is stored as a collection
of line of commands in an area of memory called refresh buffer or
display program.
2. Random scan display draw a picture on line at a time and for this reason
is also referred to as vector displays.
3. It is basically designed for line drawing and not suitable for complex
natural scenes.
4. It refreshes at a rate of 30 to 60 frames per second.
Computer Graphics 1–5 C (CS-6)
www.aktutor.in
S. No. Raster scan display Random scan display
1. It is well suited for the realistic It is designed for line drawing
display of scenes containing applications and cannot display
subtle shading and colour realistic shaded scenes.
patterns.
2. Raste r scan have lo w Random scan have highe r
resolutio n than rando m resolution than raster system.
system.
3. Picture definition is stored in Picture definition is stored in form
form of pixel intensity value. of line drawing algorithm.
4. It contains hidden surface It does not contain hidden surface
techniques. techniques.
5. The electron beam is swept The electron beam is directed only
across the screen, one row at to the parts of screen where a
a time, from top to bottom. picture is to be drawn.
6. It is used for photos. It is used for text, logs, letter heads.
7. Home television sets and dot- Pen plotter is an example of
matrix printer is an example random scan system.
of raster scan system.
Answer
The advantages of raster scan display over random scan display :
1. Less memory costs than random scan display.
2. High degree of realism achieved in picture than random scan display.
3. It uses advanced shading and hidden surface technique.
4. Computer monitors and TVs use this method.
5. Less expensive than vector display.
6. Very efficient to represent full images.
Answer
1. Interlacing is a method of encoding a bitmap image such that a person
who has partially received it, sees a degraded copy of the entire image.
2. When communicating over a slow communications link, this is often
preferable to seeing a perfectly clear copy of one part of the image, as it
www.aktutor.in
Introduction & Line Generation 1–6 C (CS-6)
Answer
Phosphor
Connector Electron Control Horizontal deflection coated
pins plates Electron screen
gun grid
beam
Fig. 1.7.1. CRT.
Working of CRT :
1. CRT is an evacuated glass tube equipped with various components as
shown in Fig. 1.7.1.
2. A beam of electrons (cathode rays), emitted by an electron gun, passes
through focusing and deflection systems hits on the phosphor coated
screen to generate the desired picture.
3. The high speed electrons hit the phosphor coated screen to produce a
spot of light controlled by a video controller.
4. The electron gun in the CRT is made up of a heated metal cathode and
a control grid.
5. The cathode is heated by passing a current through a coil of wire, called
the filament.
6. The electrons get boiled off the hot cathode surface and move in the
form of electron beams passing through horizontal and vertical deflection
plates.
7. The negatively charged electrons are accelerated towards the phosphor
coating by a high positive voltage.
8. The accelerating voltage can be generated with a positively charged
metal coating on the inside of the CRT or by an accelerating anode.
9. Spots of light are produced when high speed electrons in the electron
beam collide with the phosphor coating and their kinetic energy is
absorbed by the phosphor.
10. Part of the beam energy is converted by friction into heat energy and
the remaining energy is used to move electrons in the phosphor atom
into higher energy levels.
Computer Graphics 1–7 C (CS-6)
www.aktutor.in
11. After a short span of time, these excited electrons come back to their
stable ground state and give up their extra energy as a small quantum of
light energy.
12. The colour of the light emitted by these electrons is proportional to the
energy difference between the excited quantum state and the ground
state.
13. The CRT screen can be coated with different kinds (color and
persistence) of phosphor.
14. The light emitted by the phosphor fades very rapidly. To maintain the
picture on the display, we need to redraw the picture repeatedly by
quickly directing the electron beam back over the same points such a
type of display is known as refresh CRT.
Answer
Answer
Various emissive display devices are :
www.aktutor.in
Introduction & Line Generation 1–8 C (CS-6)
i. Plasma panel :
a. Plasma panels, also called gas discharge displays, are constructed
by filling the region between two glass plates with a mixture of
gases that usually includes neon.
b. A series of vertical conducting ribbons is placed on one glass panel
and a set of horizontal ribbons is built into the other glass panel.
c. Firing voltages applied to a pair of horizontal and vertical conductors
cause the gas at the intersection of the two conductors to break
down into glowing plasma of electrons and ions.
d. Picture definition is stored in a refresh buffer, and the firing voltages
are applied to refresh the pixel positions (at the intersections of the
conductors) 60 times per second.
e. Alternating current methods are used to provide faster application
of the firing voltages, and thus brighter displays. Separation between
pixels is provided by the electric field of the conductors.
ii. Liquid Crystal Displays (LCDs) :
a. LCDs are non-emissive devices which produce a picture by passing
polarized light from the surroundings of an internal light source
through a liquid crystal material.
b. Liquid crystals are almost transparent substances, exhibiting the
properties of both solid and liquid matter.
c. Light passing through liquid crystals change their molecular
alignment and consequently the way light passed through them.
d. In LCDs, liquid crystals are sandwiched between thin polarized
sheets that are used.
e. Liquid crystal displays are used in miniature televisions and video
cameras and monitors.
Answer
1. Flat panel display is a display method that is designed to reduce the
depth of the CRT display caused by the length of the tube.
2. The screens of these flat panel displays are made up of pairs of electrodes.
3. Each pair of electrodes is used to generate one picture element.
4. There are two types of flat panel displays :
a. Emissive displays :
i. The emissive displays (emitters) are devices that convert
electrical energy into light.
ii. Plasma panels, light emitting diodes are examples of emissive
displays.
Computer Graphics 1–9 C (CS-6)
www.aktutor.in
b. Non-emissive displays :
i. Non-emissive displays (non-emitters) use optical effects to
convert sunlight or light from some other source into graphics
pattern.
ii. An example of a non-emissive flat panel display is a Liquid
Crystal Device (LCD).
Answer
Advantages of flat panel displays are :
1. It consumes very low power.
2. It has very thin display which occupies small volume.
3. Cost is low.
4. Used for long lifetime.
5. Good reliability and brightness.
Functioning of LCD :
1. The principle behind the LCD is that when an electrical current is
applied to the liquid crystal molecule, the molecule tends to untwist.
2. This changes the angle of light which is passing through the molecule
of the polarized glass and also cause a change in the angle of the top
polarizing filter.
3. As a result a little light is allowed to pass the polarized glass through a
particular area of the LCD.
4. Thus, that particular area will become dark compared to other.
5. The LCD works on the principle of blocking light. While constructing
the LCD, a reflected mirror is arranged at the back.
6. An electrode plane is made of Indium Tin Oxide (ITO) which is kept on
top and a polarized glass with a polarizing film added on the bottom of
the device.
7. The complete region of the LCD has to be enclosed by a common
electrode and liquid crystal matter should be above it.
8. When there is no current, the light passes through the front of the
LCD that will be reflected by the mirror and bounced back.
9. As the electrode is connected to a battery the current from it will cause
the liquid crystals between the common plane electrode and the
electrode shaped like a rectangle to untwist.
10. Thus, the light is blocked from passing through and that particular
rectangular area appears blank.
Introduction & Line Generation
www.aktutor.in 1–10 C (CS-6)
Light
Output
Fig. 1.11.1.
Answer
Merits of LCD :
i. It produces very bright images due to high peak intensity.
ii. It produces lower electric, magnetic and electromagnetic fields than CRTs.
iii. It has no geometric distortion at the native resolution. Minor distortion
can occur for other resolutions.
iv. It consumes less electricity than a CRT and produces little heat.
Demerits of LCD :
i. The aspect ratio and resolution are fixed.
ii. It is not good at producing black and very dark grays levels.
iii. It has lower contrast than CRTs due to a poor black-level.
iv. Images are satisfactory, but not accurate as colour saturation is reduced
at low intensity levels due to a poor black-level.
PART-3
Frame Buffer and Video Controller.
CONCEPT OUTLINE
• Frame buffer is a memory area in which picture is stored in the
form of a pixel.
• Video controller is used to control the operation of the display
device.
Computer Graphics 1–11 C (CS-6)
www.aktutor.in
Questions-Answers
Que 1.13. Explain frame buffer and video basics. Also, explain the
Answer
Frame buffer :
1. Frame buffer is a special area of memory in raster displays which is
dedicated to graphics.
2. It holds the set of intensity values for all the screen points.
3. The stored intensity values are retrieved from frame buffer and displayed
on the screen one row (scanline) at the time.
4. Each screen point is referred to as a pixel or pel (shortened forms of
picture element).
5. Each pixel on the screen can be specified by its row and column number.
Thus, by specifying row and column number we can specify the pixel
position on the screen.
Video basics :
1. Video or moving image in general, is created from a sequence of small
images called frames.
2. By recording and then playing back frames in quick succession, an
illusion of movement is created.
3. Video can be edited by removing some frames and combining sequences
of frames, called clips, together in a timeline.
Pixel :
1. Pixel is the smallest part of the screen.
2. Each pixel has its own intensity, name or address by which we can
control it.
Pixel
Fig. 1.13.1.
www.aktutor.in
Introduction & Line Generation 1–12 C (CS-6)
Aspect ratio :
1. An aspect ratio is an attribute that describes the relationship between
the width and height of an image.
2. Aspect ratio is expressed by the symbolic notation i.e., x : y.
Resolution :
1. Resolution is defined as the number of pixels on the horizontal axis
and vertical axis.
2. The sharpness of the image on the display depends on the resolution
and size of the monitor.
Answer
Video controller :
1. Video controller is a key hardware component that allows computers to
generate graphic information to any video display devices, such as a
monitor or projector.
2. They are also known as graphics or video adapters that are directly
integrated into the computer motherboard.
3. Their main function as an integrated circuit in a video signal generator
is to produce television video signals in computers systems.
4. They also offer various functions beyond accelerated image rendering,
such as TV output and the ability to hook up to several monitors.
Display processor :
1. Display processor (or graphics controller) converts the digital information
from the CPU to analog values needed by the display devices.
2. The purpose of the display processor is to free the CPU from the graphics
work.
3. In addition to the system memory, a separate display processor memory
area is provided.
4. A major task of the display processor is digitizing a picture definition
given in an application program into a set of pixel values for storage in
the frame buffer.
Que 1.15. How much time is spent scanning across each row of
pixels during a screen refresh of 1280 × 1024 at a refresh rate of 60
frames per second ?
Answer
Resolution = 1280 × 1024.
Refresh rate = 60 frames/second.
Computer Graphics 1–13 C (CS-6)
www.aktutor.in
Therefore, time taken by 1024 rows = 1/60 sec.
Hence, time taken by each row of pixels to refresh
= 1/(60 × 1024) = 0.0162 × 10 – 3 sec.
Answer
Frame buffer size = (Number of pixel OR resolution × bits per pixel)/8 bytes.
Answer
Number of pixel in one frame (resolution) = Number of column (width) ×
Number of row (height)
Number of frame in one second = 60 frames
So, number of pixel in 60 frames = resolution × 60
Hence,
a. For resolution 640 × 480
Number of pixels per second = 640 × 480 × 60 = 1843200 pixel
b. For resolution 1024 × 1280
Number of pixels per second = 1024 × 1280 × 60 = 78643200 pixel
Answer
1 1
Frame buffer size = 8 × 11 (inches)2 = 8 × 11 (300)2
2 2
1 inch = 300 dpi = 8415000 dots = 8415000n bits
say 1 dot = n bits
Transfer rate = 1 mips
= 1 × 106 word per second (1 mips = 106 word)
= 32 × 106 bits/second (1 word = 32 bits)
8415000n
Time required to fill the frame buffer = = 0.263 n sec
32 106
If n = 4 then time taken = 0.263 × 4 = 1.052 sec
Que 1.19. If base address of a frame buffer is 100 and screen size is
(15 inch × 19 inch) with resolution 13 dpi (dot per inch) calculate the
memory location where the coordinate of pixels are stored.
i. Pixel P1 at A (200, 25)
ii. Pixel P2 at B (75, 45) AKTU 2014-15, Marks 06
Answer
Base address = 100
Resolution of screen = 195 * 247 pixels (or dots)
i. Memory location of P1 = Base address + (195 * 200 + 25) = 39125
ii. Memory location of P2 = Base address + (195 * 75 + 45) = 14770
CONCEPT OUTLINE : PART-3
PART-4
Points and Lines.
CONCEPT OUTLINE
• A point is a position in a plane. It has no size i.e. no width, no length
and no depth. A point is shown by a dot.
• A line is defined as a line of points that extends infinitely in two
directions. It has one dimension i.e., length.
Questions-Answers
Answer
Points and lines :
1. A point is a position in a plane. It has no size i.e. no width, no length and
no depth. A point is shown by a dot.
2. A line is defined as a line of points that extends infinitely in two directions.
It has one dimension i.e., length.
Derivation :
1. Line can be represented by two points i.e., both the point will be on the
line and lines are also described by the equation. Any point which satisfies
the equation is on the line.
2. If two points P1 (x1, y1) and P2 (x2, y2) specify a line and another third
point P(x, y) also satisfy the equations then the slope between points P1P
and PP2 will be equal.
y y1 y y1
= 2
x x1 x2 x1
(y – y1) (x2 – x1) = (y2 – y1) (x – x1)
y(x2 – x1) = (y2 – y1) (x – x1) + y1(x2 – x1)
y y1
y= 2 (x – x1) + y1 ...(1.20.1)
x2 x1
3. This is the equation of a line passing through the points (x1, y1) and
y2 y1
(x2, y2) because (x1, y1) and (x2, y2) are numerical values so will
x2 x1
be constant, let its value be m
Then, equation (1.20.1) becomes y = m(x – x1) + y1
y
P2(x2, y2)
P (x , y) y2 – y1
y – y1 = (x – x1)
x2 – x1
P 1(x 1, y 1)
x
Fig. 1.20.1.
y – y1 = m(x – x1)
Introduction & Line Generation
www.aktutor.in 1–16 C (CS-6)
y2 y1
where m=
x2 x1
y – y1 = mx – mx1
y = mx – mx1 + y1
y = mx + (– mx1 + y1)
Where value (– mx1 + y1) is constant. Let its value be c
y = mx + c ...(1.20.2)
4. If line y = mx + c is passing through origin (0, 0), then c = 0 and putting
the value of c in equation (1.20.2), we get
y = mx ...(1.20.3)
y y
y = mx + c
y = mx
0, c
(0, 0) x (0, 0) x
Intercept form of line Line passing through origin
Fig. 1.20.2.
Equation (1.20.3) is a line passing through origin. Now from equation
(1.20.1) we have
(y2 – y1)x – (x2 – x1)y + x2y1 – x1y2 = 0
Let y2 – y1 = A, x2 – x1 = – B, x2y1 – x1y2 = C
Ax + By + C = 0
This is the general form of the line.
Que 1.21. Derive the condition for which two lines are
perpendicular or parallel.
Answer
Angle between two lines : Let there are two lines y = m1 x + c 1 and
y = m2x + c2 having tangent m1 = tan 1 and m2 = tan 2
= 1 – 2
(Since m1 > m2, 1 – 2 otherwise 2 – 1)
Taking tan both sides
tan = tan (1 – 2)
tan 1 tan 2 m1 m2
= =
1 tan 1 tan 2 1 m1 m2
m1 m2
= tan–1
1 m1 m2
Computer Graphics 1–17 C (CS-6)
www.aktutor.in
y
y = m2x + c2
y = m1x + c1
2
1
c2 c1
x
Two lines with m1 and m2
Fig. 1.21.1.
If lines are a1x + b1y + c1 = 0 and a2x + b2y + c2 = 0 then putting the value
of m1 = – a1/b1 and m2 = – a2/b2, we get
b a a1b2
= tan–1 1 2
a1 a2 b1b2
Case 1 : If both line are parallel then angle should be zero.
m1 m2
tan–1 =0
1 m1 m2
m1 m2
=0
1 m1 m2
m1 – m2 = 0
m1 = m2 i.e., slopes are equal.
Similarly, a1b2 = b1a2
Case 2 : If both are perpendicular then angle should be 90°.
m1 m2
tan 1 =
1 m1 m2 2
m1 m2
= tan
1 m1 m2 2
1 + m1.m2 = 0
m1.m2 = – 1
a b a1b2
or tan–1 2 1 =
a1 a2 b1b2 2
a1a2 + b1b2 = 0
CONCEPT OUTLINE : PART-3
PART-5
Line Drawing Algorithm.
www.aktutor.in
Introduction & Line Generation 1–18 C (CS-6)
CONCEPT OUTLINE
• There are two line generation algorithm :
i. Digital Differential Analyzer (DDA)
ii. Bresenham’s line algorithm.
• DDA is a scan conversion line algorithm based on calculating
either x or y.
• Bresenham’s line algorithm is a scan conversion process for
lines with positive slope less than 1.
Questions-Answers
Answer
DDA algorithm :
1. Read the line endpoint (x1, y1) and (x2, y2)
2. x = |x2 – x1|
y = |y2 – y1|
3. If (x y) then
length = x
else
length = y
4. Select the raster unit, i.e.,
( x2 – x1 )
x =
length
( y2 – y1 )
y =
length
5. x = x1 + 0.5 * Sign (x)
y = y1 + 0.5 * Sign (y)
Where sign function makes the algorithm work in all quadrants. It
returns – 1, 0, 1 depending on whether its agreement is < 0, = 0, > 0
respectively.
Computer Graphics 1–19 C (CS-6)
www.aktutor.in
The factor 0.5 makes it possible to round the values in the integer
function rather than truncating them.
Now plot the points
i=1
while (i length)
{
Plot (integer (x), integer (y))
x = x + x
y = y + x
i=i+1
}
6. Stop.
Numerical : Compute initial values :
x = x2 – x1 = 6 – 0 = 6
y = y2 – y1 = 6 – 0 = 6
y
m= =1
x
length = x
( x2 x1 )
x =
length
60
x =
6
6
x =
6
x = 1
yk+1 = yk + m
Step x y Pixel
0 0 0 (0, 0)
1 1 1 (1, 1)
2 2 2 (2, 2)
3 3 3 (3, 3)
4 4 4 (4, 4)
5 5 5 (5, 5)
6 6 6 (6, 6)
y
6
5
4
3
2
1
x
1 2 3 4 5 6
Pixel position
Fig. 1.22.1.
www.aktutor.in
Introduction & Line Generation 1–20 C (CS-6)
Answer
(x1, y1) = (– 3, 0) , (x2, y2) = (4, 4)
x = 4 – (– 3) = 7
y = 4–0=4
Length = x ( x > y)
4 ( 3)
x = =1
7
40 4
y = = 0.57
7 7
x = x1 + 0.5 × sign (x) = – 3 + 0.5 × 1 = – 2.5
y = y1 + 0.5 × sign (y)
= 0 + 0.5 × 0.57 = 0.28
Plot integer (– 2.5) and (0.28), i.e., (– 3, 0)
x = x + x = – 2.5 + 1 = – 1.5
y = 0.28 + 0.57 = 0.85
Plot integer (– 1.5) and (0.85), i.e., (– 2, 1)
x = – 1.5 + 1 = – 0.5
y = 0.85 + 0.57 = 1.42
Plot integer (– 0.5) and (1.42), i.e., (– 1, 1)
x = – 0.5 + 1 = 0.5
y = 1.42 + 0.57 = 1.99
y
1
x
–3 –2 –1 0 1 2 3 4 5
Fig. 1.23.1.
Computer Graphics 1–21 C (CS-6)
www.aktutor.in
Plot integer (0.5) and (1.99), i.e., (1, 2)
x = 0.5 + 1 = 1.5
y = 1.99 + 0.57 = 2.56
Plot integer (1.5) and (2.56), i.e., (2, 3)
x = 1 + 1.5 = 2.5
y = 2.56 + 0.57 = 3.13
Plot integer (2.5) and (3.13), i.e., (3, 3)
x = 2.5 + 1 = 3.5
y = 3.13 + 0.57 = 3.7
Plot integer (3.5) and (3.7), i.e., (4, 4)
Answer
Bresenham’s line algorithm :
1. Input the two lines endpoints and store the left endpoint (x0, y0).
2. Load (x0, y0) into frame buffer, i.e., plot the first point.
3. Calculate constants x, y, 2y and 2y – 2x, and obtain the starting
value for decision parameter as :
p0 = 2y – x
4. At each xk along the line, starting at k = 0, perform the following test :
a. If pk < 0, the next point to plot is (xk + 1, yk) and
pk + 1 = pk + 2y
b. If pk > 0, the next point to plot is (xk + 1, yk + 1) and
pk+1 = pk + 2y – 2x
5. Repeat step 4 x times.
Solution of the given problem :
x = x2 – x1 = 7 – 1 = 6
y = y2 – y1 = 6 – 2 = 4
Incr c1 = 2y = 8
Incr c2 = 2(y – x) = 2(4 – 6) = – 4
p0 = 2y – x = 8 – 6 = 2
Introduction & Line Generation
www.aktutor.in 1–22 C (CS-6)
Step Pk Pixel
2 (2, 3)
1 –2 (3, 3)
2 6 (4, 4)
3 2 (5, 5)
4 –2 (6, 5)
5 6 (7, 6)
7
6 (7, 6)
5 (5, 5)
(6, 5)
4 (4, 4)
(2, 3)
3 (3, 3)
2
(1, 2)
1
1 2 3 4 5 6 7
Fig. 1.24.1.
Answer
Answer
Bresenham’s line drawing algorithm : Refer Q.1.24, Page 1–21C,
Unit-1.
Numerical :
x1 = 2, y1 = 2, x2 = 12, y2 = 10
x = x2 – x1 = 12 – 2 = 10
y = y2 – y1 = 10 – 2 = 8
Slope of the line m = (y2 – y1) / (x2 – x1) = (10 – 2) / (12 – 2) = 0.8
The initial decision parameter p0 = 2y – x
p0 = 2 × 8 – 10 = 6
The increments for calculating successive decision parameters are
2y – 2x = 16 – 20 = – 4 and 2y = 16, plot the initial point
(x0, y0) = (2, 2), successive are :
Step pk Pixel
0 6 (3, 3)
1 2 (4, 4)
2 –2 (5, 4)
3 14 (6, 5)
4 10 (7, 6)
5 6 (8, 7)
6 2 (9, 8)
7 –2 (10, 8)
8 14 (11, 9)
9 10 (12, 10)
www.aktutor.in
Introduction & Line Generation 1–24 C (CS-6)
12
11
10
9
8
7
6
5
4
3
2
1
1 2 3 4 5 6 7 8 9 10 11 12 13
Fig. 1.26.1.
Que 1.27. What are the criteria that should be satisfied by a good
Answer
Criteria for good line drawing algorithm :
1. Lines should appear straight :
a. Lines generated parallel to the x-axis or y-axis or at 45° are plotted
correctly with point plotting techniques.
b. Line may not pass through other addressable points in between.
2. Lines should terminate accurately :
a. If lines are not plotted accurately, they may terminate at wrong
places.
b. This may lead to a small gap between endpoints of one line and the
starting point of the next as shown in Fig. 1.27.1.
Fig. 1.27.1.
Fig. 1.27.2.
CONCEPT OUTLINE
• Mid-point circle algorithm is used to draw a circle.
Questions-Answers
Answer
Mid-point circle algorithm :
1. Input radius r and center (xc, yc) and obtain the first point on the
circumference of a circle centered on the origin as (x0, y0) = (0, r) i.e.,
initialize starting position as
x=0
y=r
2. Calculate the initial value of the decision parameter as
p = 1.25 – r
3. do
{
plot (x, y)
if (p < 0)
{
x=x+1
y=y
p = p + 2x + 1
}
else
{
x=x+1
y=y–1
p = p + 2x – 2y + 1
}
}
while (x < y)
4. Determine symmetry points in the other seven octants.
5. Stop.
y = 13
p = p + 2x + 1
= – 15 + 10 + 1 = – 4
Fig. 1.29.1.
Answer
r = 10
The initial point (x, y) = (0, 10)
Computer Graphics 1–29 C (CS-6)
www.aktutor.in
x=0
y = 10
Calculate initial decision parameters p = 1 – r = 1 – 10 = – 9
p = – 9 (< 0)
First plot (0, 10)
Here p < 0 so x = 0 + 1 =1
y = 10
and p = – 9 + 2 × 1 + 1 = – 9 +3 = –6
x < y i.e., 1 < 10. So condition is true and plot (1, 10)
Now p = – 6 (< 0)
So x= 1+1=2
y = 10
and p= –6+2×2 +1=–6+5=–1
x < y i.e., 2 < 10. So plot (2, 10)
Now p = – 1 (< 0)
So x= 2+1=3
y = 10
and p= –1+2×3 +1=6
x < y so plot (3, 10)
Now p = 6 (> 0)
So x = x+1=3+1=4
y = y – 1 = 10 – 1 = 9
and p = p + 2x – 2y + 1 = 6 + 8 – 18 + 1 = – 3
x < y so plot (4, 9)
Now p = – 3 (> 0)
So x = x+1=4+1=5
y=y=9
and p = p + 2x + 1 = – 3 + 10 + 1 = 8
x < y so plot (5, 9)
Now p = 8 (> 0)
So x = x+1=5+1=6
y= y–1=9–1=8
and p = p + 2x – 2y + 1 = 8 + 12 – 16 + 1 = 5
Introduction & Line Generation
www.aktutor.in 1–30 C (CS-6)
11
10
1
(0, 0) 1 2 3 4 5 6 7 8 9 10 11
Fig. 1.30.1.
Answer
In the parallel version of line algorithm, pixel positions are calculated along a
line path simultaneously by partitioning the computations among the various
processors available. Methods for parallel version of line algorithm are :
1. Bresenham’s line algorithm :
a. Given np processors, a parallel Bresenham’s line algorithm can be
used by subdividing the line path into n p partitions and
simultaneously generating line segments in each of the sub-
intervals.
b. For a line with slope 0 < m < 1 and left endpoint coordinate (x0, y0),
the line is partitioned along the positive x-direction.
Computer Graphics 1–31 C (CS-6)
www.aktutor.in
c. The distance between beginning x positions of adjacent partitions is
calculated as :
x n p – 1
xp =
np
where x is the width of the line and the value for partition width
xp is computed using integer division.
d. The starting x coordinate is calculated for the kth partition as :
xk = x0 + kxp
e. At the kth partition, the starting y coordinate is :
yk = y0 + round (kyp)
f. The initial decision parameter for Bresenham’s algorithm at the
start of the kth sub interval is :
pk = (kxp) (2y) – round (kyp) (2x) + 2y – x
2. In raster scan system :
a. In raster systems we assign each processor to a particular group of
screen pixel.
b. For lines with a positive slope greater than 1, we reverse the value
of x and y. i.e., we sample at unit y intervals (y = 1) and calculate
each succeeding x value as
1
xk + 1 = xk +
m
c. Lines are to be processed from the left endpoint to the right endpoint.
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
or (when the slope is greater than 1) we have y = – 1 with
xk + 1 = xk + m
d. Perpendicular distance d from the line in to pixel as shown in
Fig. 1.31.1 with coordinates (x, y) is obtained with the calculation
d = Ax + By + C
y
where, A=
linelength
x
B=
linelength
x0 y y0x
C=
linelength
www.aktutor.in
Introduction & Line Generation 1–32 C (CS-6)
y2
y
y1
x
x1 x2
Fig. 1.31.1.
Computer Graphics 2–1 C (CS-6)
www.aktutor.in
2
UNIT
Transformation
CONTENTS
Part-1 : Transformations : ........................................ 2–2C – 2–5C
Basic Transformation
Matrix Representation and
Homogeneous Coordinates
CONCEPT OUTLINE
• Transformation is the process by which we can change the shape,
position and direction of any object with respect to any
coordinates system.
• Homogeneo us coo rdinates allows us to express all
transformation equations as matrix multiplication.
Questions-Answers
Answer
Transformations are the process by which we can change position, orientation
or size of any coordinate system. Following are the various basic
transformations :
1. Translation :
a. Translation is a process of changing the position of an object in a
straight line path from one coordinate location to another.
b. We can translate a two dimensional point by adding translation
distances, tx and ty, to the original coordinate position (x, y) to move
the point to a new position (x, y), as shown in the Fig. 2.1.1.
x = x + tx ...(2.1.1)
y = y + ty ...(2.1.2)
c. The translation distance pair (tx, ty) is called translation vector.
d. Translation equation (2.1.1) and (2.1.2) can be represented in the
form of matrix as :
Y
P
P
X
0
Fig. 2.1.1.
Computer Graphics 2–3 C (CS-6)
www.aktutor.in
x
P = 1
x2
x1
P =
x2
t
T = x
ty
Hence P = P + T
2. Scaling :
a. A scaling transformation changes the size of an object.
20 B
15 15
10 10 A
B
A
5 5 D C
D C
0 5 10 15 0 5 10 15 20
(a) Before scaling (b) After scaling
Fig. 2.1.1.
x ' sx 0 x
y ' = 0 s y y
e. If the value of scaling factor is less than 1 then it reduces the size of
objects otherwise it increases the size of object.
Transformation 2–4 C (CS-6)
www.aktutor.in
3. Rotation :
a. Two dimensional rotation is applied to an object by rotating it along
a circular path in the xy plane.
b. To generate a rotation, we specify a rotation angle and the position
(xr, yr) of the rotation point about which the object is to be rotated.
c. Positive values for the rotation angle define counterclockwise
rotations about the pivot point and negative values rotate object in
clockwise direction.
(x, y)
r (x, y)
r
0
Fig. 2.1.2.
cos sin
R=
sin cos
x '
P =
y '
Computer Graphics 2–5 C (CS-6)
www.aktutor.in
x
P=
y
Answer
1. Homogeneous coordinates are defined as the coordinates that represents
all the geometric transformation equations as matrix multiplication.
2. Coordinates are represented with three element column vectors, and
transformation operations are written as 3 × 3 matrices. For translation
we have :
x ' 1 0 t x x
=
y ' 0 1 t y y
1 0 0 1 1
x cos sin 0 x
y ' = sin cos 0 y
1 0 0 1 1
or as P = R() . P
We get the inverse of rotation matrix when is replaced with
5. Finally a scaling transformation relative to the coordinate origin is now
expressed as matrix multiplication.
x sx 0 0 x
y ' = 0 sy 0 y
1 0 0 1 1
or as P = S(sx , sy) . P
Replacing these parameters with their multiplicative inverse (1/sx and
1/sy) yields the inverse scaling matrix.
Transformation 2–6 C (CS-6)
www.aktutor.in
PART-2
Composite Transformation.
CONCEPT OUTLINE
• Transfo rmatio n that involve s mo re than one basic
transformation is called composite transformation.
Questions-Answers
Answer
1. A composite transformation is two or more transformations performed
one after the other.
2. If a transformation of the plane T1 is followed by a second plane
transformation T2, then the result itself may be represented by a single
transformation T which is the composition of T1 and T2 taken in that
order and written as :
T = T1.T2
3. Composite transformation can be achieved by concatenation of
transformation matrices to obtain a combined transformation matrix.
4. A combined matrix is given by :
[T][X] = [X][T1][T2][T3][T4]….[Tn]
5. The change in the order of transformation would lead to different
results, as in general matrix multiplication is not commutative, i.e.,
[A]. [B] [B]. [A] and the order of multiplication.
For example : Let us perform a counterclockwise 45° rotation of
triangle A(2, 3), B(5, 5), C(4, 3) about point (1, 1) using composite
transformation.
We know that the overall transformation matrix for a counterclockwise
rotation by an angle about the point (xp, yp) is given as :
Computer Graphics 2–7 C (CS-6)
www.aktutor.in
cos sin 0
T1 . R . T2 = sin cos 0
x p cos y p sin x p x p sin y p cos y p 1
Here, = 45°, xp = 1 and yp = 1. Substituting values we get
1/ 2 1/ 2 0
T1 . R . T2 = 1 / 2 1 / 2 0
1 2 1 1
A 2 3 1 1 / 2 1/ 2 0
= 5 5 1 1 / 2 1 / 2 0
B
C 4 3 1 1
2 1 1
1 3
1 1 1
2 2
8
= 1 1 1
2
1 5
1 1 1
2 2
Answer
Concatenation of transformation : Refer Q. 2.3, Page 2–6C, Unit-2.
Advantages of concatenation of transformation :
More complex geometric and coordinate transformation are formed through
process of concatenation of function.
Example :
s 0 0 1 0 0
A = 0 s 0 B = 0 1 0
0 0 1 h k 1
Transformation 2–8 C (CS-6)
www.aktutor.in
s 0 0 1 0 0 s 0 0
A · B = 0 s 0 0 1 0 = 0 s 0
0 0 1 h k 1 h k 1
1 0 0 s 0 0 s 0 0
B · A = 0 1 0 0 s 0 = 0 s 0
h k 1 0 0 1 hs ks 1
A·B B·A
Answer
For a two dimensional transformation :
sx 0 0
General scaling, S = 0 sy 0
0 0 1
cos sin 0
Rotation, R = sin cos 0
0 0 1
According to commutative property,
SR = RS
Now, Taking L.H.S
sx 0 0 cos sin 0
SR = 0 s y 0 sin cos 0
0 0 1 0 0 1
sx cos sx sin 0
= s y sin s y cos 0
0 0 1
Taking R.H.S
cos sin 0 sx 0 0
RS = sin cos 0 0 sy 0
0 0 1 0 0 1
Computer Graphics 2–9 C (CS-6)
www.aktutor.in
sx cos s y sin 0
= s x sin s y cos 0
0 0 1
Using general scaling, commutative property is not satisfied.
When sx and sy are assigned the same value, a uniform scaling is produced.
Let sx = sy = 1
then SR = RS
PART-3
Reflections and Shearing.
CONCEPT OUTLINE
• Let line L(y = mx + b) have a y-intercept (0, b) and an angle
with respect to x-axis.
Questions-Answers
Answer
1. Let line L(y = mx + b) have a y-intercept (0, b) and an angle with
respect to x-axis.
2. The steps involved in reflection transformation are as follows :
a. Translate the intersection point B to the origin.
Transformation 2–10 C (CS-6)
www.aktutor.in
b. Rotate by – ° so that the line L aligns with the x-axis.
c. Mirror reflect about the x-axis.
d. Rotate back by °.
e. Translate B back to (0, b).
y P
L
P
B
(0, b)
x
O
Therefore, we have
ML = TV . R. Mx . R. TV
Where V = bJ
1 0 0
TV = 0 1 b
0 0 1
1 0 0
T–V = 0 1 b
0 0 1
cos sin 0
R = sin cos 0
0 0 1
cos sin 0
R– = sin cos 0
0 0 1
1 0 0
Mx = 0 1 0
0 0 1
Slope, m = tan
m
Therefore, sin =
m2 1
Computer Graphics 2–11 C (CS-6)
www.aktutor.in
1
cos =
m2 1
After multiplication of all basic matrix, we get
1 m2 2m 2bm
2
m 1 m2 1 m2 1
2m m2 1 2b
ML = 2
m 1 m2 1 m2 1
0 0 1
Answer
Procedure for rotation : Rotation can be done in the following order :
Step 1 : Translate the object or body at the origin (translation).
Step 2 : Rotate by any angle as given (rotation).
Step 3 : Translate back to its original location (inverse translation).
In matrix form, it can be shown as
[T] = [TR] [R] [TR]–1
where TR Translation matrix
R Rotation matrix by an angle °
[TR]–1 Inverse translation matrix
Reflection metrics : For reflection about x-axis, x coordinate is not changed
and sign of y coordinate is changed. Thus if we reflect point (x, y) in the
x-axis, we get (x, – y)
i.e., x = x
y = – y
So, the transformation matrix for reflection about x-axis or y = 0 axis is,
1 0
0 –1
x 1 0 x
=
y 0 –1 y
Transformation 2–12 C (CS-6)
www.aktutor.in
Que 2.8. Show that the reflection about the line y = – x is equivalent
to a reflection relative to the y-axis followed by an anticlockwise
rotation of 90°.
Answer
Reflection matrix about the line y = – x
0 1 0
1 0 0
0 0 1
1 0 0
Reflection matrix about the y-axis 0 1 0
0 0 1
cos 90 sin 90 0 0 1 0
Rotation matrix sin 90 cos 90 0 1 0 0
0 0 1 0 0 1
Reflection then rotation composite matrix is
0 1 0 1 0 0 0 1 0
1 0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 0 1
which is equal to the transformation matrix for reflection about the line
y = – x.
Que 2.9. Reflect the polygon whose vertices are (–1, 0), (0, –2),
(1, 0) and (0, 2) about the :
i. Horizontal line Y = 2
Answer
Polygon is represented by homogeneous coordinates matrix as :
1 0 1
0 2 1
V = [ABCD]
1 0 1
0 2 1
Computer Graphics 2–13 C (CS-6)
www.aktutor.in
i. Horizontal line Y = 2 : Y = 2
On comparing with y = mx + c
m = 0, c = 2
= tan–1(m) = tan–1 (0) = 0
The operation of reflection through an arbitrary line (not passing
through origin) is required to follow the following procedures :
[T] = [Ttrans] [R][Rref ][R] –1[Ttrans]–1
[Ttrans] = Translation matrix
[R] = Rotation matrix
[Rref] = Reflection matrix
[R]–1 = Inverse rotation matrix
[Ttrans]–1 = Inverse translation matrix
1 0 0 1 0 0
[Ttrans] = 0
1 0 = 0 1 0
0 c 0 0 2 0
1 0 0
Rref = 0 –1 0
0 0 1
cos sin 0 1 0 0
[R]–1 = – sin (– ) cos (– ) 0 = 0 1 0
0 0 1 0 0 1
1 0 0 1 0 0
[Ttrans]–1 = 0 1 0 = 0 1 0
0 c 0 0 2 0
1 0 0 1 0 0 1 0 0 1 0 0 1 0 0
[T] = 0 1 0 0 1 0 0 – 1 0 0 1 0 0 1 0
0 –2 0 0 0 1 0 0 1 0 0 1 0 2 0
1 0 0
= 0 1 0
0 2 0
Transformation 2–14 C (CS-6)
www.aktutor.in
–1 0 1 1 2 0
0 2 1 1 0 0 0 4 0
Reflected polygon = 0 1 0
1 0 1 1 2 0
0 2 0
0 2 1 0 0 0
Now coordinates of polygon is, (–1, 2), (0, 4), (1, 2) and (0, 0).
ii. Vertical line X = 2 :
X=2
y = mx + c
y c
On comparing with x = –
m m
m = ,c = – 2
= tan–1 (m) = tan–1 () = 90°
1 0 0
[Ttrans] = 0 1 0
2 0 0
1 0 0
Rref = 0 –1 0
0 0 1
1 0 0
[Ttrans]–1 = 0 1 0
2 0 0
1 0 0 0 – 1 0 1 0 0 1 0 0
[T] = 0 1 0 1 0 0
0 –
1 0 0 1 0
2 0 0 0 0 1 0 0 1 2 0 0
Computer Graphics 2–15 C (CS-6)
www.aktutor.in
0 1 0
= 1 0 0
0 2 0
– 1 0 1 0 1 0
0 2 1 0 1 0 2 2 0
Reflected polygon = 1 0 0
1 0 1 0 3 0
0 2 0
0 2 1 2 2 0
Hence, new coordinates of polygon is,
(0, 1), (– 2, 2), (0, 3) and (2, 2).
Answer
1. A transformation that slants the shape of an object is called the shearing
transformation.
2. Shearing can be done :
a. Along x-direction :
i. An x-direction shear preserves the y coordinates, but changes
the x coordinates which causes vertical lines to tilt right or left.
ii. The transformation matrix for x shear is given as :
1 Shx 0
Shx = 0 1 0
0 0 1
x = x + Shx.y
y = y
iii. Any real number can be assigned to the shear parameter Shx.
y y
(1, 1) (2, 1)
(0, 1) (1, 1)
x x
(0, 0) (1, 0) (0, 0) (1, 0)
(a) Original object (b) After shearing in x-direction with Shx = 1
Fig. 2.10.1.
Transformation 2–16 C (CS-6)
www.aktutor.in
b. Along y-direction :
i. A y-direction shear preserve the x coordinates but changes
the y coordinates which cause horizontal line to transform
into lines which slope up or down.
ii. The transformation matrix for y-shear is given as :
1 0 0
Shy = Shy 1 0
0 0 1
x = x
y = x.Shy + y
y y
(1, 2)
(0, 1) (0, 1)
(1, 1)
(1, 1)
x x
(0, 0) (1, 0) (0, 0)
(a) Original object (b) After shearing in y-direction with Shy = 1
Fig. 2.10.2.
1 0 0
Shyref = Shy
1 Shy . xref
0 0 1
x = x
y = Shy(x – xref) + y
Computer Graphics 2–17 C (CS-6)
www.aktutor.in
Example : Consider a square with A(0, 0), B(1, 0), C(1, 1) and D(0,1)
and apply shearing transformation with shear parameter Shx = 0.5 and
relative to the line yref = – 1
A A
1 0 0
B B
= Shx 1 0
C C
– Shx yref 0 1
D D
0 0 1
1 0 0
1 0 1
= 0.5 1 0
1 1 1
0.5 0 1
0 1 1
0.5 0 1
1.5 0 1
=
2 1 1
1 1 1
y y
D (1, 1) C (2, 1)
D (0, 1) C (1, 1)
A (0, 0) B (1, 0)
x x
0 A (0.5, 0) B (1.5, 0)
(a) Original square (b) Sheared square
Fig. 2.10.3.
Answer
We know that the simultaneous shearing (x and y-axis) matrix is
1 shx 0
sh 1 0 ...(2.11.1)
y
0 0 1
Transformation 2–18 C (CS-6)
www.aktutor.in
1 shx 0
Shearing matrix in x-direction = 0 1 0
0 0 1
1 0 0
Shearing matrix in y-direction = shy 1 0
0 0 1
Shearing in the x-direction and then the y-direction =
1 shx 0 1 0 0 1 shx 0
0 1 0 sh 1 0 = sh 1 sh sh 0 ...(2.11.2)
y y x y
0 0 1 0 0 1 0 0 1
As equation (2.11.1) (2.11.2), hence, simultaneous shearing in both directions
is not equal to the composition of pure shear along x-axis followed by pure
shear along y-axis.
Hence proved.
PART-4
Windowing and Clipping : Viewing Pipeline, Viewing
Transformation.
CONCEPT OUTLINE
• Windowing referred as selected area of a picture for viewing.
• Clipping is the method to cut a specific object.
Questions-Answers
Answer
Clipping :
1. Clipping is the procedure that identifies those portions of a picture that
are either inside or outside of a specific region of space.
2. Point, line, area or text can be clipped.
Computer Graphics 2–19 C (CS-6)
www.aktutor.in
3. The region against which an object is to be clipped is called clipping
window.
Windowing :
1. Windowing is the process of selecting and viewing the picture with
different views.
2. An area on a display device to which a window is mapped is called a
viewport.
3. A window and viewports are rectangle in standard position, with the
rectangle edges parallel to coordinate axis.
Answer
Window
Translate
Object Window
(0, 0)
(a) (b)
Fig. 2.13.1.
Step 2 : The object and the window are then scaled until the window has
the dimension same as viewport. In other words, we are converting the
object into image and window in viewport.
Window Scaling
(0, 0)
Viewport
(a) (b)
Fig. 2.13.2.
Translate Viewport
PART-5
2-D Clipping Algorithm-Line Clipping Algorithm such as Cohen
Sutherland Line Clipping Algorithm, Liang-Barsky Algorithm.
CONCEPT OUTLINE
• Types of line clipping algorithm are :
i. Cohen-Sutherland line clipping
ii. Liang-Barsky line clipping
Questions-Answers
Answer
Cohen-Sutherland line clipping algorithm :
1. In this algorithm, a rectangular window is considered whose coordinates
are (xwmin, ywmin, xwmax, ywmax) as shown in Fig. 2.14.1.
Computer Graphics 2–21 C (CS-6)
www.aktutor.in
1001 1010
(xwmin, ywmax) 1000 (xwmax, ywmax)
Fig. 2.14.1.
2. Every line end point is assigned a 4-digit binary code (region code) that
identifies the location of the point corresponding to the boundaries of
the clipping window.
3. The procedure for calculating the end point p(x, y) code is as follow :
a. For bit 1
If (y – ywmax) < 0 then
code = 0;
else
code = 1;
b. For bit 2
If (ywmin– y) < 0 then
code = 0;
else
code = 1;
c. For bit 3
if(x – xwmax) < 0 then
code = 0;
else
code = 1;
d. For bit 4
if(xwmin– x) < 0 then
code = 0;
else
code = 1;
4. If the region code of both the end points of a line segment is 0000, the
line is completely visible as it completely lies within the window.
Transformation 2–22 C (CS-6)
www.aktutor.in
5. If the region code of both the end points of the line segment is not 0000
then we calculate AND operation of both end points A and B.
6. If the result of AND operation is 0000, the line is partially visible and
then find the point of intersection.
Answer
Cohen and Sutherland algorithm : Refer Q. 2.14, Page 2–20C, Unit-2.
Numerical :
Let P1 = (2, 7) and P2 = (8, 12), windows lower left corner = (5, 5) windows
upper right corner = (10, 10) as shown in Fig. 2.15.1.
y P2(8, 12)
P1(2, 7)
(10, 10)
R(x2, y2)
Q(x1, y 1)
(5, 5)
Fig. 2.15.1.
Now, we assign the four digit binary code for P1 and P2 shown in Table 2.15.1.
Table 2.15.1.
For P1 (2, 7) For P2 (8, 12)
Bit 1 : x – xwmin x–5 –3 3
Bit 2 : xwmax – x 10 – x 8 2
Bit 3 : y – ywmin Y–5 2 7
Bit 4 : ywmax – y 10 – y 3 –2
If sign bit is negative, it will assign unity(1) and if it is positive, it will
assign zero(0).
Binary code for P2(8, 12) : bit 4 bit 3 bit 2 bit 1 1000
Computer Graphics 2–23 C (CS-6)
www.aktutor.in
So, AND of P1 and P2 = 0000
Line P1P2 intersects the window at Q(x1, y1) and R(x2, y2). To find the
intersection points we use equation of line P1P2.
y2 y1 12 7 5
Slope of line P1P2 is m =
x2 x1 82 4
Equation of line P1P2 is given as
y = mx + c
y y1
y= 2 x+c
x2 x1
5
y= x+c ...(2.15.1)
4
P(2, 7) lies on the line so it satisfies the equation (2.15.1)
Put x = 2 and y = 7 in equation (2.15.1)
5
7= ×2+c
4
5 9
c = 7– = 4.5
2 2
Equation of line P1P2 is given as
5
y= x + 4.5 ...(2.15.2)
4
For intersection point Q(x1, y1) :
Since, Q(x1, y1) lies on line and the boundary of window. So, it satisfy
the equation (2.15.2) and x1 = 5
5
y1 = x + 4.5
4 1
4y1 – 5x1 = 18
Put x1 = 5, we get
4y1 = 18 + 5 × 5
18 25 43
y1 = = = 10.75
4 4
For intersection point R(x2, y2) :
Since, R(x 2 , y 2) lies on line and the boundary of window. So,
y2 = 10
Transformation 2–24 C (CS-6)
www.aktutor.in
5
y2 = x + 4.5
4 2
4y2 – 5x2 = 18
Put y2 = 10
40 – 5x2 = 18
40 18
x2 = = 4.4
5
So, the point of intersection are (5, 10.75) and R(4.4, 10)
Visible line segment is Q(5, 10.75) to R(4.4, 10)
Que 2.16. Given a clipping window A(20, 20), B(60, 20), C(60, 40),
D(20, 40). Using Sutherland Cohen algorithm find the visible portion
of line segment joining the points P(40, 80), Q(120, 30).
Answer
Fig. 2.16.1.
Here xL = 20 yB = 20
xR = 60 yT = 40
The outcodes can be calculated as
Bit 1 = sign of (y – yT)
Bit 2 = sign of (yB – y)
Bit 3 = sign of (x – xR)
Bit 4 = sign of (xL – x)
and sign = 1 if value is +ve and sign = 0 if value is –ve.
Thus, the outcodes of P(40, 80) is 1000 and Q(120, 30) is 0010.
Both endpoint codes are not zero and their logical AND is zero. Hence, line
cannot be rejected as invisible.
y2 y1 30 80 5
Slope of PQ(m) =
x2 x1 120 40 8
Computer Graphics 2–25 C (CS-6)
www.aktutor.in
and intersections point are calculated as :
Left intersection point :
5
y = m(xL – x1) + y1 = – (20 – 40) + 80
8
= 92.5, which is greater than yT and hence rejected.
Right intersection point :
5
y = m(xR – x1) + y1 = – (60 – 40) + 80
8
= 67.5, which is greater than yT and hence rejected.
Top intersection point :
1 1
x = x1 + (yT – y1) = 40 + (40 – 80)
m 5
8
= 104, which is greater than xR and hence rejected.
Bottom intersection point :
1 1
x = x1 + (yB – y1) = 40 + (20 – 80)
m 5
8
= 136, which is greater than xR and hence rejected.
Since both the values of y are greater than yT and xR. Therefore the line
segment PQ is completely outside the window.
Que 2.17. Write Liang and Barsky line clipping algorithm. Apply
it for calculating the saved portion of line from (2,7) to (8,12) in a
window.
Answer
The Liang-Barsky algorithm :
1. Read two endpoint of the line say P1 (x1, y1) and P2 (x2, y2).
2. Read two corners (left-top and right-bottom) of the window, say
(xwmin, ywmax, xwmax, ywmin).
3. Calculate the values of parameters pi and qi for i = 1, 2, 3, 4 such that
p1 = – x q1 = x1 – xwmin
p2 = x q2 = xwmax – x1
Transformation 2–26 C (CS-6)
www.aktutor.in
p3 = – y q3 = y1 – ywmin
p4 = y q4 = ywmax – y1
4. If pi = 0, then
{ The line is parallel to ith boundary.
if qi < 0 then
{ line is completely outside the boundary, can be eliminated
and goto stop.
}
else
{
line is inside the boundary and needs further consideration
}
else
{
q1
Calculate ri = for i = 1, 2, 3, 4
pi
}
}
5. For all k such that pk < 0 calculate rk = qk/pk. Let u1 be the maximum of
the set containing 0 and the various values of r.
6. For all k such that pk > 0 calculate rk = qk/pk. Let u2 be the maximum of
the set containing 1 and the calculated r values.
7. If u1 > u2, eliminate the line since it is completely outside the clipping
window, otherwise use u1 and u2 to calculate the endpoint of the clipped
line.
8. Stop.
Numerical :
P1 = (2, 7)
P2 = (8, 12)
(xwmin, ywmin) = (5, 5)
(xwmin, ywmax) = (5, 10)
Computer Graphics 2–27 C (CS-6)
www.aktutor.in
(xwmax, ywmin) = (10, 5)
(xwmax, ywmin) = (10, 10)
x = 8 – 2 = 6
y = 12 – 7 = 5
p1 = – x = – 6 q1 = x1 – xwmin = 2 – 5 = – 3
p2 = x = 6 q2 = xwmax – x1 = 10 – 2 = 8
p3 = – y = – 5 q3 = y1 – ywmin = 7 – 5 = 2
p4 = y = 5 q4 = ywmax – y1 = 10 – 7 = 3
q1 3 1
r1 = =
p1 6 2
q2 8 4
r2 = =
p2 6 3
q3 2 2
r3 = =
p3 5 5
q4 3 3
r4 = =
p4 5 5
1 2 1
or (pi < 0) u1 = Max , , 0
2 5 2
4 3 3
or (pi > 0) u2 = Min , , 1
3 5 5
u1 < u2
1
x1 = x1 + u1x = 2 + (6) = 5
2
3
x2 = x1 + u2x = 2 + (6) = 5.6
5
1
y1 = y1 + u1y = 7 + (5) = 9.5
2
3
y2 = y1 + u2y = 7 + (5) = 10
5
Coordinates of clipped lines will be (5, 9.5) and (5.6, 10).
Transformation 2–28 C (CS-6)
www.aktutor.in
y (5.6, 10)
10 (5, 10) (10, 10)
9 (5, 9.5)
8
7
6
5 (5, 5) (10, 5)
4
3
2
1
x
1 2 3 4 5 6 7 8 9 10
Fig. 2.17.1.
Que 2.18. Apply the Liang-Barsky to clip the line segment from
A (3, 7) to B (8, 10) against the regular rectangular window
P (1, 2), Q (9, 2), R (9, 8) and S (1, 8). AKTU 2014-15, Marks 07
Answer
y
(8, 10)
S (1, 8) (9, 8)
R
(3, 7)
Q
P (1, 2) (9, 2)
x
(0, 0)
Fig. 2.18.1.
2
r1 = q1 / p1 = = – 0.4
5
6
r2 = q2 / p2 = = 1.2
5
5
r3 = q3 / p3 = = – 1.66
3
1
r4 = q4 / p4 = = 0.33
3
u1 = max (– 0.4, – 1.66, 0) = 0
u2 = min (1, 1.2, 0.33) = 0.33
u1 < u2 endpoints are visible
x1 = x1 + (x × u1) = 3 + (5 × 0) = 3
y1 = y1 + (y × u1) = 7 + (3 × 0) = 7
x2 = x1 + (x × u2) = 3 + (5 × 0.33) = 4.65
y2 = y1 + (y × u2) = 7 + (3 × 0.33) = 7.99
Visible line will be P1 (3, 7) and P2 (4.65, 7.99).
Que 2.19. Write an algorithm for Cohen Sutherland line clipping
algorithm. Compare it with Liang-Barsky line clipping algorithm.
AKTU 2015-16, Marks 10
Answer
Cohen Sutherland algorithm : Refer Q. 2.14, Page 2–20C, Unit-2.
Transformation 2–30 C (CS-6)
www.aktutor.in
Comparison :
S. No. Cohen Sutherland line Liang-Barsky line
clipping algorithm clipping algorithm
1. It is not the most efficient but It is more efficient than Cohen
efficient when most of the Sutherland since interse ctio n
lines to be clipped are either calculations are reduced.
rejected or accepted.
2. Each intersection calculation Each update of parameters requires
requires both multiplication only one division.
and a division.
3. It repe atedly calculates Window intersections of lines are
intersection along a line path calculated once when final values
even through the line may have been computed.
be completely outside the clip
window.
PART-6
Line Clipping against Non-Rectangular Clip Window, Polygon
Clipping-Sutherland Hodgeman Polygon Clipping, Weiler and
Atherton Polygon Clipping.
CONCEPT OUTLINE
• A polygon is represented as a number of line segments connected
end to end to form a closed figure.
• Weiler Atherton clipping algorithm allows clipping of a subject
polygon by an arbitrarily shaped clip polygon.
• Sutherland-Hodgeman polygon clipping algorithm clips convex
polygon.
Questions-Answers
A B
Fig. 2.20.1.
A
Fig. 1.20.2.
Que 2.21. How inside test are performed using odd-parity rules or
winding number methods ?
Answer
1. Inside-outside test states, “How can we determine whether or not a
point is inside of a polygon”.
2. Following are the two methods to identify this :
a. Odd-parity methods :
i. Following is a simple idea to check whether a point is inside or
outside.
1. Draw a horizontal line to the right of each point and extend
it to infinity.
2. Count the number of times the line intersects with polygon
edges.
Transformation 2–32 C (CS-6)
www.aktutor.in
3. A point is inside the polygon if either count of intersections
is odd or point lies on an edge of polygon. If none of the
conditions is true, then point lies outside.
count = 1 odd
count = 2 even
count = 3 odd
count = 4 even
Fig. 2.21.1.
ii. If the point of intersection is also the vertex where two sides
met then to handle this case we must look at the other
endpoints of the two segments which meet at this vertex.
iii. If these points lie on the same side of the constructed line,
then the point in question counts as an even number of
intersection.
iv. If they lie opposite side of the constructed line, then the point
is counted as a single intersection.
Counts odd
Counts even
Fig. 2.21.2.
–1 1
Fig. 2.21.3.
Que 2.22. What are the steps required to fill a polygon using flood-
fill or boundary fill ?
OR
Write the algorithm for filling polygons and explain it with a suitable
example.
Answer
Filling is the process of ‘coloring in’ a fixed area or region. Following are the
various algorithm used to fill the area :
1. Boundary-fill algorithm :
a. An approach to area filling is to start at a point inside a region and
point the interior outward toward boundary.
b. If the boundary is specified in a single color, the fill algorithm
proceeds outward pixel by pixel until the boundary color is
encountered.
c. It is particularly useful in interactive painting packages, where
interior points are easily selected.
d. A boundary fill procedure accepts as input the coordinates of an
interior points (x, y) a fill color, and a boundary color.
e. The following procedure illustrate a recursive method for filling
4-connected with an intensity specified in parameter fill up to
boundary specified with parameter boundary.
4-connected 8-connected
Fig. 2.22.1.
C2 C3
V2
V3
I1
Polygon I2
V4
I3
I4
V5
V1
C1 C4
Fig. 2.23.1.
Answer
Sutherland-Hodgeman polygon clipping algorithm :
1. Read coordinates of all vertices of the polygon.
2. Read coordinates of the clipping window.
3. Consider the left edge of the window.
4. Compare the vertices of each edge of the polygon, individually with the
clipping plane.
5. Save the resulting intersections and vertices in the new list of vertices
according to four possible cases between the edge and the clipping
boundary.
6. Repeat the step 4 and 5 for remaining edges of the clipping window.
Each time the resultant list of vertices is successively passed, move the
process to the next edge of the clipping window.
7. Stop.
Weiler-Atherton polygon clipping :
1. In this algorithm, the vertex processing procedure is modified so that
the concave polygons are displayed correctly.
2. This algorithm depends on identifying surfaces as shown in Fig. 2.24.1.
3. There are two directions (clockwise or anticlockwise) that exist to process
the polygon vertices.
Computer Graphics 2–37 C (CS-6)
www.aktutor.in
4. For clockwise processing of polygon vertices, we use the following rules :
a. For an outside to inside pair of vertices, follow the polygon boundary.
b. For an inside to outside pair of vertices, follow the window boundary
in a clockwise direction.
v1 v2
v3
v4
v5
v7 v6
Clipping a concave polygon by Output (two separate
applying Weiler-Atherton algorithm polygon areas)
Fig. 2.24.1.
CONCEPT OUTLINE
PART-7 : PART-2
Curve Clipping, Text Clipping.
CONCEPT OUTLINE
• In curve clipping, we clip a curved object against a general polygon
clip region.
• Text clipping is a clipping in which whole character or only part
of it is clipped.
Questions-Answers
Que 2.25. Write a short note on curve clipping and text clipping.
Answer
Curve clipping :
i. Curve clipping procedures will involve non-linear equations, however,
this requires more processing than for objects with linear boundaries.
ii. The bounding rectangle for a circle or other curved object can be used
first to test for overlap with a rectangular clip window.
Transformation 2–38 C (CS-6)
www.aktutor.in
iii. If the bounding rectangle for the object is completely inside the window,
we save the object.
iv. If the bounding rectangle is determined to be completely outside the
window, we discard the object.
v. This procedures can be applied when clipping a curved object against a
general polygon clip region. On the first pass, we can clip the bounding
rectangle of the object against the bounding rectangle of the clip region.
vi. If the two regions overlap, we will need to solve the simultaneous
line-curve equations to obtain the clipping intersection points.
Text clipping :
i. Text clipping is a clipping in which we clip the whole character or only
part of it and depends on the requirement of the application.
ii. Following are the various text clipping methods :
a. All-or-none string clipping method :
1. In this method, if all of the string is inside a clip window, we
keep it. Otherwise, the string is discarded.
2. This method is implemented by considering a bounding
rectangle around the text pattern.
3. The boundary positions of the rectangle are then compared to
the window boundaries, and the string is rejected if there is
any overlap.
4. This method produces the fastest text clipping.
String 1
String 2 String 2
String 1 ring 1
String 3 St
String 2 String 2
Computer Graphics 3–1 C (CS-6)
www.aktutor.in
3
UNIT
Three Dimensional
CONTENTS
Part-1 : Three Dimensional : .................................... 3–2C – 3–3C
3D Geometric Primitive
3D Object Representation
CONCEPT OUTLINE
• Geometric primitives are the basic geometrical shapes used to
construct graphics scenes and the resulting final images.
Questions-Answers
Answer
Geometric primitives are the basic geometrical shapes used to construct
computer graphics scenes and the resulting final images.
Commonly used 3D geometric primitives include :
1. Points : A point is an exact position or location on a plane surface.
2. Line : A line is a straight curve. When geometry is used to model the
real world, lines are used to represent straight objects with negligible
width and height.
3. Line segments : A line segment is a part of a line that is bounded by
two end points, and contains every point on the line between its end
points.
4. Planes : A plane is the two dimensional analogue of a point (zero-
dimensions), a line (one-dimension) and a space (three-dimensions).
5. Circles : A circle is a simple shape of Euclidean geometry consisting of
those points in a plane which is equidistant from a given point called the
centre.
6. Ellipses : Ellipses are closed curves and are the bounded case of the
conic sections, the curves that result from the intersection of a circular
cone and a plane that does not pass through its apex.
7. Triangles : A polygon with three corners or vertices and three sides or
edges which are line segments is called a triangle.
8. Polygons : A polygon is traditionally a plane figure that is bounded by
a closed path or circuit, composed of a finite sequence of straight line
segments.
Computer Graphics 3–3 C (CS-6)
www.aktutor.in
9. Spline : A spline is a special function defined piecewise by polynomials
and preferred to polynomial interpolation.
10. Spheres : A sphere is a perfectly round geometrical object in
three dimensional space, such as the shape of a round ball.
Answer
To represent a 3D object we have categorised the object into some model
representation :
1. Polygon and quadric surfaces provide precise descriptions for simple
Euclidean objects such as polyhedrons and ellipsoids.
2. Spline surfaces end construction techniques are useful for designing
aircraft wings, gears, and other engineering structures with curved
surfaces.
3. Procedural methods, such as fractal constructions and particle systems,
allow us to give accurate representations for clouds, clumps of grass,
and other natural objects.
4. Physically based modeling methods using systems of interacting forces
can be used to describe the non-rigid behavior of a piece of cloth.
5. Visualization techniques are applied to three dimensional discrete data
sets to obtain visual representations of the data.
6. Representation schemes for solid objects are often divided into two
broad categories :
a. Boundary representations (B-reps) describe a three dimensional
object as a set of surfaces that separate the object interior from the
environment.
a. Space partitioning representations are used to describe interior
properties, by partitioning the spatial region containing an object
into a set of small, non-overlapping, contiguous solids (usually cubes).
PART-2
3D Transformation, 3D Viewing.
CONCEPT OUTLINE
• In 3D transformation we can change the shape, position and
direction of any object with respect to any coordinates system.
• A 3D viewing in general referred as projection.
Questions-Answers
Answer
3D transformation :
1. In a three dimensional homogeneous coordinate representation, a point
is translated from position P(x, y, z) to position P'(x', y', z') with matrix
operation
x' 1 0 0 tx x
y ' 0 1 0 t y y
=
z' 0 0 1 tz z
1 0 0 0 1 1
P' = T.P
x' = x + tx
y' = y + ty
z' = z + tz
y-axis
z-axis x-axis
Fig. 3.3.1.
2. An object is translated in three dimensions by transforming each of the
defining points of the object.
Rotation :
1. In 3D rotation transformation a point is rotated from P(x, y, z) to
P(x, y, z) and require an angle of rotation and an axis of rotation.
2. Matrix representation of rotation about z-axis is given as :
x' = x cos – y sin
y' = x sin + y cos
z' = z
cos sin 0 0
sin cos 0 0
Rz() =
0 0 1 0
0 0 0 1
Computer Graphics 3–5 C (CS-6)
www.aktutor.in
Scaling : The matrix expression for the scaling transformation of a position
P(x, y, z) relative to the coordinate origin can be written as :
x ' sx 0 0 0 x
y ' 0 s 0 0 y
= y
z' 0 0 sz 0 z
1 0 0 0 1 1
P' = S.P
where x' = x.s x
y' = y.s y
z' = z.sz
Que 3.4. Derive rotation about x-axis, y-axis and z-axis matrices
in 3D. Also, prove that for any rotation matrix R–1() = R(– ).
AKTU 2012-13, Marks 10
Answer
i. Rotation about x-axis (i.e. axis of rotation is x) :
x
r
P (x, y , z )
P(x, y, z)
z
Fig. 3.4.1. Rotation when axis of rotation is x-axis.
x = x
y = r cos ( + )
y = r cos cos – r sin sin ...(3.4.1)
Since r cos = y and r sin = z
Put the value in equation (3.4.1) we get,
y = y cos – z sin
z = r sin ( + )
= r sin cos + r cos sin
= z cos + y sin
Three Dimensional 3–6 C (CS-6)
www.aktutor.in
1 0 0
or, R,i = 1 cos sin
0 sin cos
The points after rotation can be calculated by the following equation :
P (x, y, z) = R,i P(x, y, z)
Equation in the matrix form is given as :
x 1 0 0 0 x
y 1 cos sin 0 y
=
z 0 sin cos 0 z
1 0 0 0 1 1
ii. Rotation about y-axis (i.e., y-axis is axis of rotation) :
y
P (x, 0, z)
P (x, 0, z)
x
Fig. 3.4.2.
x = x cos + z sin
y = y
z = – x sin + z cos
cos 0 sin
or, R, i = 0 1 0
sin 0 cos
Equation in the matrix form is given as :
x cos 0 sin 0 x
y
= 0 1 0 0 y
z sin 0 cos 0 z
1 0 0 0 1 1
Computer Graphics 3–7 C (CS-6)
www.aktutor.in
iii. Rotation about the z-axis (i.e., z-axis is axis of rotation)
y
P (x, y , 0)
P (x, y, 0)
x
z
Fig. 3.4.3.
x = x cos – y sin
y = z cos + y sin
z = z
cos sin 0
or, R, i = sin cos 0
0 0 1
Equation in the matrix form is given as :
x cos sin 0 0 x
y
= sin cos 0 0 y
z 0 0 1 0 z
1 0 0 0 1 1
Numerical :
1 0 0 0
0 cos sin 0
Let R() =
0 sin cos 0
0 0 0 1
Put = (– ), we get
1 0 0 0
0 cos ( ) sin ( ) 0
R(–) =
0 sin ( ) cos ( ) 0
0 0 0 1
Since cos (–) = cos (), sin (–) = – sin , we have
1 0 0 0
0 cos sin 0
R(–) =
0 sin cos 0
0 0 0 1
Three Dimensional 3–8 C (CS-6)
www.aktutor.in
Now,
1 0 0 0 1 0 0 0
0 cos sin 0 0 cos sin 0
R(–) * R() = *
0 sin cos 0 0 sin cos 0
0 0 0 1 0 0 0 1
1 0 0 0
0 1 0 0
= =I
0 0 1 0
0 0 0 1
We have,
R(– ) . R() = I
Multiply R–1() both sides,
R(– ).R().R– 1() = I.R– 1()
R(– ) = R – 1()
Hence proved.
Que 3.5. Write the steps involved in constructing 3D viewing
transformation.
Answer
The steps involved in constructing 3D viewing transformations :
The complete three dimensional viewing process (without hidden surface
removal) is described by the following steps :
1. Transform coordinates from world coordinates to normalized viewing
coordinates by applying the transformation Npar or Nper.
2. Clip in normalized viewing coordinates against the canonical clipping
volumes.
3. Project onto the screen projection plane using the projections Par or
Per.
4. Apply the appropriate (two dimensional) viewing transformation.
In terms of transformations, we can describe the above process in terms
of a viewing transformation VT, where
VT = V2 Par CL Npar or VT = V2 Per CL Nper
Here CL and V2 refer to the appropriate clipping operations and two
dimensional viewing transformations.
PART-3
Projection.
Computer Graphics 3–9 C (CS-6)
www.aktutor.in
CONCEPT OUTLINE
• Projection is a process of representing a three dimensional
object or scene into two dimensional medium i.e., projection is
a shadow of the object.
Questions-Answers
Answer
Projection :
1. Projection is a process of representing a three dimensional object or
scene into two dimensional medium i.e., projection is a shadow of the
object.
2. Projections transform points in a coordinate system of dimension ‘n’
into points in a coordinate system of dimension less than n.
Types of projections :
1. Parallel projection :
a. In a parallel projection, coordinate positions are transformed to
the view plane along parallel lines.
b. These are linear transforms that are useful in blueprints to
produce scale drawings of three dimensional objects.
2. Perspective projection :
a. In a perspective projection, object positions are transformed to
the view plane along lines that converge to a point called the
center of projection.
b. The projected view of an object is determined by calculating the
intersection of the projection lines with the view plane.
Three Dimensional 3–10 C (CS-6)
www.aktutor.in
Difference between parallel and perspective projection :
S. No. Parallel projection Perspective projection
1. In parallel projection, parallel Perspective projection produces
lines from each vertex on the realistic view.
object are extended until they
intersect the view plane.
2. Lines of projection are parallel. Lines of projection are not parallel.
3. These are linear transform. These are non-linear transform.
4. In parallel projection, the In perspective projections, the
center o f proje ction is at center of projection is at a point.
infinity.
Answer
Parallel projection : Refer Q. 3.6, Page 3–9C, Unit-3.
Orthographic projection :
1. It is a part of the parallel projection in which the center of projection lies
at infinity.
2. In orthographic projection, the projectors are perpendicular to the
projection plane and hence true size and shape of a single plane face of
object is obtained.
3. Orthographic projections do not change the length of line segments
which are parallel to projection plane and other lines are projected with
reduced length.
4. It is the projection on one of the coordinate planes i.e.,
x = 0, y = 0 or z=0
5. The matrix for projection onto the x = 0, y = 0 and z = 0 plane is
0 0 0 0
0 1 0 0
Px =
0 0 1 0
0 0 0 1
1 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
Py = and Pz =
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 1
Computer Graphics 3–11 C (CS-6)
www.aktutor.in
Oblique projection :
1. An oblique projection is obtained by projecting points along parallel lines
that are not perpendicular to the projection plane.
2. In this projection angle between the projectors and the plane of projection
is not equal to 90° i.e., projection are non-perpendicular to view plane.
3. This type of projection is seen in form of shadow of any object due to
sunlight.
4. Transformation matrix for oblique projection is given as
1 0 L1 cos 0
0 1 L1 sin 0
M=
0 0 0 0
0 0 0 1
where, L1 is the length of line.
Answer
Transformation matrix of perspective projection :
1. A perspective transformation is determined by prescribing a center of
projection and a view plane.
2. The view plane is determined by its view reference point R0 and view
plane normal N.
3. The object point p is located in world coordinates at (x, y, z). The problem
is to determine the image point coordinates p'(x', y', z').
4. The standard perspective projection is shown in Fig. 3.8.1. Here the
view plane is the xy-plane and center of projection is taken as the point
C(0, 0, – d) on negative z-axis.
d. x d. y
x' = , y' , z' 0
zd zd
5. The perspective projection transformation between object and image
point is non-linear and so cannot be represented as 3 × 3 matrix
transformation.
6. If we use homogeneous coordinate, the perspective transformation can
be represented as 4 × 4 matrix :
x' d. x d 0 0 0 x
y ' d 0 0 y
= d. y 0
z' 0 0 0 0 0 z
1
z d 0 0 1 d 1
Three Dimensional 3–12 C (CS-6)
www.aktutor.in
p(x, y, z) y
p (x , y , z )
B(0, 0, z)
z (0, 0, 0)
z c(0, 0, – d)
O d
x
x
A (x , 0, 0)
A(x, 0, 0)
x
Fig. 3.8.1.
Perspective projection anomalies :
1. Perspective foreshortening : The farther an object is from the center
of projection, the smaller it appears.
c(0, 0 – d) z
A B
Fig. 3.8.2.
2. Vanishing point : Projections of lines that are not parallel to the view
plane appear to meet at some point on the view plane.
3. View confusion : Objects behind the center of projection are projected
upside down and backward onto the view plane.
Answer
Derivation of oblique parallel projection :
1. An oblique projection is obtained by projecting points along parallel lines
that are not perpendicular to the projection plane.
2. An oblique projection of a point P(x, y, z) on the z = 0 plane is shown in
Fig. 3.9.1.
3. Pob (xp, yp) is oblique projection of the point P and Por (x, y) is the
orthographic projection of P on the z = 0 plane.
4. Let L be the length of the line joining points P ob (x p, y p) and
Por (x, y), be the angle made by the line L with x-axis.
Computer Graphics 3–13 C (CS-6)
www.aktutor.in
P(x, y, z)
(c)
Pob
(xP, yP)
z = 0 plane of
L projection a 90°
X
Por (x, y)
Fig. 3.9.1.
5. We can express the projection coordinates in terms of x, y, L and θ as
xp = x + L cos
yp = y + L sin
6. Length L depends on the angle and the Z coordinate of the point to be
projected
Z Z 1
tan = L= = ZL1 where L1 tan
L tan
when Z = 1, L = L1
7. Now, we can write the oblique projection as
xp = x + Z(L1 cos )
yp = x + Z(L1 sin )
8. Considering Zp = 0, we get
xp 1 0 L1 cos 0 x
0 1 L sin 0 y
yp 1
z = 0 0 0 0 z
p
1 0 0 0 1 1
Derivation of perspective projection matrix :
1. Let us consider the center of projection is at (xc, yc, zc) and the point on
object is (x1, y1, z1), then the parametric equation for the line containing
these points can be given as
x2 = xc + (x1 – xc)u
y2 = yc + (y1 – yc)u
z2 = zc + (z1 – zc)u
where u is the parameter
2. For projected point z2 is 0, therefore, the third equation can be written
as
0 = zc + (z1 – zc)u
Three Dimensional 3–14 C (CS-6)
www.aktutor.in
zc
u=–
( z1 zc )
3. Put this value of u in first two equations, we get
zc
x2 = xc – (x – xc)
( z1 zc ) 1
xc z1 xc zc x1 zc xc zc
=
(z1 zc )
xc z1 x1 zc
x2 =
( z1 zc )
zc
and y2 = yc – (y – yc)
( z1 zc ) 1
yc z1 yc zc y1 zc yc zc
=
( z1 zc )
yc z1 y1 zc
y2 =
( z1 zc )
4. So, the homogeneous matrix can be written as
zc 0 0 0
0 z 0 0
1]
c
[x2 y2 z2 1] = [x1 y1 z1
xc yc 0 1
0 0 0 zc
Answer
Parallel projection : Refer Q. 3.6, Page 3–9C, Unit-3.
Types of parallel projection :
i. Orthographic projection : Refer Q. 3.7, Page 3–10C, Unit-3.
ii. Oblique projection : Refer Q. 3.7, Page 3–10C, Unit-3.
Perspective projection : Refer Q. 3.6, Page 3–9C, Unit-3.
Different types of perspective projection are :
1. Single-point perspective transformation : One-point perspective
projection occurs when only one principal axis intersects the plane of
projection.
2. Two-point perspective transformation : Two-point or two principal
vanishing point perspective projection occurs when the plane of
projection intersects exactly two of the principal axis.
Computer Graphics 3–15 C (CS-6)
www.aktutor.in
3. Three-point perspective transformation : Three-point projection
is obtained when the projection plane intersects all three of the principal
axis i.e., none of the principal axis is parallel to the projection plane.
Depth cueing projection :
1. In depth cueing, we include the depth information in the displayed
object.
2. The depth of an object can be represented by the intensity of the image.
3. Depth cueing is applied by choosing maximum and minimum intensity
values.
4. The parts of the objects closest to the viewing position are displayed with
the highest intensities and objects farther away are displayed with
decreasing intensities.
5. Reason to use depth cueing projection for 3D display method:
a. To create realistic view of an object.
b. To easily identify the particular viewing direction of displayed object.
6. A simple method for indicating depth is using wireframe display.
Que 3.11. Explain the matrix for perspective projection for three
vanishing points.
Answer
Matrix for perspective projection for three vanishing point :
1. Three vanishing point projection occurs when the projection plane
intersects all three of the principal axis i.e., none of the principal axis is
parallel to the projection plane.
2. The need of three vanishing point perspective transformation is to
reconstruct the shape of a 3D object.
3. The matrix representation of three vanishing point perspective
transformation is
1 0 0 p
0 1 0 q
0 0 1 r
0 0 0 1
1 0 0 p
0 1 0 q
[x y z 1] = [x y z 1]
0 0 1 r
0 0 0 1
= [x y z (px + qy + rz +1)]
x y z
= 1
( px qy rz 1) ( px qy rz 1) ( px qy rz 1)
Three Dimensional 3–16 C (CS-6)
www.aktutor.in
4. It has three center of projections, one on x-axis at [– 1/p, 0, 0, 1], second
on y-axis at [0, – 1/q, 0, 1] and third on z-axis at [0, 0, – 1/r, 1].
5. It also has three vanishing points, one on x-axis [1/p, 0, 0, 1], one on
y-axis at [0, 1/q, 0, 1] and third on z-axis at [0, 0, 1/r, 1].
Que 3.12. Find the perspective projection onto the view plane
z = d where the centre of projection is the origin (0, 0, 0).
Answer
The plane z = d is parallel to the xy plane. Thus the view plane normal vector
N is the same as the normal vector K to the xy plane, i.e., N = K. Select view
reference point as R0(0, 0, d), then
N(n1, n2, n3) = (0, 0, 1)
R0(x0, y0, z0) = (0, 0, d)
d0 = n1x0 + n2y0 + n3z0 = d
then projection matrix is
d 0 0 0
0 d 0 0
Perk, R =
0 0 0 d 0
0 0 1 0
Que 3.13. Find the general form of an oblique projection onto the
xy plane.
Answer
1. Oblique projection can be specified by a number f and an angle . The
number f prescribes the ratio that any line L perpendicular to the xy
plane will be foreshortened after projection.
2. The angle is the angle that the projection of any line perpendicular to
the xy plane makes with the x-axis.
z
P(0, 0, 1)
V
Line L
y
y
x f x
x P (x, y , 0)
y
Fig. 3.13.1.
Computer Graphics 3–17 C (CS-6)
www.aktutor.in
3. To determine the projection transformation, we need to find the direction
vector V. From above figure we have line L of length 1, we see that
vector P P has the same direction on V.
1 0 f cos 0
0 1 f sin 0
ParV =
0 0 0 0
0 0 0 1
Que 3.14. Find the transformation for (a) cavalier with = 45° and
(b) cabinet projection with = 30°.
Answer
a. A cavalier projection is an oblique projection where there is no
foreshortening of line perpendicular to the xy plane. We then see for
f = 1, with = 45°, we have
2
1 0 0
2
2
ParV1 = 0 1 0
2
0 0 0 0
0 0 0 1
1
b. A cabinet projection is an oblique projection with f = , with
2
= 30°, we have
3
1 0 0
4
1
ParV2 = 0 1 0
4
0 0 0 0
0 0 0 1
Three Dimensional 3–18 C (CS-6)
www.aktutor.in
PART-4
3D Clipping
CONCEPT OUTLINE
• Clipping in three dimensions can be accomplished using
extensions of two dimensional clipping methods.
Questions-Answers
Answer
1. Clipping in three dimensions can be accomplished using extensions of
two dimensional clipping methods.
2. In 3D clipping we clip the objects against the boundary planes of the
view volume.
3. To clip a line segment against the view volume, we would need to test
the relative position of the line using the view volume’s boundary plane
equations.
4. By substituting the line endpoint coordinates into the plane equation of
each boundary which determines whether the endpoint is inside or
outside that boundary.
a. An endpoint (x, y, z) of a line segment is outside a boundary plane if
Ax + By + Cz + D > 0
b. Similarly, the point is inside the boundary if Ax + By + Cz + D < 0.
c. Lines with both endpoints outside a boundary plane are discarded,
and those with both endpoints inside all boundary planes are saved.
5. The intersection of a line with a boundary is found using the line
equations along with the plane equation.
Computer Graphics 3–19 C (CS-6)
www.aktutor.in
6. Intersection coordinates (xl, yl, zl) are values that are on the line and
that satisfy the plane equation Axl + Byl + Czl + D = 0, where A, B, C,
and D are the plane parameters for that boundary.
Answer
1. The Cohen Sutherland algorithm extends easily to 3D. It extends the
3D clipping window boundaries to define 27 regions. Assign a 6 bit code
to each region, that is, for each point (x, y, z).
2. Suppose the bands for cuboid view volume are (Xvmin, Xvmax), (YvminYvmax)
and (Zvmin, Zvmax) where the subscript vmin and vmax stands for view
volume minlimit and view volume maxlimit (front and back end planes).
3. We assign bit codes to any point (x, y, z) as :
Bit1 = 1 if x < Xmin
Bit 2 = 1 if x > Xmax
Bit 3 = 1 if y < Ymin
Bit 4 =1 if y > Ymax
Bit 5 = 1 if z < Zmin
Bit 6 =1 if z > Zmax.
Otherwise bits are set to 0 (zero).
4. A point is inside if the region code is 000000. Therefore a line is visible if
both ends are 000000.
5. A line is invisible if it lies entirely to one side of the clipping region, that
is, if logical AND operation on the bit codes of the end points is non-zero.
Answer
1. Cyrus-Beck algorithm is applicable to an arbitrary convex region.
2. This algorithm uses a parametric equation of line segment to find the
intersection points of a line with the clipping edges.
Three Dimensional 3–20 C (CS-6)
www.aktutor.in
3. The parametric equation of a line segment from P1 to P2 is
P(t) = P1 + (P2 – P1) t, 0 t 1
where t is a parameter, t = 0 at P1 and t = 1 at P2.
4. Consider a convex clipping region R, f is a boundary point of the convex
region R and n is an inner normal for one of its boundaries, as shown in
Fig. 3.17.1.
y
Boundary point
f
Convex region (R)
x
0
Fig. 3.17.1. Convex region, boundary point and inner normal.
n·[P(t) – f] > 0
n
n·[P(t) – f] < 0 n·[P(t) – f] = 0
n
P1
Clipping edge
Fig. 3.17.2. Dot product for three inside, outside and on
the boundary of the clipping region.
Computer Graphics 3–21 C (CS-6)
www.aktutor.in
Cyrus-Beck line clipping algorithm :
1. Read two endpoints of the line, P1 and P2.
2. Read vertex coordinates of the clipping window.
3. Calculate D = P2 – P1.
4. Assign boundary point (f) with particular edge.
5. Find inner normal vector for corresponding edge.
6. Calculate D · n and W = P1 – f.
7. If D · n > 0.
W ·n
tL = –
D.n
else
W ·n
tU = –
D.n
end if
8. Repeat steps 4 to 7 for each edge of the clipping window.
9. Find maximum lower limit and minimum upper limit.
10. If maximum lower limit and minimum upper limit do not satisfy condition
0 t 1 then ignore the line.
11. Calculate the intersection points by substituting values of maximum
lower limit and minimum upper limit in the parametric equation of the
line P1 P2.
12. Draw the line segment P(tL) to P(tU).
13. Stop.
Que 3.18. Consider the line from P1(– 2, 1) to P2 (8, 4) clipped to the
rectangular region R as shown in the Fig. 3.18.1. The line P 1P 2
intersects the window. Calculate the intersection points.
y
4 P 2(–2, 1)
2
P1(–2, 1)
f
x
–2 2 4 6 8
Fig. 3.18.1.
Three Dimensional 3–22 C (CS-6)
www.aktutor.in
Answer
Computer Graphics 4–1 C (CS-6)
www.aktutor.in
4
UNIT
Curves and Surfaces
CONTENTS
Part-1 : Curves and Surfaces : ................................. 4–2C – 4–4C
Quadric Surface
Spheres
Ellipsoid
Blobby Objects
PART-1
Curves and Surfaces : Quadric Surfaces, Spheres, Ellipsoid,
Blobby Objects.
CONCEPT OUTLINE
• Curves are the graphical representation of any quantity between
x and y-axis.
• Ellipsoid surface is the extension of a spherical surface.
• Quadric surface include spheres, ellipsoids, tori, paraboloids,
etc.
• Blobby object are non-rigid object that do not have fixed shape
and change their surface characteristics in certain motions.
Questions-Answers
Answer
Various types of quadratic surfaces :
1. Sphere :
a. A sphere with a radius r is defined as the set of points (x, y, z) that
satisfies the following equations :
x2 + y2 + z2 = r2
Z
P(x, y, z)
r
2
Y
1
X
Fig. 4.1.1. Parametric coordinate position (r, 1, 2)
on the surface of a sphere.
b. The parametric equations for spherical surfaces are :
x = r cos 1 cos 2
Computer Graphics 4–3 C (CS-6)
www.aktutor.in
y = r sin 1 cos 2
z = r sin 2
where, 2 and – 1
2 2
2. Ellipsoid :
a. An ellipsoid surface is the extension of a spherical surface. There
are three mutually perpendicular radii that have different values
as shown in Fig. 4.1.2.
Z
rz
ry
rx Y
X
Fig. 4.1.2. An ellipsoid with three mutually perpendicular
radii rx, ry and rz, centered on the coordinate origin.
b. In the cartesian coordinate system, the ellipsoid centered at the
origin can be defined as :
2 2 2
x y z = 1
r r
r
x y z
O
Y
X
Fig. 4.1.3. Torus
This can be generated by rotating a conic object like a circle about a
specified axis.
b. In cartesian coordinates, equations for points over the surface of a
torus is given as
Curves and Surfaces
www.aktutor.in 4–4 C (CS-6)
2
x
2
y z
2
r = 1
r r r
x y z
PART-2
Introductory Concepts of Spline.
CONCEPT OUTLINE
• B-spline is basis spline function which contains a set of control
points.
Questions-Answers
Que 4.2. Explain the B-spline curves. What are the properties of
B-spline curve ?
OR
Write the properties of B-spline curves. Also write advantages of B-
spline curves over Bezier curves.
Computer Graphics 4–5 C (CS-6)
www.aktutor.in
Answer
B-spline curves :
1. B-spline is basis spline function which contains a set of control points.
2. B-spline function is a combination of flexible band that passes through
the number of control points and creates a smooth curve.
3. Each vertex affects the shape of the curve only over a range of parameter
values where its associated basis function is non-zero.
7 P 8 (2, 6) P6 (6, 6)
6
5 P 7 (4, 6)
4 P9 (2, 4)
3
P 2 (1, 2)
2 P3 (3, 1) P5 (5, 2)
1
P1 (0,1)
0 P4 (3, 0)
0 5 10 15
Fig. 4.2.1.
4. The B-spline is non-global because each vertex Bi is associated with a
unique basis function.
5. If P(u) be the position vectors along the curve as a function of the
parameter u, a B-spline curve is given by
n
P(u) = P
k0
k Bk, d (u) , umin u umax
2 dn+1
where the pk is an input set of n + 1 control points.
Example : The unweighted spline set of 10 control points, 10 splines,
14 knots, and but only 7 intervals are shown is Fig. 4.2.2.
0 6 8 m t
3 4 m+1
Fig. 4.2.2.
Properties of B-splines curves :
1. The polynomial curve has degree d–1 and Cd–2 continuity over the range
of u.
2. For n + 1 control points, the curve is described with n + 1 blending
functions.
3. Each blending function Bk,d is defined over d subintervals of the total
range of u, starting at knot value uk.
Curves and Surfaces
www.aktutor.in 4–6 C (CS-6)
B
k 0
k, d (u) = 1
Answer
We imposed various continuity conditions at the connection points to ensure
smooth transition from one section to the next section of the piecewise
parametric curve. If the spline curve is described in terms of parametric
coordinate form like
x = x(v), y = y(v), z = z (v)
Spline curve can be represented as :
1. Zero-order parametric continuity : When two pieces of the curve
meet at a point, this is known as zero-order parametric continuity as
shown in Fig. 4.3.1, and is represented by C 0.
Answer
Characteristics of B-spline curve :
1. The sum of the B-spline basis functions for any parameter value
is 1.
2. Each basis function is positive or zero for all parameter values.
3. Each basis function has precisely one maximum value, except for
k = 1.
4. The maximum order of the curve is equal to the number of vertices of
defining polygon.
5. The degree of B-spline polynomial is independent on the number of
vertices of defining polygon.
6. The curve exhibits the variation diminishing property.
7. The curve generally follows the shape of defining polygon.
B-spline curve is useful for interpolation because :
1. The degree of B-spline polynomial is independent of the number of
control points of defining polygon.
2. B-spline allows local control over the curve surface because each control
point affects the shape of a curve only over a range of parameters
values where its associated basis function is non-zero.
Answer
Parametric representation of surfaces means a continuous, vector-valued
function P(s, t) of two variables, or parameters s and t where the variables
are allowed to range over connected region of the uv plane.
Parametric description :
1. The three equations for determining the coordinates of any point on the
surface S are described in terms of parameters, say, s and f, and in
parameter ranges [a, b] and [c, d], which may be infinite :
Curves and Surfaces
www.aktutor.in 4–8 C (CS-6)
x = f(s, t), a s b
S : y = g(s, t), c t d
z = h(s, t)
2. The coordinates of any point P on the surface have the form
[f(s, f), g(s, t), h(s, t)].
3. Spherical surface in parametric form can be defined in terms of the
angular parameters and :
x = r cos cos , for – /2 /2
y = r cos sin , for –
z = r sin
4. Parametric representation for a torus is similar to those for an ellipse,
except that the angle extends over 360°. Using latitude and longitude
angles and , we can describe the torus surface as the set of points that
satisfy
X = rx cos cos , for – /2 /2
Y = ry cos sin , for –
Z = rz sin
Answer
1. Interpolation is a method of constructing new data points within the
range of a discrete set of known data points.
2. The number of data points obtained by sampling or experimentation
represents the values of a function for a limited number of values of
the independent variable.
3. It is often required to interpolate, i.e., estimate the value of that function
for an intermediate value of the independent variable.
4. A few data points from the original function can be interpolated to
produce a simpler function which is still fairly close to the original. The
resulting gain in simplicity may outweigh the loss from interpolation
error.
5. The main task in this process is to find the suitable mathematical
expression for the known curve.
6. Interpolation technique is used when we have to draw the curve by
determining intermediate points between the known sample points.
Que 4.7. Explain the types of interpolation method.
Answer
Type of interpolation methods are :
Computer Graphics 4–9 C (CS-6)
www.aktutor.in
1. IDW :
a. The IDW (Inverse Distance Weighted) tool uses a method of
interpolation that estimates cell values by averaging the values of
sample data points in the neighbourhood of each processing cell.
b. The closer a point is to the center of the cell being estimated the
more influence or weight it has in the averaging process.
c. A specified number of points or all points within a specified radius
can be used to determine the output value of each location.
2. Kriging :
a. Kriging is a geostatistical procedure that considers both the distance
and the degree of variation between known data points when
estimating values in unknown areas.
b. This procedure generates an estimated surface from a scattered
set of points with z-values.
c. It should be done before we select the best estimation method for
generating the output surface.
3. Natural neighbour :
a. Natural neighbour interpolation finds the closest subset of input
samples to a query point and applies weights to them based on
proportionate areas to interpolate a value.
b. It is also known as Sibson or “area-stealing” interpolation.
4. Spline : The spline tool uses an interpolation method that estimates
values using a mathematical function that minimizes overall surface
curvature, resulting in a smooth surface that passes exactly through
the input points.
5. Spline with barriers : The spline with barriers tool uses a method
similar to the technique used in the Spline tool, with the major difference
being that this tool honors discontinuities encoded in both the input
barriers and the input point data.
6. Topo to raster : It use an interpolation technique specifically designed
to create a surface that more closely represents a natural drainage
surface and better preserves stream networks from input contour data.
7. Trend :
a. Trend is a global polynomial interpolation that fits a smooth surface
defined by a mathematical function (a polynomial) to the input
sample points.
b. The trend surface changes gradually and captures coarse-scale
patterns in the data.
PART-3
B-Spline and Bezier Curve and Surfaces.
Curves and Surfaces
www.aktutor.in 4–10 C (CS-6)
CONCEPT OUTLINE
• A Bezier curve section can be filled to any number of control
points.
Questions-Answers
Answer
Bezier curves :
1. A Bezier curve section can be filled to any number of control points.
2. The number of control points to be approximated and their relative
position determine the degree of Bezier polynomial.
3. Bezier curve can be specified with boundary conditions with a
characterizing matrix or with blending functions.
4. For general Bezier curves, the blending function specification is most
convenient.
5. Suppose we are given n + 1 control points position : Pk = (xk, yk, zk) with
k varying from 0 to n.
P1
P1 P2
P0 P0
( a) ( b)
P2 P3
P1 P3
P1
P0
P3 P4
P0
P2
(c ) (d)
P2
n
y(u) = y BEZ
k 0
k k ,n (u)
n
z(u) = z BEZ
k 0
k k, n (u)
Answer
The equation for the Bezier curve is given as :
p(u) = (1– u)3 P1 + 3u(1 – u)2 P2 + 3u2 (1 – u) P3 + u3 P4 for 0 u 1
where p(u) is the point on the curve P1, P2, P3, P4.
1 1 3
Let us take u = 0, , ,
4 2 4
P(0) = (1, 1)
Curves and Surfaces
www.aktutor.in 4–12 C (CS-6)
3 2
1 1 1 1
P = 1 P1 3 1 P2
4 4 4 4
2 3
1 1 1
+ 3 1 P3 P4
4 4 4
27 27 9 1
= (1, 1) (2, 3) (4, 3) (6, 4)
64 64 64 64
27 27 9 1 27
= 1 2 4 6, 1
64 64 64 64 64
27 9 1
+ 3 3 4
64 64 64
123 139
= , = (1.9218, 2.1718)
64 64
3 2
1 1 1 1
P = 1 P1 3 1 P2
2 2 2 2
2 3
1 1 1
+ 3 1 P3 P4
2 2 2
1 3 3 1
= (1, 1) (2, 3) (4, 3) (6, 4)
8 8 8 8
1 3 3 1 1
= 1 2 4 6, 1
8 8 8 8 8
3 3 1
+ 3 3 4
8 8 8
25 23
= , = (3.125, 2.875)
8 8
3 2
3 3 3 3
P = 1 P1 3 1 P2
4 4 4 4
2 3
3 3 3
3 1 P3 P4
4 4 4
1 9 27 27
= P1 P2 P3 P4
64 64 64 64
1 9 27 27
= (1, 1) (2, 3) (4, 3) (6, 4)
64 64 64 64
1 9 27 27 1
= 1 2 4 6, 1
64 64 64 64 64
9 27 27
3 3 4
64 64 64
289 217
= , = (4.5156, 3.3906)
64 64
Computer Graphics 4–13 C (CS-6)
www.aktutor.in
P(1) = P3 = (6, 4)
Fig. 4.9.1 shows the calculated points of the Bezier curve and curve
passing through it.
(4.5156, 3.3906)
4 (6, 4)
(2, 3)
3 × ×
(4, 3)
(3.125, 2.875)
2 (1.9218, 2.1718)
(1, 1)
1
0 1 2 3 4 5 6 7
Fig. 4.9.1. Plotted Bezier curve.
Answer
1. Here n = 2 i.e., order = 2
Degree = order – 1 = 2 – 1 = 1
2. Blending function of the curve :
B0,2(u) = 2C0 u0 (1 – u)2 – 0 = (1 – u)2
B1,2(u) = 2C1 u1 (1 – u)2 – 1 = 2u(1 – u)
B2,2(u) = 2C2 u2 (1 – u)2 – 2 = u2
then Bezier curve for given control points :
C(u) = p0 B0,2(u) + p1 B1,2(u) + p2 B2,2(u)
Bezier curve in x and y coordinate is given as :
x(u) = x0 B0,2(u) + x1 B1,2(u) + x2 B2,2(u)
y(u) = y0 B0,2(u) + y1 B1,2(u) + y2 B2,2(u)
Put x0 = 4, y0 = 2
x1 = 8, y1 = 8
x2 = 16, y2 = 4
Curves and Surfaces
www.aktutor.in 4–14 C (CS-6)
Answer
Properties of Bezier curves : Refer Q. 4.8, Page 4–10C, Unit-4.
Numerical :
Control functions for point (1, 1), (2, 2), (3, 1) are :
B0, 2(u) = 2C0 u0 (1 – u)2–0
= (1 – u)2
B1, 2(u) = 2C1 u1(1 – u)2–1
= 2u(1 – u)
B2, 2(u) = 2C2 u2 (1 – u)2–2
= u2
Bezier curve, C(u) = p0B0, 2(u) + p1B1, 2(u) + p2B2, 2(u)
Dissolving curve in the x, y coordinate :
x(u) = x0 B0,2(u) + x1B1,2 (u) + x2 B2,2(u)
y(u) = y0B0,2(u) + y1B1,2(u) + y2B2,2(u)
where, x0 = 1 y1 = 1
x1 = 2 y2 = 2
x2 = 3 y3 = 1
x(u) = 1(1 – u)2 + 2[2u(1 – u)] + 3u2
= 1 + u2 – 2u + 4u – 4u2 + 3u2 = 1 + 2u
y(u) = 1 (1 – u)2 + 2 × [2u(1– u)] + 1u2
= 1 + u2 – 2u + 4u – 4u2 + u2 = 1 + 2u – 2u2
Computer Graphics 4–15 C (CS-6)
www.aktutor.in
y
3
P1(2, 2)
2
1
P0(1, 1) P2(3, 1)
(0, 0) x
1 2 3
Fig. 4.11.1.
Que 4.12. Compare and contrast among spline, B-spline and Bezier
algorithms for curve generation and write the algorithm for Bezier
curve generation. AKTU 2015-16, Marks 15
Answer
Algorithm for Bezier curve :
1. Get four control points say A (xA, yA), B(xB, yB), C(xC, yC), D(xD, yD).
2. Divide the curve represented by points A, B, C and D in two sections
xAB = (xA + xB) / 2
yAB = (yA + yB) / 2
xBC = (xB + xC) / 2
yBC = (yB + yC) / 2
xCD = (xC + xD) / 2
yCD = (yC + yD) / 2
xABC = (xAB + xBC) / 2
yABC = (yAB + yBC) / 2
xBCD = (xBC + xCD) / 2
yBCD = (yBC + yCD) / 2
xABCD = (xABC + xBCD) / 2
yABCD = (yABC + yBCD) / 2
3. Repeat the step 2 for section A, AB, ABC and ABCD and section ABCD,
BCD, CD and D.
4. Repeat step 3 until we have sections so short that they can be replaced
by straight lines.
5. Replace small sections by straight lines.
6. Stop.
Curves and Surfaces
www.aktutor.in 4–16 C (CS-6)
Comparison :
S. No. Spline B-spline Bezier
1. A spline curve can The B-spline curves The Bezier curves can
be spe cified by are specified by a be spe cified with
giving a set o f Be rnstein basis boundary conditions,
coordinate function that has a with a characterizing
positions, called limited flexibility. matrix or with
control points blending functions.
which indicates the
general shape of
the curve.
2. The curve follows The curves resulted The curve generally
the general shape by the use of open follows the shape of
of the curve. uniform basis defining polygon.
function are nearly
like Bezier curves.
3. Typical CAD These curves can Be zier curve s are
application for used to construct found in painting &
splines include the blending curves. drawing packages as
design of well as CAD system.
automobile bodies,
aircraft and space
craft surfaces and
ship hulls.
4. It possess a high The B-spline allows The de gre e of the
degree of the o rder o f the polynomial defining
smoothness at the basis function and the curve segment is
places where the hence the degree of one le ss than the
polynomial pieces the resulting curve number of defining
connect. is independent on polygon point.
the number o f
vertices.
Que 4.13. Let P 0(0, 0), P 1(1, 2), P2(2, 1), P 3(3, 1), P 4(4, 10) and
P5(5, 5) be given data control points. If interpolation based on Bezier
curve is used to find a curve interpolating these data points. Find
parametric midpoint of the gradient and also calculate coordinate
of parametric quartiles of the curve. AKTU 2014-15, Marks 06
Answer
Given points : P0 (0, 0), P1 (1, 2), P2 (2, 1), P3 (3, 1), P4 (4, 10) and P5 (5, 5)
u = 0.5
Computer Graphics 4–17 C (CS-6)
www.aktutor.in
n+1=6
n=5
5
P(u) =
k0
Pk BEZk, n(u)
P0 1 2 3 4 5 6
Fig. 4.13.1.
5
C5, k =
k 5k
B0, 5
(u) = C5, 0 u0 (1 – u)5 – 0 = (1 – u)5
B1, 5
(u) = C5, 1 u1 (1 – u)4 = 5(u) (1 – u)4
B2, 5
(u) = C5, 2 u2 (1 – u)3 = 10u2 (1 – u)3
B3, 5
(u) = C5, 3 u3 (1 – u)2 = 10u3 (1 – u)2
B4, 5
(u) = C5, 4 u4 (1 – u)1 = 5u4 (1 – u)
B5, 5
(u) = C5, 5 u5 (1 – u)0 = u5
5 5 4
C5, 1 = =5
14 1 4
5 5 4
C5, 2 = = 5 × 2 = 10
2 3 2 3
5
C5, 3 = = 10
3 2
5
C5, 4 = =5
41
at u = 0.5
X(0.5) = 0 + 1 × 5(0.5) (0.5)4 + 2 × 10 × (0.5)2 (0.5)3 + 3 ×
10(0.5)5 + 4 × 5(0.5)5 + 5 × (0.5)5
= (0.5)5 (5 + 20 + 30 + 25) = 2.5
Y(0.5) = 0 + 25 × (0.5)5 + 1 × 10(0.5)5 + 1 × 10(0.5)5
+ 10 × 5(0.5)5 + 5 × (0.5)5
5
= (0.5) (10 + 10 + 10 + 50 + 5)
= 85 × (0.5)5 = 2.6562
at u = 0.5, (X, Y) = (2.5, 2.6562).
Computer Graphics 5–1 C (CS-6)
www.aktutor.in
5
UNIT
Hidden Lines and
Surfaces
CONTENTS
Part-1 : Hidden Lines and Surfaces : ..................... 5–2C – 5–9C
Back-Face Detection Algorithm
Depth Buffer Method
A–Buffer Method
Scanline Method
CONCEPT OUTLINE
• Surfaces that are not seen by the naked eyes are known as
hidden surfaces.
• Back-face detection algorithm is used to detect hidden surface.
• Depth buffer is also known as z-buffer which is used to manage
coordinates of image depth in 3D.
• A-buffer is known as anti-aliased.
• Scanline rendering is an algorithm for visible surface
determination.
Questions-Answers
Answer
Back-face detection method :
1. Object surfaces that are orientated away from the viewer are called
back-faces.
2. Algorithm used to detect the back-faces is known as back-face detection
algorithm.
3. If any three points (x1, y1, z1), (x2, y2, z2) and (x3, y3, z3) on any plane
surface are known, the unknown parameters A, B, C and D of the plane
surface equation Ax + By + Cz + D = 0 can be found as follows :
i. All the three points (x1, y1, z1), (x2, y2, z2) and (x3, y3, z3) should
satisfy the equation Ax + By + Cz + D = 0 as it lies on the surface.
Hence, Ax1 + By1 + Cz1 + D = 0
Ax2 + By2 + Cz2 + D = 0
Ax3 + By3 + Cz3 + D = 0
Computer Graphics 5–3 C (CS-6)
www.aktutor.in
ii. Also, any arbitrary point (x, y, z) lying on the surface should satisfy
the equation of the desired surface
Ax + By + Cz + D = 0
iii. A unique solution of equations for A, B, C and D can only be obtained
if
x1 y1 z1 1
x2 y2 z2 1
or =0 (By Cramer's rule)
x3 y3 z3 1
x y z 1
x x1 y y1 z z1 0
x1 x2 y1 y2 z1 z2 0
or =0
x2 x3 y2 y3 z2 z3 0
x y z 1
x x1 y y1 z z1
or x1 x2 y1 y2 z1 z2 = 0
x2 x3 y2 y3 z2 z3
y1 y2 z1 z2 x1 x2 z1 z2
or (x – x1) y y z2 z3 – (y – y1) x x
2 3 2 3 z2 z3
x1 x2 y1 y2
+ (z – z1) =0
x2 x3 y2 y3
y1 y2 z1 z2 z1 z2 x1 x2
or x+ y
y2 y3 z2 z3 z1 z3 x2 x3
x1 y1 z1
y1 y2 x1 x2
+ z – x2 y2 z2 = 0
y2 y3 x2 x3
x3 y3 z3
which is in the form of Ax + By + Cz + D = 0, giving the equation of
the plane passing through the three points
y1 y2 z1 z2
where, A=
y2 y3 z2 z3
z1 z2 x1 x2
B=
z2 z3 x2 x3
x1 x2 y1 y2
C=
x2 x3 y2 y3
x1 y1 z1
and D = – x2 y2 z2
x3 y3 z3
Hidden Lines & Surfaces 5–4 C (CS-6)
www.aktutor.in
iv. Any plane with its inside and outside surfaces can be defined by
three points and its normal vector.
v. This normal vector can be calculated with three position vectors of
three points (x1, y1, z1), (x2, y2, z2) and (x3, y3, z3).
vi. Using right hand thumb rule, the three points are considered in
counter clockwise manner for calculating the unit normal directing
outside the surface. Thus, the surface normal and equation of the
plane are calculated.
vii. Now, if any point (x, y, or z) lies inside the polygon surface,
Ax + By + Cz + D < 0, and if it is along the line of sight to the surface,
the polygon must be back-face.
viii. If L is the line of sight or viewing vector (light vector in case of
shadowing), perpendicular to the viewing plane originating from
the eye or camera, N is the unit surface normal vector as shown in
Fig. 5.1.1(a) and (b) the polygon is the back-face if L.N > 0
y L
N
z
Fig. 5.1.1. (a) Geometry of camera vision.
ix. On aligning the light vector to that of the view vector which is
normally along negative z-axis for right-handed viewing system,
that is
L = 0i + 0j + Lzk
L.N = LzK
x. Hence, only z-component of normal vector N is required to be
considered, and the sign of K is checked for negative value.
xi. Thus, any polygon is a back-face if it has a surface normal with
negative z-component value.
y
N
– 90°
Visibility region
x
z
Fig. 5.1.1. (b) Invisible and visible vision.
Computer Graphics 5–5 C (CS-6)
www.aktutor.in
Que 5.2. Discuss z-buffer algorithm.
OR
Write Depth-buffer method algorithm of hidden lines.
AKTU 2013-14, Marks 06
Answer
z-buffer/Depth-buffer algorithm :
1. z-buffer is a simple extension of the frame buffer idea. A frame is used
to store the intensity of each pixel in image space.
2. The z-buffer is a separate depth buffer used to store the z-coordinates or
depth or every visible pixel in image space.
3. In this algorithm a buffer of the same size as the frame buffer, is set up
which holds depth information.
4. Each elements of the depth buffer corresponds to a pixel in the frame
buffer and initially holds the maximum depth in the scene.
5. As each polygon is scan-converted, the depth at each pixel is calculated
and compared with the corresponding depth in the depth buffer.
6. If the depth is less than that stored in the depth buffer (i.e., nearer the
viewer) then that pixel is set in the frame buffer with the polygon colour
at that point and the depth buffer is set to the polygon depth.
7. If the polygon depth is greater (i.e., farther away from the viewer) than
the depth buffer at that point is not stored in the frame buffer.
8. The z- buffer algorithm can be stated as :
Step 1 : Initialize frame buffer to background colour.
Step 2 : Initialize z-buffer to minimum z value.
Step 3 : Scan-convert each polygon in arbitrary order.
Step 4 : For each (x, y) pixel, calculated depth ‘z’ at that pixel (z(x, y)).
Step 5 : Compare calculated new depth z(x, y) with value previously
stored in z-buffer at the location z(x, y).
Step 6 : If z(x, y) > z(x, y), then write the new depth value to z-buffer and
updated frame buffer.
Step 7 : Otherwise, no action is taken.
Answer
1. A-buffer method is a visibility detection method for the rendering system.
2. The A-buffer expands on the depth buffer method to allow transparency.
The key data structure in the A-buffer is the accumulation buffer.
Hidden Lines & Surfaces 5–6 C (CS-6)
www.aktutor.in
3. Each position in the A-buffer has two fields :
a. Depth field : It stores a positive or negative real number.
b. Intensity field : It stores surface intensity information or a pointer
value.
4. If depth >= 0, the number stored at that position is the depth of a single
surface overlapping the corresponding pixel area.
5. The intensity field then stores the RGB components of the surface
colour at that point and the percent of pixel coverage.
RGB and
depth 0
other info
(a)
Answer
Advantages of back-face detection method :
1. It is fast.
2. It is a simple object space method.
Disadvantages of back-face detection method :
1. It can only be used on solid objects modeled as a polygon mesh.
2. It works fine for convex polyhedra but not necessarily for concave
polyhedra.
Computer Graphics 5–7 C (CS-6)
www.aktutor.in
Advantages of A-buffer method :
1. It is an extension of depth-buffer method.
2. More than one surface intensity can be taken into consideration at each
pixel position.
3. It also anti-aliased the object edges.
4. In this, surfaces are sub-divided into a polygon mesh and clipped against
the pixel boundaries.
5. The intensity of pixel is determined by considering opacity parameter
and percentage of overlaps of the overlapping surface.
Disadvantages of A-buffer method :
1. This algorithm processes multiple objects at a time. The total number of
polygons in a picture can be arbitrarily large.
Back-face detection algorithm : Refer Q. 5.1, Page 5–2C, Unit-5.
Answer
1. A scanline method of hidden surface removal is another approach of
image space method.
2. It is an extension of the scanline algorithm, for filling polygon interiors.
3. This algorithm deals with multiple surfaces.
4. As each scanline is processed, all polygon surfaces intersecting that line
are examined to determine which are visible.
y
A B
E F
Scanline 1
S1 S2
H
Scanline 2
G
D C
x
Fig. 5.5.1. Illustration of scanline method of
hidden surface removal.
5. Across each scanline, depth calculations are made for each overlapping
surface to determine which is nearest to the view plane.
6. When the visible surface has been determined, the intensity value for
that position is entered into the frame buffer.
7. This algorithm maintains three table :
a. Edge Table (ET) : It contain the list of edge used in scanline
algorithm.
Hidden Lines & Surfaces 5–8 C (CS-6)
www.aktutor.in
ET entry X ymax x ID
Fig. 5.5.2.
b. Active Edge Table (AET) : It contains only edges that cross the
current scanline, stored in order of increasing x.
AET contents
Scanline Entries
Scanline 1 AD BC EH FG
Scanline 2 AD EH BC FG
c. Polygon Table (PT) : Polygon Table (PT) that contains at least the
following information for each polygon, in addition to ID :
PT entry ID Plane eq. Shading info. In-out
Fig. 5.5.3.
Answer
1. Visible surface detection or hidden surface elimination is the procedure
that removes any surfaces or lines which are not to be displayed in a 3D
scene.
2. A process may be developed which draws all parts of all objects in the
scene, starting from the object which is farthest from the viewing plane
to the nearest one.
3. When we view a picture containing non transparent objects and surfaces,
then we cannot see those objects that are viewed from behind the
object. We must remove these hidden surfaces to get realistic screen
image.
4. The identification and removal of these surfaces is called the hidden-
surface problem.
5. Two approaches for visible surface detection are :
Computer Graphics 5–9 C (CS-6)
www.aktutor.in
a. Object space method : It compares objects and parts of objects to
each other within the scene definition to determine which surfaces,
as a whole, we should label as visible.
b. Image space method : Visibility of objects is decided point by point
at each pixel position on the projection plane.
6. Scanline coherence method solves the hidden surface problem one
scanline at a time from top to bottom.
7. The simplest scanline algorithm is a one dimensional version of the
depth buffer.
8. In each scanline, depth calculations are made for each overlapping
surface to determine which is nearest to the view plane.
PART-2
Basic Illumination Models-Ambient Light, Diffuse Reflection,
Specular Reflection and Phong Model, Combined Approach,
Warn Model.
CONCEPT OUTLINE
• An illumination model is used to calculate the intensity of light
that we should see at a given point on the surface of an object.
• Ambient light has no spatial or directional characteristics.
• Diffuse reflection is constant over each surface in a scene.
• Hidden surface methods can be used to locate areas where light
sources produce shadows.
Questions-Answers
Answer
1. An illumination model is needed to calculate the intensity of light that
we should see at a given point on the surface of an object.
2. An illumination model is also known as lighting model or shading model.
Various illumination models :
1. Ambient light :
i. In this model, the intensity of the reflected light for each surface
depends on the optical properties of the surface.
Hidden Lines & Surfaces 5–10 C (CS-6)
www.aktutor.in
ii. Ambient light has no spatial or directional characteristics.
iii. The amount of ambient light incident on each object surface is
constant for all surfaces and over all directions.
iv. The optical properties determine how much of the incident energy
is to be reflected and how much absorbed.
2. Diffuse reflection :
i. In this model, light coming from all directions is reflected from the
walls, floor, ceiling, etc.
ii. Diffuse reflections are constant over each surface in a scene,
independent of the viewing direction.
iii. The amount of diffused reflected light for each surface in a scene
can be set with parameter Kd.
iv. For the surfaces which absorbs most of the incident light (black
surfaces), the value of the diffuse reflection coefficient (Kd) is close
to 0.
v. If a surface is exposed to only ambient light, then the intensity of
the diffuse reflection at any point on the surface is given by
Iambdiffuse = Kd.Ia
N
n
n Radiant energy
direction
L R
N.C
Answer
Specular reflection :
1. Specular reflection is the result of total or near total reflection of the
light in a concentrated region around the specular reflection angle.
2. When we see an illuminated shiny surface, like polished metal, shiny
apple, or a pearl, then we observe a bright spot or a highlighted spot at
a certain viewing direction.
3. In the Fig. 5.8.1(a) the specular reflection angle, denoted by is the
same as the angle of incident light and N is the unit normal surface
vector, R is the unit vector in the direction of ideal specular reflection, L
is the unit vector directed towards the point light source, and V is the
unit vector pointing towards the viewer from the surface position.
4. Angle is the viewing angle relative to the specular reflection direction
R.
5. In the case of an ideal reflector or perfect mirror, the incident light is
reflected only in the specular reflection direction.
6. In this case, we would only see reflected light when vectors V and R
coincide, i.e., = 0. The objects other than ideal reflectors have specular
reflection around vector R.
Hidden Lines & Surfaces 5–12 C (CS-6)
www.aktutor.in
N
L R
V
N N R
L R L
(b ) (c )
Fig. 5.8.1. (b) Shiny (c) Dull surface.
Answer
Various illumination methods : Refer Q. 5.7, Page 5–9C, Unit-5.
Advantages of illumination methods :
1. Fast
2. Acceptable results
3. Hardware support
Disadvantages of illumination methods :
1. Point light source
2. No interaction between objects
3. Adhoc, not based on model of light propagation
Different rendering methods :
1. Constant-intensity shading :
a. In this method, a single intensity is calculated for each polygon and
all points in the surface of polygon are displayed with the same
intensity value.
b. It is fast and simplest rendering method.
c. Light sources illuminating the object and the viewing position is
sufficiently far from the surface of polygon.
Computer Graphics 5–13 C (CS-6)
www.aktutor.in
2. Gouraud shading :
a. It represents a polygon surface by linearly interpolating intensity
across the polygon surface.
b. Intensity values for each polygon are matched with adjacent polygon
along common edges.
c. It eliminates the intensity discontinuity that can occur in constant-
intensity shading.
3. Phong shading :
a. Phong shading is method which interpolates normal vectors and
then apply the illumination model to each surface point.
b. This method interpolates the surface normal vector, instead of the
intensity.
c. It is used in 3D system.
4. Fast Phong shading :
a. Fast Phong shading approximates the intensity calculations using a
Taylor-series expansion and triangular surface patches.
b. Surface rendering with Phong shading can be speeded up by using
approximations in the illumination model calculations of normal
vectors.
Advantages of rendering methods :
i. It removes the intensity discontinuity.
ii. It can be combined with hidden surface algorithm to fill in the visible
polygons along each scanline.
iii. It displays more realistic highlights on a surface.
iv. It gives more accurate results.
Disadvantages of rendering methods :
i. It has a problem with specular reflections.
ii. It introduces anomalies known as Mach bands.
iii. It requires more calculations and increases the cost of shading steeply.
Que 5.10. Discuss combined diffuse and specular reflections with
multiple light sources.
Answer
1. For a single point light source, we can model the combined diffuse and
specular reflections from a point on an illuminated surface as
I = Idiff + Ispec
= KaIa + KdIl(N.L) + KsIl(N . H)ns
2. If we place more than one point source in a scene, we obtain the light
reflection at any surface point by summing the contributions from the
individual sources :
Hidden Lines & Surfaces 5–14 C (CS-6)
www.aktutor.in
n
I = K a Ia Ili[ K d ( N .Li ) K s ( N .Hi )ns ]
i 1
3. To ensure that any pixel intensity does not exceed the maximum
allowable value, we can apply some type of normalization procedure.
4. A simple approach is to set a maximum magnitude for each term in the
intensity equation.
5. If any calculated term exceeds the maximum, we simply set it to the
maximum value.
6. Another way to compensate for intensity overflow is to normalize the
individual terms by dividing each by the magnitude of the largest term.
7. A more complicated procedure is first to calculate all pixel intensities for
the scene, then the calculated intensities are scaled onto the allowable
intensity range.
Answer
Phong model : Refer Q. 5.7, Page 5–9C, Unit-5.
Warn model :
1. The Warn model provides a method for simulating studio lighting effects
by controlling light intensity in different directions.
2. Light sources are modeled as points on a reflecting surface, using the
Phong model for the surface points. Then, the intensity in different
directions is controlled by selecting values for the Phong exponent.
3. In addition, light controls, such as “barn doors” and spotlighting, used by
studio photographers can be simulated in the Warn model.
4. Flaps are used to control the amount of light emitted by a source in
various directions.
5. Two flaps are provided for each of the x, y and z-directions.
6. Spotlights are used to control the amount of light emitted within a cone
with apex at a point-source position.
PART-3
Intensity Attenuation, Colour Consideration,
Transparency and Shadows.
Computer Graphics 5–15 C (CS-6)
www.aktutor.in
CONCEPT OUTLINE
• Intensity attenuation refers to any reduction in the strength of
a signal.
• A transparent surface produces both reflected and transmitted
light.
• A shadowed object is one which is hidden from the light source.
Questions-Answers
Answer
1. Intensity attenuation refers to any reduction in the strength of a signal.
2. It is relatively compared with the attenuation of peak ground acceleration
that is used for engineering design.
3. Knowledge of intensity attenuation is useful in calibrating hazard models
against historical experience.
4. Intensity attenuation equation is given by :
I = 3.31 + 1.28 ML – 1.22 ln R
where I = Intensity
ML = Local Magnitude
R = Hypocentral distance
5. As radiant energy from a point light source travels through space, its
amplitude is attenuated by the factor 1/d2, where d is the distance that
the light has travelled.
6. This means that a surface close to the light source receives higher
incident intensity from the source than a distant surface.
Answer
1. Most graphics displays of realistic scenes are in colour. To incorporate
colour, we need to write the intensity equation as a function of the
colour properties of the light sources and object surfaces.
2. For an RGB description, each colour in a scene is expressed in terms of
red, green, and blue components.
3. We then specify the RGB components of light source intensities and
surface colours, and the illumination model calculates the RGB
components of the reflected light.
Hidden Lines & Surfaces 5–16 C (CS-6)
www.aktutor.in
4. One way to set surface colours is by specifying the reflectivity coefficients
as three element vectors.
5. The diffuse reflection coefficient vector would then have RGB
components (KdR, KdG, KdB).
6. If we want an object to have a blue surface, we select a non-zero value
in the range from 0 to 1 for the blue reflectivity component, KdB, while
the red and green reflectivity components are set to zero (KdR = KdG = 0).
7. Any non-zero red or green components in the incident light are absorbed,
and only the blue component is reflected. The intensity calculation for
this example reduces to the single expression
n
IB = K aB IaB fi ( d) IlBi[ K dB ( N .Li ) K sB ( N . Hi )ns ]
i 1
8. Surfaces typically are illuminated with white light sources, and in general
we can set surface colour so that the reflected light has non-zero values
for all three RGB components.
9. Calculated intensity levels for each colour component can be used to
adjust the corresponding electron gun in an RGB monitor.
Answer
Transparency :
1. A transparent surface produces both reflected and transmitted light.
2. The relative contribution of the transmitted light depends on the degree
of transparency of the surface.
3. When a transparent surface is to be modeled, the intensity equations
must be modified to include contributions from light passing through
the surface.
4. Both diffuse and specular transmission can take place at the surfaces of
a transparent object.
5. Realistic transparency effects are modeled by considering light refraction.
6. When light is incident upon a transparent surface, it is reflected and
refracted, because the speed of light is different in different mediums so
it changes the direction as shown in Fig. 5.14.1.
where,
Refraction direction = T
Reflection direction = R
Angle of refraction = r
Angle of incidence i = angle of reflection
Distance travelled by light in transparent medium = d
Index of refraction of the refracting material = r
Computer Graphics 5–17 C (CS-6)
www.aktutor.in
Index of refraction of the incidents material = i
By Snell’s law, we have
i
sin r = sin i
r
From Snell’s law and Fig. 5.14.1 we can obtain the unit transmission
vector T in the refraction direction r as :
T = i cos i cos r N i L
r r
where N is the unit normal vector on the surface and L is the unit vector
in the direction of light source.
Incident light
R
L Reflection
N
direction
i i
ni
r Transparent
d object (glass)
nr
T
Refracted light
Computer Graphics SQ–1 C (CS-6)
www.aktutor.in
1
UNIT
Introduction and
Line Generation
(2 Marks Questions)
2
UNIT
Transformation
(2 Marks Questions)
Computer Graphics SQ–7 C (CS-6)
www.aktutor.in
3
UNIT
Three Dimensional
(2 Marks Questions)
cos y 0 sin y 0
sin sin cos x sin x cos y 0
R · R =
x y
2 Marks Questions SQ–10 C (CS-6)
www.aktutor.in
4
UNIT
Curves and Surfaces
(2 Marks Questions)
2 Marks Questions SQ–12 C (CS-6)
www.aktutor.in
5
UNIT
Hidden Lines and
Surfaces
(2 Marks Questions)
5.1. What is determined by the hidden line or hidden surface ?
Ans. Hidden line or hidden surface determines the lines, edges, surfaces
or volumes that are visible or invisible to an observer located at a
specific point in space.
5.2. Mention the two approaches for hidden surface elimination
or visible surface detection.
Ans. Two approaches for hidden surface elimination are :
i. Object space method ii. Image space method
5.3. Give the advantages of z-buffer algorithm.
Ans. Advantages of z-buffer algorithm are :
i. It is easy to implement
ii. It can be implemented in hardware to overcome the speed problem.
iii. The total number of polygons in pictures can be large.
5.4. What are the various back-face detection algorithms ?
Ans. Various back-face detection algorithms are :
i. Back-face detection methods ii. Depth buffer method
iii. A-buffer method iv. Scan line method
5.5. Mention the name of the basic illumination models.
Ans. Basic illumination models are
i. Ambient light ii. Diffuse reflection
iii. Specular reflection iv. Phong model
v. Combined approach vi. Warn model
vii. Intensity attenuation
5.6. Describe diffuse illumination.
Ans. An object may be illuminated by light which does not come from
any particular source but which comes from all directions. When
such illumination is uniform from all directions, the illumination is
called diffuse illumination.
5.7. What do you understand by coefficient of reflection ?
Ans. Coefficient of reflection is the ratio of the light reflected from the
surface to the total incoming light to the surface.
5.8. What is the specular reflection ?
AKTU 2015-16, Marks 02
Ans. Specular reflection is the phenomenon of reflection of incident
light in a concentrated region around the specular reflection angle.
Computer Graphics SQ–13 C (CS-6)
www.aktutor.in
5.9. Write an equation for the phong reflection model.
Ans. Ispec = W() Il cosns
where Il is the intensity of the light source, ns is specular reflection
parameter and is the viewing angle relative to specular reflection
direction R.
5.10. Give the combine diffuse and specular reflection from any
point on the illuminated surface for a single point light
source.
Ans. I = Idiff + Ispec = kaIa + kdIl (N.L) + ksIl (N.H)ns
where,
kd is diffused-reflection coefficient
ka is ambient-reflection coefficient
Ia is ambient light intensity for each surface
Il is intensity of point light source.
N is unit normal vector to a surface
L is unit direction vector to the point light source
H is halfway vector
5.11. On which factor the coefficient of transparency depends ?
Ans. The coefficient of transparency depends on the thickness of the
object because the transmission of light depends exponentially on
the distance which the light ray must travel within the object.
5.12. Define shadows.
Ans. A shadow is one which is hidden from the light source. It is possible
to use hidden surface algorithms to locate the areas where light
source produces shadows.
5.13. Define filled area primitives. What are the common methods
used ?
Ans. Filling is the process of ‘coloring in’ a fixed area or region.
Common methods used are :
1. Boundary-fill algorithm 2. Flood-fill algorithm
5.14. What do you understand by match band effect and
transparency ? AKTU 2018-19, Marks 02
Ans. Mach band effect : The linear intensity interpolation can result
bright or dark intensity streaks to appear on the surface. These
bright or dark intensity streaks, are called mach bands. The mach
band effect can be reduced by breaking the surface into a greater
number of smaller polygons.
Transparency :
1. Transparency is a phenomenon in which the object in the way of
light ray does not obstruct light.
2. It means that if the light source is behind the object and the object
is transparent, then the viewer can see the light through the
object.
Computer Graphics SP–1 C (CS-6)
www.aktutor.in
B.Tech.
(SEM. V) ODD SEMESTER THEORY
EXAMINATION, 2012-13
COMPUTER GRAPHICS
Time : 3 Hours Max. Marks : 100
Note : Attempt all four questions. Attempt any two parts in each question.
!!!
Solved Paper (2012-13) SP–2 C (CS-6)
www.aktutor.in
b. Explain specular reflection and Phong model.
Computer Graphics SP–3 C (CS-6)
www.aktutor.in
SOLUTION OF PAPER (2012-13)
Note : Attempt all four questions. Attempt any two parts in each question.
1. a. Explain raster scan display device and random scan display
device.
Ans. Raster scan display :
1. In raster scan displays, screen is scanned in horizontal and vertical
direction and the information is stored in a buffer called frame
buffer.
2. The frame buffer is used to store intensity values of all screen
points.
3. It is suitable for displaying realistic scenes containing either complex
shades or colour patterns.
4. Simple black and white display require only one bit per pixel while
colour display systems require multiple bits per pixel.
5. Refreshing on raster scan displays is carried out at the rate of 60 to
80 frames per second.
Random scan display :
1. In random scan display, the definition of picture is stored as a
collection of line of commands in an area of memory called refresh
buffer or display program.
2. Random scan display draw a picture on line at a time and for this
reason are also referred to as vector displays.
3. It is basically designed for line drawing and not suitable for complex
natural scenes.
4. It refreshes at a rate of 30 to 60 frames per second.
12
11
10
9
8
7
6
5
4
3
2
1
1 2 3 4 5 6 7 8 9 10 11 12 13
Fig. 1.
y2
y
y1
x
x1 x2
Fig. 2.
P
B
(0, b)
x
O
1 0 0
TV = 0 1 b
0 0 1
Computer Graphics SP–7 C (CS-6)
www.aktutor.in
1 0 0
T–V = 0 1 b
0 0 1
cos sin 0
R = sin cos 0
0 0 1
cos sin 0
R– = sin cos 0
0 0 1
1 0 0
Mx = 0 1 0
0 0 1
Slope, m = tan
m
Therefore, sin =
m2 1
1
cos =
m2 1
After multiplication of all basic matrix, we get
1 m2 2m 2bm
2
m 1 m2 1 m2 1
2m m2 1 2b
ML = 2
m 1 m2 1 m2 1
0 0 1
x
1 2 3 4 5 6 7 8 9 10
Fig. 4.
v1 v2
v3
v4
v5
`
v7 v6
Clipping a concave polygon by Output (two separate
applying Weiler-Atherton algorithm polygon areas)
Fig. 5.
3. There are two directions (clockwise or anticlockwise) that exist to
process the polygon vertices.
4. For clockwise processing of polygon vertices, we use the following
rules :
a. For an outside to inside pair of vertices, follow the polygon
boundary.
b. For an inside to outside pair of vertices, follow the window
boundary in a clockwise direction.
r
P(x, y, z)
z
Fig. 6. Rotation when axis of rotation is x-axis.
The points after rotation can be calculated by the following
equation :
p (x, y, z) = R,i P(x, y, z)
Equation in the matrix form is given as :
x 1 0 0 0 x
y 1 cos sin 0 y
=
z 0 sin cos 0 z
1 0 0 0 1 1
ii. Rotation about y-axis (i.e., y-axis is axis of rotation) :
z
y
P (x, 0, z)
P (x, 0, z)
x
Fig.7.
x = x cos + z sin
y = y
Solved Paper (2012-13) SP–12 C (CS-6)
www.aktutor.in
z = – x sin + z cos
cos 0 sin
or, R, i = 0 1 0
sin 0 cos
Equation in the matrix form is given as :
x cos 0 sin 0 x
y
= 0 1 0 0 y
z sin 0 cos 0 z
1 0 0 0 1 1
iii. Rotation about the z-axis (i.e., z-axis is axis of rotation)
y
P (x, y, 0)
P (x, y, 0)
x
z
Fig. 8.
x = x cos – y sin
y = z cos + y sin
z = z
cos sin 0
or, R, k = sin cos 0
0 0 1
x cos sin 0 0 x
y
= sin cos 0 0 y
z 0 0 1 0 z
1 0 0 0 1 1
Numerical :
1 0 0 0
0 cos sin 0
Let R() =
0 sin cos 0
0 0 0 1
Computer Graphics SP–13 C (CS-6)
www.aktutor.in
Put = (– ), we get
1 0 0 0
0 cos ( ) sin ( ) 0
R(–) =
0 sin ( ) cos ( ) 0
0 0 0 1
Since cos (–) = cos (), sin (–) = – sin , we have
1 0 0 0
0 cos sin 0
R(–) =
0 sin cos 0
0 0 0 1
Now,
1 0 0 0 1 0 0 0
0 cos sin 0 0 cos sin 0
R(–) * R() = *
0 sin cos 0 0 sin cos 0
0 0 0 1 0 0 0 1
1 0 0 0
0 1 0 0
= =I
0 0 1 0
0 0 0 1
We have,
R(– ) . R() = I
Multiply R–1() both sides,
R(– ).R().R– 1() = I.R– 1()
R(– ) = R – 1()
Hence proved.
(c)
Pob
(xP, yP)
z = 0 plane of
L projection a 90°
X
Por (x, y)
Fig. 9.
7. Now, we can write the oblique projection as
xp = x + Z(L1 cos )
yp = x + Z(L1 sin )
8. Considering Zp = 0, we get
xp 1 0 L1 cos 0 x
0 1 L sin 0 y
yp 1
z = 0 0 0 0 z
p
1 0 0 0 1 1
Derivation of perspective projection matrix :
1. Let us consider the center of projection is at (xc, yc, zc) and the
point on object is (x1, y1, z1), then the parametric equation for the
line containing these points can be given as
x2 = xc + (x1 – xc)u
y2 = yc + (y1 – yc)u
z2 = zc + (z1 – zc)u
where u is the parameter
2. For projected point z2 is 0, therefore, the third equation can be
written as
0 = zc + (z1 – zc)u
zc
u=–
( z1 zc )
3. Put this value of u in first two equations, we get
zc
x2 = xc – (x – xc)
( z1 zc ) 1
Computer Graphics SP–15 C (CS-6)
www.aktutor.in
xc z1 xc zc x1 zc xc zc
=
(z1 zc )
xc z1 x1 zc
x2 =
( z1 zc )
zc
and y2 = yc – (y – yc)
( z1 zc ) 1
yc z1 yc zc y1 zc yc zc
=
( z1 zc )
yc z1 y1 zc
y2 =
( z1 zc )
4. So, the homogeneous matrix can be written as
zc 0 0 0
0 z 0 0
1]
c
[x2 y2 z2 1] = [x1 y1 z1
xc yc 0 1
0 0 0 zc
c. Establish and write Cohen and Sutherland 3D line clipping
algorithm.
Ans. Cohen-Sutherland line clipping algorithm :
1. In this algorithm, a rectangular window is considered whose
coordinates are (xwmin, ywmin, xwmax, ywmax) as shown in Fig. 10.
1001 1010
(xwmin, ywmax) 1000 (xwmax, ywmax)
Fig. 10.
2. Every line end point is assigned a 4-digit binary code (region code)
that identifies the location of the point corresponding to the
boundaries of the clipping window.
3. The procedure for calculating the end point p(x, y) code is as follow :
a. For bit 1
If (y – ywmax) < 0 then
code = 0;
else
code = 1;
Solved Paper (2012-13) SP–16 C (CS-6)
www.aktutor.in
b. For bit 2
If (ywmin– y) < 0 then
code = 0;
else
code = 1;
c. For bit 3
if(x – xwmax) < 0 then
code = 0;
else
code = 1;
d. For bit 4
if(xwmin– x) < 0 then
code = 0;
else
code = 1;
4. If the region code of both the end points of a line segment is 0000,
the line is completely visible as it completely lies within the window.
5. If the region code of both the end points of the line segment is not
0000 then we calculate AND operation of both end points A and B.
6. If the result of AND operation is 0000, the line is partially visible
and then find the point of intersection.
3
P1(2, 2)
2
1
P0(1, 1) P2(3, 1)
(0, 0) x
1 2 3
Fig. 11.
N N R
L R L
(b ) (c )
Fig. 12. (b) Shiny (c) Dull surface.
4. Angle is the viewing angle relative to the specular reflection
direction R.
5. In the case of an ideal reflector or perfect mirror, the incident light
is reflected only in the specular reflection direction.
6. In this case, we would only see reflected light when vectors V and
R coincide, i.e., = 0. The objects other than ideal reflectors have
specular reflection around vector R.
Phong model :
1. According to the Phong model, the intensity of specular reflection
is proportional to cosn s . The value of n, specular reflection
parameter, is determined by the type of surface.
2. For very shiny surfaces, the value of ns is large (more than 100)
and for dull surfaces the value of ns is close to 1. For a perfect
reflector, the value of ns is infinite.
3. The intensity of specular reflection depends on the angle of
incidence, on the properties of the surface, colour of incident light
and polarization.
4. The specular reflection coefficient W(), for each surface may be
used to model the monochromatic specular intensity variation.
5. We can write the Phong specular reflection model as
Ispec = W() Il cosns ...(1)
where Il is intensity of light source, and is the viewing angle
relative to specular reflection direction R.
6. In the case of opaque materials, the specular reflection rejection is
almost constant for all incidence angles. Therefore, replacing W()
with a constant specular reflection coefficient Ks. Since V and R are
unit vectors in the viewing and specular reflection directions,
cos = V.R. We can rewrite the equation (1) as
Ispec = Ks Il (V.R)ns
L R
N.C
y L
N
z
Fig. 14. (a) Geometry of camera vision.
ix. On aligning the light vector to that of the view vector which is
normally along negative z-axis for right-handed viewing system,
that is
Computer Graphics SP–21 C (CS-6)
www.aktutor.in
L = 0i + 0j + Lzk
L.N = LzK
y
N
– 90°
Visibility region
x
z
Fig. 14. (b) Invisible and visible vision.
x. Hence, only z component of normal vector N is required to be
considered, and the sign of K is checked for negative value.
xi. Thus, any polygon is a back face if it has a surface normal with
negative z component value.
Computer Graphics SP–1 C (CS-6)
www.aktutor.in
B.Tech.
(SEM. V) ODD SEMESTER THEORY
EXAMINATION, 2013-14
COMPUTER GRAPHICS
Time : 3 Hours Max. Marks : 100
!!!
Solved Paper (2013-14) SP–2 C (CS-6)
www.aktutor.in
c. Establish and write Cyrus-Beck 3D line clipping algorithm.
Computer Graphics SP–3 C (CS-6)
www.aktutor.in
SOLUTION OF PAPER (2013-14)
Pixel
Fig. 1.
Aspect ratio :
1. An aspect ratio is an attribute that describes the relationship
between the width and height of an image.
2. Aspect ratio is expressed by the symbolic notation i.e., x : y.
Resolution :
1. Resolution is defined as the number of pixels on the horizontal
axis and vertical axis.
Solved Paper (2013-14) SP–4 C (CS-6)
www.aktutor.in
2. The sharpness of the image on the display depends on the
resolution and size of the monitor.
Fig. 2.
x < y, so next point to plot is (5, 13)
Now p = – 4(< 0)
So x=x+1
= 5+1=6
y = 13
p = p + 2x + 1
= – 4 + 12 + 1 = 8 + 1 = 9
x < y, so plot point (6, 13)
Now p = 9(> 0)
So x = x+1=6+1=7
y = y – 1 = 12
Solved Paper (2013-14) SP–6 C (CS-6)
www.aktutor.in
p = 9 + 14 – 24 + 1
= 9 – 10 + 1 = 0
Note : we have to continue iteration till x = y or x > y.
c. Explain the parallel version of line algorithm by two
methods.
Ans. In the parallel version of line algorithm, pixel positions are calculated
along a line path simultaneously by partitioning the computations
among the various processors available. Methods for parallel version
of line algorithm are :
1. Bresenham’s line algorithm :
a. Given np processors, a parallel Bresenham ’s line algorithm
can be used by subdividing the line path into np partitions and
simultaneously generating line segments in each of the
sub-intervals.
b. For a line with slope 0 < m < 1 and left endpoint coordinate
(x0, y0), the line is partitioned along the positive x-direction.
c. The distance between beginning x positions of adjacent
partitions is calculated as :
x n p – 1
xp =
np
where x is the width of the line and the value for partition
width xp is computed using integer division.
d. The starting x coordinate is calculated for the kth partition as :
xk = x0 + kxp
e. At the kth partition, the starting y coordinate is :
yk = y0 + round (kyp)
f. The initial decision parameter for Bresenham’s algorithm at
the start of the kth sub interval is :
pk = (kxp) (2y) – round (kyp) (2x) + 2y – x
2. In raster scan system :
a. In raster systems we assign each processor to a particular group of
screen pixel.
b. For lines with a positive slope greater than 1, we reverse the value
of x and y. i.e., we sample at unit y intervals (y = 1) and calculate
each succeeding x value as
1
xk + 1 = xk +
m
c. Lines are to be processed from the left endpoint to the right endpoint.
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
or (when the slope is greater than 1) we have y = – 1 with
xk + 1 = xk +
Computer Graphics SP–7 C (CS-6)
www.aktutor.in
d. Perpendicular distance d from the line in to pixel as shown in Fig. 3
with coordinates (x, y) is obtained with the calculation
d = Ax + By + C
y
where, A=
linelength
x
B=
linelength
x0 y y0x
C=
linelength
linelength = x2 y2
y2
y
y1
x
x1 x2
Fig. 3.
Fig. 4.
2. Every line end point is assigned a 4-digit binary code (region code)
that identifies the location of the point corresponding to the
boundaries of the clipping window.
3. The procedure for calculating the end point p(x, y) code is as follow :
a. For bit 1
If (y – ywmax) < 0 then
code = 0;
else
code = 1;
b. For bit 2
If (ywmin– y) < 0 then
code = 0;
else
code = 1;
c. For bit 3
if(x – xwmax) < 0 then
code = 0;
else
code = 1;
d. For bit 4
if(xwmin– x) < 0 then
code = 0;
else
code = 1;
4. If the region code of both the end points of a line segment is 0000,
the line is completely visible as it completely lies within the window.
5. If the region code of both the end points of the line segment is not
0000 then we calculate AND operation of both end points A and B.
6. If the result of AND operation is 0000, the line is partially visible
and then find the point of intersection.
Numerical :
Let P1 = (2, 7) and P2 = (8, 12), windows lower left corner = (5, 5)
windows upper right corner = (10, 10) as shown in Fig. 5.
Computer Graphics SP–11 C (CS-6)
www.aktutor.in
y P2(8, 12)
P1(2, 7)
(10, 10)
R(x2, y2)
Q(x1, y 1)
(5, 5)
Fig. 5.
Now, we assign the four digit binary code for P1 and P2 shown in
Table 1.
Table 1.
For P1 (2, 7) For P2 (8, 12)
Bit 1 : x – xwmin x–5 –3 3
Bit 2 : xwmax – x 10 – x 8 2
Bit 3 : y – ywmin Y–5 2 7
Bit 4 : ywmax – y 10 – y 3 –2
If sign bit is negative, it will assign unity(1) and if it is positive, it
will assign zero(0).
Binary code for P2(8, 12) : bit 4 bit 3 bit 2 bit 1 1000
So, AND of P1 and P2 = 0000
Line P1P2 intersect the window at Q(x1, y1) and R(x2, y2). To find
the intersection points we use equation of line P1P2.
y2 y1 12 7 5
Slope of line P1P2 is m =
x2 x1 82 4
Equation of line P1P2 is given as
y = mx + c
y y1
y= 2 x+c
x2 x1
5
y= x+c ...(1)
4
P(2, 7) lies on the line so it satisfies the equation (1)
Put x = 2 and y = 7 in equation (1)
5
7= ×2+c
4
Solved Paper (2013-14) SP–12 C (CS-6)
www.aktutor.in
5 9
c = 7– = 4.5
2 2
Equation of line P1P2 is given as
5
y= x + 4.5 ...(2)
4
For intersection point Q(x1, y1) :
Since, Q(x1, y1) lies on line and the boundary of window. So, it
satisfy the equations (2) and x1 = 5
5
y1 = x + 4.5
4 1
4y1 – 5x1 = 18
Put x1 = 5, we get
4y1 = 18 + 5 × 5
18 25 43
y1 = = = 10.75
4 4
For intersection point R(x2, y2) :
Since, R(x2, y2) lies on line and the boundary of window. So,
y2 = 10
5
y2 = x + 4.5
4 2
4y2 – 5x2 = 18
Put x2 = 10
40 – 5x2 = 18
40 18
x2 = = 4.4
5
So, the point of intersection are (5, 10.75) and R(4.4, 10)
Visible line segment is Q(5, 10.75) to R(4.4, 10)
v1 v2
v3
v4
v5
`
v7 v6
Clipping a concave polygon by Output (two separate
applying Weiler-Atherton algorithm polygon areas)
Fig. 6.
3. There are two directions (clockwise or anticlockwise) that exist to
process the polygon vertices.
4. For clockwise processing of polygon vertices, we use the following
rules :
a. For an outside to inside pair of vertices, follow the polygon
boundary.
b. For an inside to outside pair of vertices, follow the window
boundary in a clockwise direction.
r
P(x, y, z)
z
Fig. 7. Rotation when axis of rotation is x-axis.
Solved Paper (2013-14) SP–14 C (CS-6)
www.aktutor.in
x = x
y = r cos ( + )
y = r cos cos – r sin sin ...(1)
Since r cos = y and r sin = z
Put the value in eq. (1) we get,
y = y cos – z sin
z = r sin ( + )
or, = r sin cos + r cos sin
= z cos + y sin
1 0 0
or, R,i = 1 cos sin
0 sin cos
The points after rotation can be calculated by the following
equation :
p (x, y, z) = R,i P(x, y, z)
Equation in the matrix form is given as :
x 1 0 0 0 x
y 1 cos sin 0 y
=
z 0 sin cos 0 z
1 0 0 0 1 1
ii. Rotation about y-axis (i.e., y-axis is axis of rotation) :
z
y
P (x, 0, z )
P (x, 0, z)
x
Fig. 8.
x = x cos + z sin
y = y
z = – x sin + z cos
cos 0 sin
or, R, i = 0 1 0
sin 0 cos
Equation in the matrix form is given as :
Computer Graphics SP–15 C (CS-6)
www.aktutor.in
x cos 0 sin 0 x
y
= 0 1 0 0 y
z sin 0 cos 0 z
1 0 0 0 1 1
iii. Rotation about the z-axis (i.e., z-axis is axis of rotation)
y
P (x , y , 0)
P (x, y, 0)
x
z
Fig. 9.
x = x cos – y sin
y = z cos + y sin
z = z
cos sin 0
or, R, k = sin cos 0
0 0 1
Equation in the matrix form is given as :
x cos sin 0 0 x
y
= sin cos 0 0 y
z 0 0 1 0 z
1 0 0 0 1 1
Numerical :
1 0 0 0
0 cos sin 0
Let R() =
0 sin cos 0
0 0 0 1
Put = (– ), we get
1 0 0 0
0 cos ( ) sin ( ) 0
R(–) =
0 sin ( ) cos ( ) 0
0 0 0 1
Since cos (–) = cos (), sin (–) = – sin , we have
Solved Paper (2013-14) SP–16 C (CS-6)
www.aktutor.in
1 0 0 0
0 cos sin 0
R(–) =
0 sin cos 0
0 0 0 1
Now,
1 0 0 0 1 0 0 0
0 cos sin 0 0 cos sin 0
R(–) * R() = *
0 sin cos 0 0 sin cos 0
0 0 0 1 0 0 0 1
1 0 0 0
0 1 0 0
= =I
0 0 1 0
0 0 0 1
We have,
R(– ) . R() = I
Multiply R–1() both sides,
R(– ).R().R– 1() = I.R– 1()
R(– ) = R – 1()
Hence proved.
(c)
Pob
(xP, yP)
z = 0 plane of
L projection a 90°
X
Por (x, y)
Fig. 10.
Computer Graphics SP–17 C (CS-6)
www.aktutor.in
4. Let L be the length of the line joining points Pob (x p, yp) and
Por (x, y), be the angle made by the line L with x-axis.
5. We can express the projection coordinates in terms of x, y, L and
as
xp = x + L cos
yp = y + L sin
6. Length L depends on the angle and the Z coordinate of the point
to be projected
Z Z 1
tan = L= = ZL1 where L1 tan
L tan
when Z = 1, L = L1
7. Now, we can write the oblique projection as
xp = x + Z(L1 cos )
yp = x + Z(L1 sin )
8. Considering Zp = 0, we get
xp 1 0 L1 cos 0 x
0 1 L sin 0 y
y
p 1
z = 0 0 0 0 z
p
1 0 0 0 1 1
Derivation of perspective projection matrix :
1. Let us consider the center of projection is at (xc, yc, zc) and the
point on object is (x1, y1, z1), then the parametric equation for the
line containing these points can be given as
x2 = xc + (x1 – xc)u
y2 = yc + (y1 – yc)u
z2 = zc + (z1 – zc)u
where u is the parameter
2. For projected point z2 is 0, therefore, the third equation can be
written as
0 = zc + (z1 – zc)u
zc
u=–
( z1 zc )
3. Put this value of u in first two equations, we get
zc
x2 = xc – (x – xc)
( z1 zc ) 1
xc z1 xc zc x1 zc xc zc
=
(z1 zc )
Solved Paper (2013-14) SP–18 C (CS-6)
www.aktutor.in
xc z1 x1 zc
x2 =
( z1 zc )
zc
and y2 = yc – (y – yc)
( z1 zc ) 1
yc z1 yc zc y1 zc yc zc
=
(z1 zc )
yc z1 y1 zc
y2 =
( z1 zc )
4. So, the homogeneous matrix can be written as
zc 0 0 0
0 z 0 0
1]
c
[x2 y2 z2 1] = [x1 y1 z1
xc yc 0 1
0 0 0 zc
x
0
Fig. 11. Convex region, boundary point and inner normal.
5. We evaluate the dot product n · [P(t) – f ], and check the following
condition as :
a. If dot product is negative, i.e.,
n · [P(t) – f ] < 0
Then the vector P(t) – f is pointed away from the interior of R.
Computer Graphics SP–19 C (CS-6)
www.aktutor.in
b. If dot product is zero, i.e.,
n · [P(t) – f ] = 0
Then P(t) – f is pointed parallel to the plane containing f and
perpendicular to the normal.
c. If dot product is positive, i.e.,
n · [P(t) – f ] > 0
Then the vector P(t) – f is pointed towards the interior of R, as
shown in Fig. 12.
P2
f
n·[P(t) – f] > 0
n
n·[P(t) – f] < 0 n·[P(t) – f] = 0
n
P1
Clipping edge
Fig. 12. Dot product for three inside, outside and on
the boundary of the clipping region.
Cyrus-Beck line clipping algorithm :
1. Read two endpoints of the line, P1 and P2.
2. Read vertex coordinates of the clipping window.
3. Calculate D = P2 – P1.
4. Assign boundary point (f) with particular edge.
5. Find inner normal vector for corresponding edge.
6. Calculate D · n and W = P1 – f.
7. If D · n > 0.
W ·n
tL = –
D.n
else
W ·n
tU = –
D.n
end if
8. Repeat steps 4 to 7 for each edge of the clipping window.
9. Find maximum lower limit and minimum upper limit.
10. If maximum lower limit and minimum upper limit do not satisfy
condition 0 t 1 then ignore the line.
11. Calculate the intersection points by substituting values of maximum
lower limit and minimum upper limit in the parametric equation of
the line P1 P2.
12. Draw the line segment P(tL) to P(tU).
13. Stop.
Solved Paper (2013-14) SP–20 C (CS-6)
www.aktutor.in
4. Attempt any two parts of the following : (6 × 2 = 12)
a. Write at least four properties of Bezier curves. Calculate
and roughly trace the Bezier curve for three control points
(1, 1), (2, 2) and (3, 1).
Ans. Properties of Bezier curves :
1. Bezier curve always passes through the first and last control points
i.e., curve has same end points as the guiding polygon.
2. The degree of the polynomial defining the curve segment is one
less than the number of defining polygon point. Therefore, for
four control points, the degree of the polynomial is three, i.e.,
cubic polynomial.
3. The direction of the tangent vector at the end points is the same
as that of the vector determined by first and last segments.
4. The curve lies entirely within the convex hull formed by four
control points.
Numerical :
Control functions for point (1, 1), (2, 2), (3, 1) are :
B0, 2(u) = 2C0 u0 (1 – u)2–0
= (1 – u)2
B1, 2(u) = 2C1 u1(1 – u)2–1
= 2u(1 – u)
B2, 2(u) = 2C2 u2 (1 – u)2–2
= u2
Bezier curve, C(u) = p0B0, 2(u) + p1B1, 2(u) + p2B2, 2(u)
Dissolving curve in the x, y coordinate :
x(u) = x0 B0,2(u) + x1B1,2 (u) + x2 B2,2(u)
y(u) = y0B0,2(u) + y1B1,2(u) + y2B2,2(u)
where, x0 = 1 y1 = 1
x1 = 2 y2 = 2
x2 = 3 y3 = 1
2 2
x(u) = 1(1 – u) + 2[2u(1 – u)] + 3u
= 1 + u2 – 2u + 4u – 4u2 + 3u2
= 1 + 2u
y(u) = 1 (1 – u)2 + 2 × [2u(1– u)] + 1u2
= 1 + u2 – 2u + 4u – 4u2 + u2
= 1 + 2u – 2u2
Computer Graphics SP–21 C (CS-6)
www.aktutor.in
y
3
P1(2, 2)
2
1
P0(1, 1) P2(3, 1)
(0, 0) x
1 2 3
Fig. 13.
N N R
L R L
(b ) (c )
Fig. 14. (b) Shiny (c) Dull surface.
Solved Paper (2013-14) SP–22 C (CS-6)
www.aktutor.in
6. In this case, we would only see reflected light when vectors V and
R coincide, i.e., = 0. The objects other than ideal reflectors have
specular reflection around vector R.
Phong model :
1. According to the Phong model, the intensity of specular reflection
is proportional to cosn s . The value of n, specular reflection
parameter, is determined by the type of surface.
2. For very shiny surfaces, the value of ns is large (more than 100)
and for dull surfaces the value of ns is close to 1. For a perfect
reflector, the value of ns is infinite.
3. The intensity of specular reflection depends on the angle of
incidence, on the properties of the surface, colour of incident light
and polarization.
4. The specular reflection coefficient W(), for each surface may be
used to model the monochromatic specular intensity variation.
5. We can write the Phong specular reflection model as
Ispec = W() Il cosns ...(1)
where Il is intensity of light source, and is the viewing angle
relative to specular reflection direction R.
6. In the case of opaque materials, the specular reflection rejection is
almost constant for all incidence angles. Therefore, replacing W()
with a constant specular reflection coefficient Ks. Since V and R are
unit vectors in the viewing and specular reflection directions,
cos = V.R. We can rewrite the equation (1) as
Ispec = Ks Il (V.R)ns
L R
N.C
Computer Graphics SP–1 C (CS-6)
www.aktutor.in
B.Tech.
(SEM. IV) EVEN SEMESTER THEORY
EXAMINATION, 2014-15
COMPUTER GRAPHICS
Time : 2 Hours Max. Marks : 50
b. Let P 0 (0, 0), P 1 (1, 2), P 2 (2, 1), P 3 (3, 1), P4 (4, 10) and
P5 (5, 5) be given data control points. If interpolation based
on Bezier curve is used to find a curve interpolating these
data points. Find parametric mid-point of the gradient and
also calculate coordinate of parametric quartiles of the
curve.
!!!
Solved Paper (2014-15) SP–2 C (CS-6)
www.aktutor.in
4. Answer any two parts of the following : (7 × 2 =14)
a. What do you understand by the term “Concatenation of
transformations” ? What are its advantages ? If A and B are
two different transformations, illustrate with suitable
example that A · B B · A.
Computer Graphics SP–3 C (CS-6)
www.aktutor.in
SOLUTION OF PAPER (2014-15)
1
x
–3 –2 –1 0 1 2 3 4 5
Fig. 1.
1001 1010
(xwmin, ywmax) 1000 (xwmax, yw max)
Fig. 2.
2. Every line end point is assigned a 4-digit binary code (region code)
that identifies the location of the point corresponding to the
boundaries of the clipping window.
3. The procedure for calculating the end point p(x, y) code is as follow :
a. For bit 1
If (y – ywmax) < 0 then
code = 0;
else
code = 1;
b. For bit 2
If (ywmin– y) < 0 then
code = 0;
else
code = 1;
c. For bit 3
if(x – xwmax) < 0 then
code = 0;
else
code = 1;
d. For bit 4
if(xwmin– x) < 0 then
code = 0;
else
code = 1;
4. If the region code of both the end points of a line segment is 0000,
the line is completely visible as it completely lies within the window.
Solved Paper (2014-15) SP–6 C (CS-6)
www.aktutor.in
5. If the region code of both the end points of the line segment is not
0000 then we calculate AND operation of both end points A and B.
6. If the result of AND operation is 0000, the line is partially visible
and then find the point of intersection.
L R
N.C
b. Let P 0 (0, 0), P 1 (1, 2), P 2 (2, 1), P 3 (3, 1), P4 (4, 10) and
P5 (5, 5) be given data control points. If interpolation based
on Bezier curve is used to find a curve interpolating these
data points. Find parametric midpoint of the gradient and
also calculate coordinate of parametric quartiles of the
curve.
Ans. Given points : P0 (0, 0), P1 (1, 2), P2 (2, 1), P3 (3, 1), P4 (4, 10) and
P5 (5, 5)
u = 0.5
n+1=6
n=5
P4
10
9
8
7
6 P5
5
4
3 P1
2 P2
1 P3
P0 1 2 3 4 5 6
Fig. 4.
Solved Paper (2014-15) SP–8 C (CS-6)
www.aktutor.in
5
P(u) = P BEZ
k0
k k, n
(u)
P(x, y, z)
r
2
Y
1
X
Fig. 5. Parametric coordinate position (r, 1, 2)
on the surface of a sphere.
2. Ellipsoid :
a. An ellipsoid surface is the extension of a spherical surface. There
are three mutually perpendicular radii that have different values
as shown in Fig. 6.
Z
rz
ry
rx Y
X
Fig. 6. An ellipsoid with three mutually perpendicular
radii rx, ry and rz, centred on the coordinate origin.
b. In the Cartesian coordinate system, the ellipsoid centered at the
origin can be defined as :
2 2 2
x y z = 1
r r r
x y z
O
Y
X
Fig. 7. Torus
Solved Paper (2014-15) SP–10 C (CS-6)
www.aktutor.in
This can be generated by rotating a conic object like a circle about a
specified axis.
b. In cartesian coordinates, equations for points over the surface of a
torus is given as
2
x
2
y z = 1
2
r
r r r
x y z
(3, 7)
Q
P (1, 2) (9, 2)
x
(0, 0)
Fig. 10.
Line segments points are (3, 7) and (8, 10).
Rectangular window points are P (1, 2), Q (9, 2), R (9, 8) and
S (1, 8).
xmax = 9 ymax = 8
xmin = 1 ymin = 2
(x1, y1) = (3, 7)
(x2, y2) = (8, 10)
x = x2 – x1 = 8 – 3 = 5
y = y2 – y1 = 10 – 7 = 3
Solved Paper (2014-15) SP–12 C (CS-6)
www.aktutor.in
p1 = – x = – 5 q1 = x1 – xmin = 3 – 1 = 2
p2 = x = 5 q2 = xmax – x1 = 9 – 3 = 6
p3 = – y = – 3 q3 = y1 – ymin = 7 – 2 = 5
p4 = y = 3 q4 = ymax – y1 = 8 – 7 = 1
2
1 = r1 = q1|p1 = = – 0.4
5
6
2 = r2 = q2|p2 = = 1.2
5
5
3 = r3 = q3|p3 = = – 1.66
3
1
4 = r4 = q4|p4 = = 0.33
3
1 = max ( – 0.4, – 1.66, 0) = 0
2 = min (1, 1.2, 0.33) = 0.33
1 < 2 endpoints are visible
x1 = x1 + (x × 1) = 3 + (5 × 0) = 3
y1 = y1 + (y × 1) = 7 + (3 × 0) = 7
x2 = x1 + (x × 2) = 3 + (5 × 0.33) = 4.65
y2 = y1 + (y × 2) = 7 + (3 × 0.33) = 7.99
Visible line will be P1 (3, 7) and P2 (4.65, 7.99).
Computer Graphics SP–1 C (CS-6)
www.aktutor.in
B.Tech.
(SEM. IV) EVEN SEMESTER THEORY
EXAMINATION, 2015-16
COMPUTER GRAPHICS
Time : 3 Hours Max. Marks : 100
SECTION - A
SECTION-B
!!!
Solved Paper (2015-16) SP–2 C (CS-6)
www.aktutor.in
c. Consider two raster systems with resolutions of 640 × 480
and 1280 × 1024. How many pixels could be accessed per
second in each of these systems by a display controller that
refreshes the screen at a rate of 60 frames per second ?
SECTION-C
Computer Graphics SP–3 C (CS-6)
www.aktutor.in
SOLUTION OF PAPER (2015-16)
SECTION-B
1001 1010
(xwmin, ywmax) 1000 (xwmax, ywmax)
Fig. 1.
Computer Graphics SP–7 C (CS-6)
www.aktutor.in
2. Every line end point is assigned a 4-digit binary code (region code)
that identifies the location of the point corresponding to the
boundaries of the clipping window.
3. The procedure for calculating the end point p(x, y) code is as follow :
a. For bit 1
If (y – ywmax) < 0 then
code = 0;
else
code = 1;
b. For bit 2
If (ywmin– y) < 0 then
code = 0;
else
code = 1;
c. For bit 3
if(x – xwmax) < 0 then
code = 0;
else
code = 1;
d. For bit 4
if(xwmin– x) < 0 then
code = 0;
else
code = 1;
4. If the region code of both the end points of a line segment is 0000,
the line is completely visible as it completely lies within the window.
5. If the region code of both the end points of the line segment is not
0000 then we calculate AND operation of both end points A and B.
6. If the result of AND operation is 0000, the line is partially visible
and then find the point of intersection.
Comparison :
S. No. Cohen Sutherland line Liang-Barsky line
clipping algorithm clipping algorithm
1. It is not the most efficient but It is more efficient than Cohen
efficient when most of the Sutherland since interse ctio n
lines to be clipped are either calculations are reduced.
rejected or accepted.
2. Each intersection calculation Each update of parameters requires
requires both multiplication only one division.
and a division.
3. It repe atedly calculates Window intersections of lines are
intersection along a line path calculated once when final values
even through the line may have been computed.
be completely outside the clip
window.
Solved Paper (2015-16) SP–8 C (CS-6)
www.aktutor.in
e. What is window to view point coordinate transformation ?
What are the issues related to multiple windowing ?
Ans. Window to view point coordinate transformation :
1. Window to viewport / view point Transformation is the process of
transforming a 2D world-coordinate objects to device coordinates.
2. Objects inside the world or clipping window are mapped to the
viewport which is the area on the screen where world coordinates
are mapped to be displayed.
3. Window to viewport mapping or transformation is done in following
three steps :
Step 1 : The object together with its window is translated until the
lower-left corner of the window is at the origin.
Window
Translate
Object Window
(0, 0)
(a) (b)
Fig. 2.
Step 2 : The object and the window are then scaled until the
window has the dimension same as viewport. In other words, we
are converting the object into image and window in viewport.
Window Scaling
(0, 0)
Viewport
(a) (b)
Fig. 3.
Step 3 : The final transformation step is another translation to
move the viewport to its correct position on the screen.
Translate Viewport
Fig. 5.
3. Line should have constant density :
a. To maintain the constant density throughout the line, dots should
be equally spaced.
Solved Paper (2015-16) SP–10 C (CS-6)
www.aktutor.in
b. The line density is proportional to the number of dots displayed
divided by the length of the line.
c. Dots are equally spaced only in lines parallel to the x-axis or y-axis
or at 45° to the axis as given in Fig. 6.
Fig. 6.
4. Line brightness independent of slope and line length : This
requires a high resolution of the device along with a high refresh
rate.
5. Lines should be drawn rapidly : In interactive applications,
lines should appear rapidly on the screen, that is, minimum
computation is desired to draw the line.
z
Fig. 7. (a) Geometry of camera vision.
ix. On aligning the light vector to that of the view vector which is
normally along negative z-axis for right-handed viewing system,
that is
L = 0i + 0j + Lzk
L.N = LzK
x. Hence, only z-component of normal vector N is required to be
considered, and the sign of K is checked for negative value.
xi. Thus, any polygon is a back-face if it has a surface normal with
negative z-component value.
y
N
– 90°
Visibility region
x
z
Fig. 7. (b) Invisible and visible vision.
L R
N.C
1. A spline curve can The B-spline curves The Bezier curves can
be spe cified by are specified by a be spe cified with
giving a set o f Be rnstein basis boundary conditions,
coordinate function that has a with a characterizing
positions, called limited flexibility. matrix or with
control points blending functions.
which indicates the
general shape of
the curve.
2. The curve follows The curves resulted The curve generally
the general shape by the use of open follows the shape of
of the curve. uniform basis defining polygon.
function are nearly
like Bezier curves.
3. Typical CAD These curves can Be zier curve s are
application for used to construct found in painting &
splines include the blending curves. drawing packages as
design of well as CAD system.
automobile bodies,
aircraft and space
craft surfaces and
ship hulls.
4. It possess a high The B-spline allows The de gre e of the
degree of the o rder o f the polynomial defining
smoothness at the basis function and the curve segment is
places where the hence the degree of one le ss than the
polynomial pieces the resulting curve number of defining
connect. is independent on polygon point.
the number o f
vertices.
Computer Graphics SP–1 C (CS-6)
www.aktutor.in
B. Tech.
(SEM. VI) EVEN SEMESTER THEORY
EXAMINATION, 2018-19
COMPUTER GRAPHICS
Note : Attempt all Section. If require any missing data; then choose
suitable.
SECTION-A
SECTION-B
SECTION-C
Fig. 1.
Solved Paper (2018-19) SP–4 C (CS-6)
www.aktutor.in
SOLUTION OF PAPER (2018-19)
Note : Attempt all Section. If require any missing data; then choose
suitable.
SECTION-A
cos y 0 sin y 0
sin sin cos x sin x cos y 0
R · R =
x y
SECTION-B
I/O Port
Interaction data Display commands
000000000000000000 Mouse
000000000000000000
00000111 111100000
000001111111100000
Video
000001111 11100000
000000011100000000 controller
000000011100000000
000000011100000000
000000000000000000
000000000000000000
Fig. 1.
4. It holds the set of intensity values for all the screen points.
5. The stored intensity values are retrieved from frames buffer and
displayed on the screen one row (scan line) at a time.
6. Each screen point is referred to as a pixel.
7. Each pixel on the screen can be specified by its row and column
number. Thus by specifying row and column number we can specify
the pixel position on the screen.
8. The capability of a raster scan system to store intensity information
for each screen point makes it well suited for the realistic display,
it consists of display controller, CPU, video controller, refresh
buffer, keyboard, mouse and the CRT.
2 2 1 3 1 1
5 1.5 0 0 7.5 1 1
2 1
0 0.5 0 =
5 5 1 7.5 2.5 1
0 0 1
2 5 1 3 2.5 1
6 D(2, 5) C(5, 5) 6
5 5
4 4 D(3, 2.5) C(7.5, 2.5)
3 Scalling 3
2 2
A(2, 2) A(5, 2)
1 1
A A A(3, 1) B(7.5, 1)
(0, 0) 1 2 3 4 5 6 7 (0, 0) 1 2 3 4 5 6 7 8
Fig. 3.
After transformation, new coordinates are A(3, 1), B(7.5, 1),
C(7.5, 2.5), D(3, 2.5)
r
P(x, y, z)
z
Fig. 4. Rotation when axis of rotation is x-axis.
x = x
y = r cos ( + )
y = r cos cos – r sin sin ...(1)
Since r cos = y and r sin = z
Put the value in equation (3.4.1) we get,
y = y cos – z sin
z = r sin ( + )
= r sin cos + r cos sin
= z cos + y sin
1 0 0
or, R,i = 1 cos sin
0 sin cos
The points after rotation can be calculated by the following
equation :
P (x, y, z) = R,i P(x, y, z)
Equation in the matrix form is given as :
x 1 0 0 0 x
y 1 cos sin 0 y
=
z 0 sin cos 0 z
1 0 0 0 1 1
Computer Graphics SP–9 C (CS-6)
www.aktutor.in
ii. Rotation about y-axis (i.e., y-axis is axis of rotation) :
z
y
P (x , 0, z )
P (x, 0, z)
x
Fig. 5.
x = x cos + z sin
y = y
z = – x sin + z cos
cos 0 sin
or, R, i = 0 1 0
sin 0 cos
Equation in the matrix form is given as :
x cos 0 sin 0 x
y
= 0 1 0 0 y
z sin 0 cos 0 z
1 0 0 0 1 1
iii. Rotation about the z-axis (i.e., z-axis is axis of rotation)
y
P (x, y , 0)
P (x, y, 0)
x
z
Fig. 6.
x = x cos – y sin
y = z cos + y sin
z = z
cos sin 0
or, R, i = sin cos 0
0 0 1
Solved Paper (2018-19) SP–10 C (CS-6)
www.aktutor.in
Equation in the matrix form is given as :
x cos sin 0 0 x
y
= sin cos 0 0 y
z 0 0 1 0 z
1 0 0 0 1 1
Numerical :
1 0 0 0
0 cos sin 0
Let R() =
0 sin cos 0
0 0 0 1
Put = (– ), we get
1 0 0 0
0 cos ( ) sin ( ) 0
R(–) =
0 sin ( ) cos ( ) 0
0 0 0 1
Since cos (–) = cos (), sin (–) = – sin , we have
1 0 0 0
0 cos sin 0
R(–) =
0 sin cos 0
0 0 0 1
Now,
1 0 0 0 1 0 0 0
0 cos sin 0 0 cos sin 0
R(–) * R() = *
0 sin cos 0 0 sin cos 0
0 0 0 1 0 0 0 1
1 0 0 0
0 1 0 0
= =I
0 0 1 0
0 0 0 1
We have,
R(– ) . R() = I
Multiply R–1() both sides,
R(– ).R().R– 1() = I.R– 1()
R(– ) = R – 1()
Hence proved.
1 2 3 4 5 6 7
Fig. 7.
Disadvantages of DDA algorithm :
1. Floating point arithmetic in DDA algorithm is time consuming.
2. Precision loss due to rounding off.
3. Pixel drifts farther apart if line is relatively large.
4. Rounding off in DDA is time consuming.
5. End point accuracy is poor.
Bresenham’s line drawing algorithm for negative slope :
For negative slopes, the procedure is similar, except that one
coordinate decreases as the other increases.
Window Scaling
(0, 0)
Viewport
(a) (b)
Fig. 9.
Step 3 : The final transformation step is another translation to
move the viewport to its correct position on the screen.
Solved Paper (2018-19) SP–18 C (CS-6)
www.aktutor.in
Translate Viewport
Fig. 11.
A 0 0 1 1
B 3 0 1 1
C 3 2 1 1
D 0 2 1 1
Ans. E 0 0 0 1
F 3 0 0 1
G 3 2 0 1
H 0 2 0 1
Rotation matrix about y-axis by an angle – 90°
cos ( 90) 0 sin( 90) 0 0 0 1 0
0 1 0 0
0 1 0 0
=
sin ( 90) 0 cos ( 90) 0 1 0 0 0
0 0 0 1 0 0 0 1
0 0 1 1 1 0 0 1
3 1 0 3 1
0 1 1
3 2 1 1 0 0 1 0 1 2 3 1
0 2 1 1 0 1 0 0 1 2 0 1
So, = 0
0 0 0
1 1 0 0 0 0 0 0
3 0 0 1 0 0 0 1 0 0 3 1
3 0 2 3 1
2 0 1
0 2 0 1 0 0 0 1
Computer Graphics SP–19 C (CS-6)
www.aktutor.in
Rotation matrix about x-axis by angle 90° is given as
1 0 0 0 1 0 0 0
0 cos (90) sin (90) 0 0 1 0
0
=
0 sin (90) cos(90) 0 0 1 0 0
0 0 0 1 0 0 0 1
0 0 1 1 0 1 0 1
3 3 1 0 1
0 1 1
3 2 1 1 1 0 0 0 3 1 2 1
0 2 1 1 0 0
1 0 0 1 2 1
Now =
0 0 0 1 0 1 0 0 0 0 0 1
3 0 0 1 0 0 0 1 3 0 0 1
3 3 0 2 1
2 0 1
0 2 0 1 0 0 2 1
(2, 3)
3 × ×
(4, 3)
(3.125, 2.875)
2 (1.9218, 2.1718)
(1, 1)
1
0 1 2 3 4 5 6 7
Fig. 12. Plotted Bezier curve.
B
k 0
k, d (u) = 1