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

DDA, limitationsof dda

limitationsof dda

Overstriking, why overstriking is harmful.justify

why overstriking is harmful.justify

.python programming, Write a function that computes the area of a triangle ...

Write a function that computes the area of a triangle given the length of its three sides as parameters (see Programming Exercise 9 from Chapter 3). Use your function to augment tr

What are the advantages of electrostatic plotters, What are the advantages ...

What are the advantages of electrostatic plotters?  They are faster than pen plotters and very high quality printers. Recent electrostatic plotters contain a scan-conv

Construction of a solid with a translational sweep, Construction of a Solid...

Construction of a Solid with a Translational Sweep Figure demonstrates construction of a solid along with a translational sweep. Translating the control points of the periodic

Object oriented tools, Object Oriented Tools: In such authoring systems, m...

Object Oriented Tools: In such authoring systems, multimedia components and events turn into objects that live in hierarchical order of parent and child relations. Messages are pa

Distinguish between convex and concave polygons, Distinguish between convex...

Distinguish between convex and concave polygons? If the line joining any two points in the polygon lies totally inside the polygon then, they are called as convex polygons. If

Important points about the frame buffers - graphics hardware, Important Poi...

Important Points about the Frame Buffers 1) Within a frame buffer, information storage starts from top left corner and goes until the bottom right corner. 2) By using this

Scan conversion - 2d shape primitives, Scan conversion: For display of...

Scan conversion: For display of a continuously defined object, a method to map a continuous abstract object or shape into a discrete plane of computer display is needed.  This

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