 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

Computer Graphics

  • 2.
     Output primitivesare 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 todraw 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.
  • 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 equationof 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 linewith 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 linewith 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 linewith 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 linewith 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 theend 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 xincrement = 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=x2OR / AND yk+1=y2 then STOP else go to Step (4).
  • 15.
    1) In Bresenham’sLine 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 theend 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 eachxk 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.
  • 21.
  • 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 theradius 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 <0then, 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 eachcalculated 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.
  • 26.
  • 27.
    1) Accept theradius 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 <0then, 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 eachcalculated 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 DDAalgorithm 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 andellipses can be efficiently and accurately scan converted using midpoint methods.  Bresenham’s line algorithm and the midpoint line algorithm methods are the most efficient.
  • 33.