Here you will find out about dda line attracting calculation C and C++.
In Computer Graphics the main fundamental line drawing calculation is Digital Differential Analyzer (DDA) Algorithm.
A line interfaces two points. It is an essential component in designs. To draw a line, you need two points between which you can draw a line.
Advanced Differential Analyzer (DDA) Algorithm
Stage 1: Read the contribution of the 2 end purposes of the line as (x1, y1) and (x2, y2) with the end goal that x1 != x2 and y1 != y2
Stage 2: Calculate dx = x2 – x1 and dy = y2 – y1
Stage 3:
if(dx>=dy)
step=dx
else
step=dy
Stage 4: xin = dx/step and yin = dy/step
Stage 5: x = x1 + 0.5 and y = y1 + 0.5
Stage 6:
for(k = 0; k < step; k++)
{
x = x + xin
y = y + yin
putpixel(x, y)
}
Program for DDA Line Drawing Algorithm in C
#include <graphics.h>
#include <stdio.h>
#include <math.h>
#include <dos.h>
void main( )
{
float x,y,x1,y1,x2,y2,dx,dy,step;
int i,gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
printf("Enter the value of x1 and y1 : ");
scanf("%f%f",&x1,&y1);
printf("Enter the value of x2 and y2: ");
scanf("%f%f",&x2,&y2);
dx=abs(x2-x1);
dy=abs(y2-y1);
if(dx>=dy)
step=dx;
else
step=dy;
dx=dx/step;
dy=dy/step;
x=x1;
y=y1;
i=1;
while(i<=step)
{
putpixel(x,y,5);
x=x+dx;
y=y+dy;
i=i+1;
delay(100);
}
closegraph();
}
Output
Program for DDA Line Drawing Algorithm in C++
#include <graphics.h>
#include <iostream.h>
#include <math.h>
#include <dos.h>
void main( )
{
float x,y,x1,y1,x2,y2,dx,dy,step;
int i,gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\turboc3\\bgi");
cout<<"Enter the value of x1 and y1 : ";
cin>>x1>>y1;
cout<<"Enter the value of x2 and y2: ";
cin>>x2>>y2;
dx=abs(x2-x1);
dy=abs(y2-y1);
if(dx>=dy)
step=dx;
else
step=dy;
dx=dx/step;
dy=dy/step;
x=x1;
y=y1;
i=1;
while(i<=step)
{
putpixel(x,y,5);
x=x+dx;
y=y+dy;
i=i+1;
delay(100);
}
closegraph();
}
Remark beneath in the event that you have any questions related above calculation.