C program to find the points using BLA algorithm | C Programming

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int x0,x1,y0,y1,dx,dy,i=0;
float slope,Po,x2,y2,P2,temp,x,y;
printf("Enter the two ends points:\n");
scanf("%d%d",&x0,&y0);
printf("Enter the next two end points:\n");
scanf("%d%d",&x1,&y1);
dx=x1-x0;
dy=y1-y0;
slope=dy/dx;
if (slope<1)//Satisfying formula for the slope.
{
Po=2*(fabs(dy))-(fabs(dx));
}
else
{
Po=2*(fabs(dx))-(fabs(dy));
}
if(Po<0)
{
x2=x0+1;
y2=y0;
P2=Po+(2*(abs(dy)));
}
else
{
x2=x0+1;
y2=y0+1;
P2=Po+2*dy-2*dx;
}
printf("k\tPk\tXk+1,Yk+1\tPk+1");
printf("\n%d\t%.2f\t%.2f,%.2f\t%.2f",i,Po,x2,y2,P2);
do
{
i++;
temp=P2;
Po=temp;//assigining new value to Po
x=x2;
x0=x;//assigning new value to x0
y=y2;
y0=y;//assigning new value to y0
if(Po<0)
{
x2=x0+1;
y2=y0;
P2=Po+(2*(abs(dy)));
}
else
{
x2=x0+1;
y2=y0+1;
P2=Po+2*dy-2*dx;
}
printf("\n%d\t%.2f\t%.2f,%.2f\t%.2f",i,Po,x2,y2,P2);
}while(i<dx);//using do-while loop for finding value up to dx times.

}

Post a Comment

0 Comments