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

Basic structures for multimedia interactive applications, Question: (a)...

Question: (a) Sound often gives the only effective way to convey an idea, elicit an emotion, or dramatise a point. Explain two situations of the use of sound that would be con

Implement the boundary fill and flood fill algorithm, 1. Implement the boun...

1. Implement the boundary fill algorithm and flood fill algorithm in C-language and use your code to fill two different types of closed areas such as  i)  A Circle ii)  A sel

B splines, What is uniform rational splines

What is uniform rational splines

Education - applications for computer animation, Education - applications f...

Education - applications for computer animation Currently, studies of subjects as Art, Physics, Maths, Chemistry, Biology, Engineering, Medicine, and Technology are fairly simp

Interpolation of surface - polygon rendering, Interpolation of surface - Po...

Interpolation of surface - Polygon Rendering Interpolation of surface normals beside the polygonedge between two vertices is demonstrated above in the figure 15. Here the norm

Real time clock -rtc, Main objectives: To test to micro-controller I...

Main objectives: To test to micro-controller I2C protocol bus functionality Setting and displaying accurate time and date on the LCD GENERAL DESCRIPTION The D

Adobe flash - softwares for computer animation, Adobe flash - Softwares for...

Adobe flash - Softwares for computer animation Formerly, it was termed as Macromedia flash and prior to this, this was Futuresplash. This is in fact an IDE that refers to both

Operation reseach, #question. Steps involved in the solution of operation r...

#question. Steps involved in the solution of operation research problem

Composite transformations - 2-d and 3-d transformations, Composite Transfor...

Composite Transformations - 2-d and 3-d Transformations We can build complicated transformations as rotation regarding to an arbitrary point, mirror reflection about a line, a

Linearly interpolate - modeling and rendering, Linearly interpolate - Model...

Linearly interpolate - Modeling and Rendering I 4 = I 1 + t (I 2 - I 1 ); here t = (|y 1 - y 2 |)/(|y 1 - y 2 |) I D = I A + t (I B - I A ); here t = (|AD|)/(|AB|)

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