Computer Graphics

923 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
923
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
67
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Computer Graphics

  1. 1.  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.
  2. 2. 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.
  3. 3. y means that for a unit (1) change in x mx there is m-change in y.x 1 means that for a unit (1) change in yy m there is 1/m change in x. 5
  4. 4. 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
  5. 5.  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) andcompute successive x values as: xk+1 = xk + 1/m.
  6. 6.  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
  7. 7.  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
  8. 8.  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
  9. 9. 1) Accept the end point co-ordinates of theline 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.
  10. 10. 4) Let x increment = dx/Step ; Let y increment = dy/Step.5) Display the pixels at standing portion putpixel (x,y,white).6) Compute the next co-ordinate position alongthe line path xk+1 = xk + x increment yk+1 = yk + y increment Put Pixel(xk+1 , yk+1 ,white).
  11. 11. 7) If xk+1=x2 OR / AND yk+1=y2 then STOP else go to Step (4).
  12. 12. 1) In Bresenham’s Line Drawing Algorithm thepixel positions along a line path are obtained bydetermining the pixel i.e nearer the line at eachstep. 2) It is an efficient raster line generationalgorithm.
  13. 13. 1) Accept the end point co-ordinates of theline 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).
  14. 14. (b) At each xk position perform the followingif 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).
  15. 15. 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 ifPk < 0 i.e d1 < d2 then x increment=0 y increment=dy/abs(dy) Pk+1= Pk + 2abs(dx)
  16. 16. 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).
  17. 17. 6) Repeat Step (3) to (5) until xk+1=x2 AND /OR yk+1 =y27)STOP.
  18. 18. Midpoint CircleAlgorithm
  19. 19. Mid-point Circle Algorithm A method for direct distance comparison isto test the halfway position between twopixels to determine if this midpoint is insideor outside the circle boundary. This method is more easily applied toother conics, and for an integer circleradius.
  20. 20. 1) Accept the radius r and center (xc, yc).Thepoint of the circumference of a circle withcenter 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.Performthe following test.
  21. 21. If Pk <0 then, Xk+1= xk +1 and yk+1= yk Pk+1 = Pk +2xk +3Otherwise, Pk >0Xk+1= xk +1 and Yk+1= yk -1 Pk+1= Pk +2( xk - yk ) +54) Determine the symmetric points in other 7octants.
  22. 22. 5) Translate each calculated pixel position byT ( xk , yk ) and display the pixelX= 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.
  23. 23. BRESENHAM’S CIRCLEALGORITHM
  24. 24. 1) Accept the radius r and center (xc, yc).Thepoint of the circumference of a circle with centeras origin (x0, y0) =(0,r).2) Calculate the initial decision parameter as PO =3 – 2r.3) At each xk position starting at k=0.Performthe following test.
  25. 25. If Pk <0 then, Xk+1= xk +1 and yk+1= yk Pk+1 = Pk +4xk +6.Otherwise, Pk > 0Xk+1= xk +1 AND Yk+1= yk -1 Pk+1= Pk +4( xk - yk ) +104) Determine the symmetric points in other 7octants.
  26. 26. 5) Translate each calculated pixel position byT ( xk , yk ) and display the pixelX= xk+1 + xc AND Y= yk+1 + yc Put pixel ( x, y, white)6) Repeat step (3) to step (5) until x>=y7) STOP.
  27. 27.  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.
  28. 28.  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.
  29. 29. THANK YOU

×