Draw a long line segment using dda line drawing algorithm, Computer Graphics

Assignment Help:

Draw a long line segment using (i) DDA line drawing algorithm (ii) Bresenham line drawing algorithm (iii) OpenGL function using GL_LINES.  Observe if DDA line segment deflects from Bresenham line segment or the graphics library line segment. 

Answer: Implementation of Bresenham and DDA algorithm is already given on page 20-21 of this unit.  Use the code to draw a line segment (10, 20) - (1020, 700) using both the algorithms.  Further, we draw the same line segment by adding the following code in the RenderScene( ) function of the code using the following OpenGL library function.    

glBegin(GL_LINES);

   glVertex2i(1020,700);

   glVertex2i(10,20);

   glEnd();  

Use a different colour for each of the three codes. Accordingly code of RenderScene( ) will be modified as follows:   

void RenderScene(void)

{

glClear(GL_COLOUR_BUFFER_BIT);

glColour3f(1.0f, 0.0f, 0.0f);    

bresenham(10,20,1020,700);//Bresenham line segment with RED

   glColour3f(0.0f, 1.0f, 0.0f);        

  dda(10,20,1020,700); //dda line segment with GREEN

  glColour3f(1.0f, 1.0f, 1.0f);        

  glBegin(GL_LINES);

   glVertex2i(1020,700);

   glVertex2i(10,20);

  glEnd(); //OpenGl Line segment with WHITE

        glFlush();   

}

On present day systems with very high accuracy on floating point calculations all the three line segments are plotting almost the same line segment. However, if you run the same program on an older system, you would find that the pixels generated by DDA algorithm are slightly away from the two line segments that have been generated using Bresenham algorithm and OpenGL function. The OpenGL function and Bresenham algorithm produce almost the same line segments.


Related Discussions:- Draw a long line segment using dda line drawing algorithm

Transformation for 3-d shearing, 2-dimensional xy-shearing transformation, ...

2-dimensional xy-shearing transformation, as explained in equation (19), can also be simply extended to 3-dimensional case. All coordinates are translated as a function of displace

Computer arthcther, How many 128 x 8 RAM chips are needed to provide a memo...

How many 128 x 8 RAM chips are needed to provide a memory capacity of 4096 16 bits?

Chemistry-applications for computer animation, Chemistry: Computer animati...

Chemistry: Computer animation is a very helpful tool in chemistry. Several things in chemistry are too small to see, and handle or do experiments on like, molecules and atoms for

Ellipse generating algorithm, Ellipse generating algorithm: Algorithm ...

Ellipse generating algorithm: Algorithm is similar to circle algorithm. We divide the ellipse on the positive quadrant into two regions. Region 1 where the slope > -1, and Reg

Text generation, Discuss various Techniques for Character Generation

Discuss various Techniques for Character Generation

CRT, why there is coating of phosphorous on CRT screen?

why there is coating of phosphorous on CRT screen?

Algorithms for basic line segment plotting, Algorithms for Basic Line Segme...

Algorithms for Basic Line Segment Plotting There are two important algorithms for basic line segment plotting-DDA algorithm and Bresenham algorithm.  Both the algorithms use th

Program to implement procedures or functions, The goal of this assignment i...

The goal of this assignment is to implement procedures/functions using x86 assembly. In addition to implementing procedures/functions, this assignment requires to pass arguments us

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd