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

Quicktime and real video, Quicktime Quicktime is the video format devis...

Quicktime Quicktime is the video format devised through and used through Apple and can be utilized at varying quality and file sizes. This is quite broadly used and has affecte

Write a c code for generating concentric circles, Write a C code for genera...

Write a C code for generating concentric circles.  Put the circle function circleMidpoint()in a for loop  as follows: for( int radius = MinRadius; radius circleMidpoint(i

State the areas of use of data goggles, State the Areas of use of data gogg...

State the Areas of use of data goggles Entertainment   Used in television/films as special effects (for example "holodeck" in Star Trek: The Next Generation and Brazilian

#BLA, #BLA for slope greater and equal to 1

#BLA for slope greater and equal to 1

What do you understand by the term image compositing, Question 1: (a) E...

Question 1: (a) Explain in detail what you understand by the term image compositing and where it is more often used? (b) You are given 3-5 images to make a photo montage/ima

Define affine transformation, Define Affine transformation?  A coordina...

Define Affine transformation?  A coordinate transformation of the form X= axxx +axyy+bx, y 'ayxx+ayy y+by  is known as a two-dimensional affine transformation. Every of the tra

Two point and three point perspective transformations, Two-Point and Three-...

Two-Point and Three-Point Perspective transformations The two-point perspective projection can be acquired by rotating about one of the principal axis only and projecting upon

Clipping and 3d primitives, Clipping and 3D Primitives This unit introd...

Clipping and 3D Primitives This unit introduces you to three important concepts of Computer Graphics. After that discusses the concept of clipping, which means removal of objec

Reflection, What is the advantages and disadvantages of reflection ?

What is the advantages and disadvantages of reflection ?

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