Computer Science, asked by iamkarangrovee383, 10 months ago

Flowchart of dda line drawing algorithm

Answers

Answered by naveenmaurya13
3

Answer:

DDA Line generation Algorithm in Computer Graphics

In any 2-Dimensional plane if we connect two points (x0, y0) and (x1, y1), we get a line segment. But in the case of computer graphics we can not directly join any two coordinate points, for that we should calculate intermediate point’s coordinate and put a pixel for each intermediate point, of the desired color with help of functions like putpixel(x, y, K) in C, where (x,y) is our co-ordinate and K denotes some color.

Examples:

Input: For line segment between (2, 2) and (6, 6) :

we need (3, 3) (4, 4) and (5, 5) as our intermediate

points.

Input: For line segment between (0, 2) and (0, 6) :

we need (0, 3) (0, 4) and (0, 5) as our intermediate

points.

For using graphics functions, our system output screen is treated as a coordinate system where the coordinate of the top-left corner is (0, 0) and as we move down our y-ordinate increases and as we move right our x-ordinate increases for any point (x, y).

Now, for generating any line segment we need intermediate points and for calculating them we have can use a basic algorithm called DDA(Digital differential analyzer) line generating algorithm.

DDA Algorithm:

Consider one point of the line as (X0,Y0) and the second point of the line as (X1,Y1).

// calculate dx , dy

dx = X1 - X0;

dy = Y1 - Y0;

// Depending upon absolute value of dx & dy

// choose number of steps to put pixel as

// steps = abs(dx) > abs(dy) ? abs(dx) : abs(dy)

steps = abs(dx) > abs(dy) ? abs(dx) : abs(dy);

// calculate increment in x & y for each steps

Xinc = dx / (float) steps;

Yinc = dy / (float) steps;

// Put pixel for each step

X = X0;

Y = Y0;

for (int i = 0; i <= steps; i++)

{

putpixel (X,Y,WHITE);

X += Xinc;

Y += Yinc;

}

Similar questions