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

Region filling, what is region filling? give details

what is region filling? give details

Open Gl, Write a program in C/C++ using OpenGL to create (without using bui...

Write a program in C/C++ using OpenGL to create (without using built in function) a square by implementing shear algorithm along 1. X-axis, 2.Y-axis.

Icon based or event driven tools, Icon Based or Event Driven Tools In s...

Icon Based or Event Driven Tools In such authoring systems, multimedia components and interaction cues or events are organized like objects in a structural process or framework

Image classification, The image classification is the process to categorize...

The image classification is the process to categorize images into one of several classes or categories. In this project, there are seven categories (Piano, Kangaroo, Strawberry, Su

Animation, name some of the standard motion in key frames

name some of the standard motion in key frames

Basic transformations - 2-d and 3-d transformations, Basic Transformations ...

Basic Transformations - 2-d and 3-d Transformations Consider the xy-coordinate system upon a plane. An object or Obj in a plane can be identified as a set of points. All objec

Orthographic and oblique projection - viewing transformation, Orthographic ...

Orthographic and Oblique Projection - Viewing Transformation Orthographic projection is the easiest form of parallel projection that is commonly utilized for engineering drawi

What do you mean by emissive and non-emissive displays, What do you mean by...

What do you mean by emissive and non-emissive displays? EMISSIVE: The emissive display changes electrical energy into light energy. The plasma panels, thin film ele

Explain difference between impact and non-impact printers, What is the diff...

What is the difference between impact and non-impact printers?  Impact printer press produced character faces against an inked ribbon on to the paper. A line printer and dot-ma

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