SlideShare une entreprise Scribd logo
1  sur  33
 Output primitives are the basic geometric
  structures which facilitate or describe a
  scene/picture.
 Example of these include:
  points, lines, curves (circles, conics etc),
  surfaces, fill colour, character string etc.
In order to draw the primitive objects, one has to
    first scan convert the object.

Scan convert: Refers to the operation of finding
   out the location of pixels and then setting the
   values of corresponding bits, in the graphic
   memory, to the desired intensity code.
y       means that for a unit (1) change in x
    m
x       there is
        m-change in y.
x   1   means that for a unit (1) change in y
y   m   there is
        1/m change in x.


                                                5
Uses differential equation of the line : m
  If slope |m| 1 then increment x in steps of 1 pixel and
  find corresponding y-values.
  If slope |m| 1 then increment y in steps of 1 pixel and
  find corresponding x-values.
                                            
                                            
                                        
                                        
                                 
                                 
                             
                             
  step through in x                    step through in y

                                                            6
 A line with positive slope (Left to Right)
  If m <= 1, sample at unit x intervals (Δx = 1)
and compute successive y values as:
        yk+1 = yk + m.
 If m >1, sample at unit y intervals (Δy =1) and
compute successive x values as:
       xk+1 = xk + 1/m.
 A line with positive slope (Right to Left)
 If m <= 1, sample at unit x intervals (Δx =-1)
and
    compute successive y values as:
            yk+1 = yk – m
 If m >1, sample at unit y intervals (Δy = -1) and
 compute successive x values as:
            xk+1 = xk - 1/m
 A line with negative slope (Left to Right)
 If |m| <= 1, sample at unit x intervals (Δx = 1)
and
       compute successive y values as:
              yk+1 = yk + m
 If |m| >1, sample at unit y intervals (Δy =-1)
and compute successive x values as:
             xk+1 = xk - 1/m
 A line with negative slope (Right to Left)
If |m| <=1, sample at unit x intervals (Δx =1)
and
      compute successive y values as:
             yk+1 = yk - m
 If |m| >1, sample at unit y intervals (Δy =1)
and compute successive x values as:
             xk+1 = xk + 1/m
1) Accept the end point co-ordinates of the
line segment AB ie A(x1,x2) and B(x2,y2).

2)   Calculate dx and dy.

3) If abs(dx)>=abs(dy) then ,
        Step=dx else Step=dy.
4) Let x increment = dx/Step ;
   Let y increment = dy/Step.

5) Display the pixels at standing portion put
pixel (x,y,white).

6) Compute the next co-ordinate position along
the line path
           xk+1 = xk + x increment
           yk+1 = yk + y increment
            Put Pixel(xk+1 , yk+1 ,white).
7) If xk+1=x2 OR / AND yk+1=y2
            then STOP else go to Step (4).
1) In Bresenham’s Line Drawing Algorithm the
pixel positions along a line path are obtained by
determining the pixel i.e nearer the line at each
step.
 2) It is an efficient raster line generation
algorithm.
1) Accept the end point co-ordinates of the
line segment AB ie A(x1,x2) and B(x2,y2).

2) Calculate dx and dy.

3) If abs(dy)<=abs(dx) ie slope |m|<=1

 (a) Compute initial decision parameter
     Po= 2abs(dy)-abs(dx).
(b) At each xk position perform the following
if Pk <0 i.e d1< d2 then,

 x increment=dx/abs(dx) AND y increment=0
            Pk+1= Pk + 2abs(dy)
else,

Pk >0 ie d1>d2
                     X increment =dx/abs(dx)
                     Y increment =dy/abs(dy)

   Pk+1= Pk +2abs(dy)-2abs(dx).
4) If abs(dy) > abs(dx) ie slope |m|>1

(a) Compute initial decision parameter
     Po= 2abs(dx)-abs(dy)

(b) At each xk position,perform the following if
Pk < 0 i.e d1 < d2 then
                        x increment=0
                        y increment=dy/abs(dy)
          Pk+1= Pk + 2abs(dx)
Else,
  Pk >0 ie d1>d2
                    X increment=dx/abs(dx)
                    Y increment=dy/abs(dy)
    Pk+1= Pk +2abs(dx)-2abs(dy).

5) Calculate : xnext = xk + x increment
               ynext = yk + y increment.
   Display (xk+1, yk+1, white).
6) Repeat Step (3) to (5) until
           xk+1=x2 AND /OR yk+1 =y2

7)STOP.
Midpoint Circle
Algorithm
Mid-point Circle Algorithm

 A method for direct distance comparison is
to test the halfway position between two
pixels to determine if this midpoint is inside
or outside the circle boundary.
 This method is more easily applied to
other conics, and for an integer circle
radius.
1) Accept the radius r and center (xc, yc).The
point of the circumference of a circle with
center as origin (x0, y0) =(0,r).

2) Calculate the initial decision parameter as
     Po =5/4 –r .

3) At each xk position starting at k=0.Perform
the following test.
If Pk <0 then,
 Xk+1= xk +1 and yk+1= yk
            Pk+1 = Pk +2xk +3

Otherwise, Pk >0
Xk+1= xk +1 and Yk+1= yk -1
            Pk+1= Pk +2( xk - yk ) +5

4) Determine the symmetric points in other 7
octants.
5) Translate each calculated pixel position by
T ( xk , yk ) and display the pixel
X= xk+1 + xc AND Y= yk+1 + yc
                        Put pixel ( x,y, white).

6) Repeat step (3) to step (5) until x>=y.

7)STOP.
BRESENHAM’S CIRCLE
ALGORITHM
1) Accept the radius r and center (xc, yc).The
point of the circumference of a circle with center
as origin (x0, y0) =(0,r).

2) Calculate the initial decision parameter as
     PO =3 – 2r.

3) At each xk position starting at k=0.Perform
the following test.
If Pk <0 then,
 Xk+1= xk +1 and yk+1= yk
               Pk+1 = Pk +4xk +6.
Otherwise, Pk > 0
Xk+1= xk +1 AND Yk+1= yk -1

            Pk+1= Pk +4( xk - yk ) +10

4) Determine the symmetric points in other 7
octants.
5) Translate each calculated pixel position by
T ( xk , yk ) and display the pixel
X= xk+1 + xc AND Y= yk+1 + yc
                        Put pixel ( x, y, white)
6) Repeat step (3) to step (5) until x>=y

7) STOP.
 The DDA algorithm is accomplished by taking
  unit step in one direction and calculating other.
 The Bresenham’s Algorithm finds the closest
  integer co-ordinate to the actual part.
 DDA algorithm uses floating point calculation.
 Bresenham’s uses integer point calculation.
 DDA is more accurate compared to
  Bresenhams.
 Circles and ellipses can be efficiently and
  accurately scan converted using midpoint
  methods.
 Bresenham’s line algorithm and the midpoint
  line algorithm methods are the most efficient.
THANK YOU

Contenu connexe

Tendances

Tendances (20)

Introduction to computer graphics part 1
Introduction to computer graphics part 1Introduction to computer graphics part 1
Introduction to computer graphics part 1
 
Bresenham's line algorithm
Bresenham's line algorithmBresenham's line algorithm
Bresenham's line algorithm
 
Computer graphics basic transformation
Computer graphics basic transformationComputer graphics basic transformation
Computer graphics basic transformation
 
Line Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - NotesLine Drawing Algorithms - Computer Graphics - Notes
Line Drawing Algorithms - Computer Graphics - Notes
 
2 d viewing computer graphics
2 d viewing computer graphics2 d viewing computer graphics
2 d viewing computer graphics
 
Mid point line Algorithm - Computer Graphics
Mid point line Algorithm - Computer GraphicsMid point line Algorithm - Computer Graphics
Mid point line Algorithm - Computer Graphics
 
Frame buffer
Frame bufferFrame buffer
Frame buffer
 
Illumination Models & Shading
Illumination Models & ShadingIllumination Models & Shading
Illumination Models & Shading
 
Anti- aliasing computer graphics
Anti- aliasing computer graphicsAnti- aliasing computer graphics
Anti- aliasing computer graphics
 
2D transformation (Computer Graphics)
2D transformation (Computer Graphics)2D transformation (Computer Graphics)
2D transformation (Computer Graphics)
 
Dda line algorithm presentatiion
Dda line algorithm presentatiionDda line algorithm presentatiion
Dda line algorithm presentatiion
 
3d transformation computer graphics
3d transformation computer graphics 3d transformation computer graphics
3d transformation computer graphics
 
Video display devices
Video display devicesVideo display devices
Video display devices
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
 
Bresenham circle
Bresenham circleBresenham circle
Bresenham circle
 
ANIMATION SEQUENCE
ANIMATION SEQUENCEANIMATION SEQUENCE
ANIMATION SEQUENCE
 
Polygons - Computer Graphics - Notes
Polygons - Computer Graphics - NotesPolygons - Computer Graphics - Notes
Polygons - Computer Graphics - Notes
 
Polygon filling
Polygon fillingPolygon filling
Polygon filling
 
Clipping in Computer Graphics
Clipping in Computer GraphicsClipping in Computer Graphics
Clipping in Computer Graphics
 
Input of graphical data
Input of graphical dataInput of graphical data
Input of graphical data
 

En vedette

Modern Operating System Windows Server 2008
Modern Operating System  Windows Server 2008Modern Operating System  Windows Server 2008
Modern Operating System Windows Server 2008
Sneha Chopra
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
amitsarda3
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
bhaveshbunk
 
SYSTEM SOFTWARE
SYSTEM SOFTWARESYSTEM SOFTWARE
SYSTEM SOFTWARE
Kak Yong
 

En vedette (20)

E.s unit 4 and 5
E.s unit 4 and 5E.s unit 4 and 5
E.s unit 4 and 5
 
Modern Operating System Windows Server 2008
Modern Operating System  Windows Server 2008Modern Operating System  Windows Server 2008
Modern Operating System Windows Server 2008
 
Multimedia
MultimediaMultimedia
Multimedia
 
Data structures
Data structuresData structures
Data structures
 
E.s (2)
E.s (2)E.s (2)
E.s (2)
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Computer graphics
Computer graphics   Computer graphics
Computer graphics
 
Embedded System
Embedded SystemEmbedded System
Embedded System
 
E.s unit 6
E.s unit 6E.s unit 6
E.s unit 6
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
system software and application software
system software and application softwaresystem software and application software
system software and application software
 
Computer Graphics Lab File C Programs
Computer Graphics Lab File C ProgramsComputer Graphics Lab File C Programs
Computer Graphics Lab File C Programs
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Computer Graphics Notes
Computer Graphics NotesComputer Graphics Notes
Computer Graphics Notes
 
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
Computer Graphics - Bresenham's line drawing algorithm & Mid Point Circle alg...
 
2d/3D transformations in computer graphics(Computer graphics Tutorials)
2d/3D transformations in computer graphics(Computer graphics Tutorials)2d/3D transformations in computer graphics(Computer graphics Tutorials)
2d/3D transformations in computer graphics(Computer graphics Tutorials)
 
System software
System softwareSystem software
System software
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
SYSTEM SOFTWARE
SYSTEM SOFTWARESYSTEM SOFTWARE
SYSTEM SOFTWARE
 
Computer Graphics Notes (B.Tech, KUK, MDU)
Computer Graphics Notes (B.Tech, KUK, MDU)Computer Graphics Notes (B.Tech, KUK, MDU)
Computer Graphics Notes (B.Tech, KUK, MDU)
 

Similaire à Computer Graphics

Lines and curves algorithms
Lines and curves algorithmsLines and curves algorithms
Lines and curves algorithms
Mohammad Sadiq
 
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohichapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
54MahakBansal
 
Open GL T0074 56 sm4
Open GL T0074 56 sm4Open GL T0074 56 sm4
Open GL T0074 56 sm4
Roziq Bahtiar
 
Line drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniquesLine drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniques
Ankit Garg
 

Similaire à Computer Graphics (20)

Chapter 3 Output Primitives
Chapter 3 Output PrimitivesChapter 3 Output Primitives
Chapter 3 Output Primitives
 
Dda algo notes
Dda algo notesDda algo notes
Dda algo notes
 
Chapter 3 - Part 1 [Autosaved].pptx
Chapter 3 - Part 1 [Autosaved].pptxChapter 3 - Part 1 [Autosaved].pptx
Chapter 3 - Part 1 [Autosaved].pptx
 
Computer graphics question for exam solved
Computer graphics question for exam solvedComputer graphics question for exam solved
Computer graphics question for exam solved
 
Computer Graphics Unit 2
Computer Graphics Unit 2Computer Graphics Unit 2
Computer Graphics Unit 2
 
Lines and curves algorithms
Lines and curves algorithmsLines and curves algorithms
Lines and curves algorithms
 
algorithm Unit 4
algorithm Unit 4 algorithm Unit 4
algorithm Unit 4
 
Unit 4 jwfiles
Unit 4 jwfilesUnit 4 jwfiles
Unit 4 jwfiles
 
Applications of Differential Calculus in real life
Applications of Differential Calculus in real life Applications of Differential Calculus in real life
Applications of Differential Calculus in real life
 
Unit-2 raster scan graphics,line,circle and polygon algorithms
Unit-2 raster scan graphics,line,circle and polygon algorithmsUnit-2 raster scan graphics,line,circle and polygon algorithms
Unit-2 raster scan graphics,line,circle and polygon algorithms
 
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohichapter 3 , foley.pptxhuujjjjjjjkjmmmm.  Ibibhvucufucuvivihohi
chapter 3 , foley.pptxhuujjjjjjjkjmmmm. Ibibhvucufucuvivihohi
 
Open GL T0074 56 sm4
Open GL T0074 56 sm4Open GL T0074 56 sm4
Open GL T0074 56 sm4
 
OUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptxOUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptx
 
OUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptxOUTPUT PRIMITIVES.pptx
OUTPUT PRIMITIVES.pptx
 
Solution set 3
Solution set 3Solution set 3
Solution set 3
 
Graphs of the Sine and Cosine Functions Lecture
Graphs of the Sine and Cosine Functions LectureGraphs of the Sine and Cosine Functions Lecture
Graphs of the Sine and Cosine Functions Lecture
 
Line drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniquesLine drawing algorithm and antialiasing techniques
Line drawing algorithm and antialiasing techniques
 
AJMS_402_22_Reprocess_new.pdf
AJMS_402_22_Reprocess_new.pdfAJMS_402_22_Reprocess_new.pdf
AJMS_402_22_Reprocess_new.pdf
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Computer graphics notes 2 tutorials duniya
Computer graphics notes 2   tutorials duniyaComputer graphics notes 2   tutorials duniya
Computer graphics notes 2 tutorials duniya
 

Computer Graphics

  • 1.
  • 2.  Output primitives are the basic geometric structures which facilitate or describe a scene/picture.  Example of these include: points, lines, curves (circles, conics etc), surfaces, fill colour, character string etc.
  • 3. In order to draw the primitive objects, one has to first scan convert the object. Scan convert: Refers to the operation of finding out the location of pixels and then setting the values of corresponding bits, in the graphic memory, to the desired intensity code.
  • 4.
  • 5. y means that for a unit (1) change in x m x there is m-change in y. x 1 means that for a unit (1) change in y y m there is 1/m change in x. 5
  • 6. Uses differential equation of the line : m If slope |m| 1 then increment x in steps of 1 pixel and find corresponding y-values. If slope |m| 1 then increment y in steps of 1 pixel and find corresponding x-values.                 step through in x step through in y 6
  • 7.  A line with positive slope (Left to Right) If m <= 1, sample at unit x intervals (Δx = 1) and compute successive y values as: yk+1 = yk + m. If m >1, sample at unit y intervals (Δy =1) and compute successive x values as: xk+1 = xk + 1/m.
  • 8.  A line with positive slope (Right to Left) If m <= 1, sample at unit x intervals (Δx =-1) and compute successive y values as: yk+1 = yk – m If m >1, sample at unit y intervals (Δy = -1) and compute successive x values as: xk+1 = xk - 1/m
  • 9.  A line with negative slope (Left to Right) If |m| <= 1, sample at unit x intervals (Δx = 1) and compute successive y values as: yk+1 = yk + m If |m| >1, sample at unit y intervals (Δy =-1) and compute successive x values as: xk+1 = xk - 1/m
  • 10.  A line with negative slope (Right to Left) If |m| <=1, sample at unit x intervals (Δx =1) and compute successive y values as: yk+1 = yk - m If |m| >1, sample at unit y intervals (Δy =1) and compute successive x values as: xk+1 = xk + 1/m
  • 11. 1) Accept the end point co-ordinates of the line segment AB ie A(x1,x2) and B(x2,y2). 2) Calculate dx and dy. 3) If abs(dx)>=abs(dy) then , Step=dx else Step=dy.
  • 12. 4) Let x increment = dx/Step ; Let y increment = dy/Step. 5) Display the pixels at standing portion put pixel (x,y,white). 6) Compute the next co-ordinate position along the line path xk+1 = xk + x increment yk+1 = yk + y increment Put Pixel(xk+1 , yk+1 ,white).
  • 13. 7) If xk+1=x2 OR / AND yk+1=y2 then STOP else go to Step (4).
  • 14.
  • 15. 1) In Bresenham’s Line Drawing Algorithm the pixel positions along a line path are obtained by determining the pixel i.e nearer the line at each step. 2) It is an efficient raster line generation algorithm.
  • 16. 1) Accept the end point co-ordinates of the line segment AB ie A(x1,x2) and B(x2,y2). 2) Calculate dx and dy. 3) If abs(dy)<=abs(dx) ie slope |m|<=1 (a) Compute initial decision parameter Po= 2abs(dy)-abs(dx).
  • 17. (b) At each xk position perform the following if Pk <0 i.e d1< d2 then, x increment=dx/abs(dx) AND y increment=0 Pk+1= Pk + 2abs(dy) else, Pk >0 ie d1>d2 X increment =dx/abs(dx) Y increment =dy/abs(dy) Pk+1= Pk +2abs(dy)-2abs(dx).
  • 18. 4) If abs(dy) > abs(dx) ie slope |m|>1 (a) Compute initial decision parameter Po= 2abs(dx)-abs(dy) (b) At each xk position,perform the following if Pk < 0 i.e d1 < d2 then x increment=0 y increment=dy/abs(dy) Pk+1= Pk + 2abs(dx)
  • 19. Else, Pk >0 ie d1>d2 X increment=dx/abs(dx) Y increment=dy/abs(dy) Pk+1= Pk +2abs(dx)-2abs(dy). 5) Calculate : xnext = xk + x increment ynext = yk + y increment. Display (xk+1, yk+1, white).
  • 20. 6) Repeat Step (3) to (5) until xk+1=x2 AND /OR yk+1 =y2 7)STOP.
  • 22. Mid-point Circle Algorithm  A method for direct distance comparison is to test the halfway position between two pixels to determine if this midpoint is inside or outside the circle boundary.  This method is more easily applied to other conics, and for an integer circle radius.
  • 23. 1) Accept the radius r and center (xc, yc).The point of the circumference of a circle with center as origin (x0, y0) =(0,r). 2) Calculate the initial decision parameter as Po =5/4 –r . 3) At each xk position starting at k=0.Perform the following test.
  • 24. If Pk <0 then, Xk+1= xk +1 and yk+1= yk Pk+1 = Pk +2xk +3 Otherwise, Pk >0 Xk+1= xk +1 and Yk+1= yk -1 Pk+1= Pk +2( xk - yk ) +5 4) Determine the symmetric points in other 7 octants.
  • 25. 5) Translate each calculated pixel position by T ( xk , yk ) and display the pixel X= xk+1 + xc AND Y= yk+1 + yc Put pixel ( x,y, white). 6) Repeat step (3) to step (5) until x>=y. 7)STOP.
  • 27. 1) Accept the radius r and center (xc, yc).The point of the circumference of a circle with center as origin (x0, y0) =(0,r). 2) Calculate the initial decision parameter as PO =3 – 2r. 3) At each xk position starting at k=0.Perform the following test.
  • 28. If Pk <0 then, Xk+1= xk +1 and yk+1= yk Pk+1 = Pk +4xk +6. Otherwise, Pk > 0 Xk+1= xk +1 AND Yk+1= yk -1 Pk+1= Pk +4( xk - yk ) +10 4) Determine the symmetric points in other 7 octants.
  • 29. 5) Translate each calculated pixel position by T ( xk , yk ) and display the pixel X= xk+1 + xc AND Y= yk+1 + yc Put pixel ( x, y, white) 6) Repeat step (3) to step (5) until x>=y 7) STOP.
  • 30.  The DDA algorithm is accomplished by taking unit step in one direction and calculating other.  The Bresenham’s Algorithm finds the closest integer co-ordinate to the actual part.  DDA algorithm uses floating point calculation.  Bresenham’s uses integer point calculation.  DDA is more accurate compared to Bresenhams.
  • 31.  Circles and ellipses can be efficiently and accurately scan converted using midpoint methods.  Bresenham’s line algorithm and the midpoint line algorithm methods are the most efficient.
  • 32.