DDA Line drawing algorithm

DDA Line drawing algorithm

#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <math.h>
#include <stdlib.h>

void  ddaline(float x1,float y1,float x2,float y2)
{
    int i, color=5;
    float x,y,xinc,yinc,steps;
    steps=abs(x2-x1);
    if(steps <abs(y2-y1))
    {
        steps=abs(y2-y1);
    }
    else
    {
        steps=abs(x2-x1);
    } 
    xinc=(x2-x1)/steps;
    yinc=(y2-y1)/steps;
    x=x1;
    y=y1;
    putpixel((int) x,(int)y,color);
    for(i=1;i<=steps;i++)
    {
        putpixel((int) x,(int)y,color);
        x=x+xinc;
        y=y+yinc;
    }
}

void main()
{
    int gd=DETECT,gm,color;
    float x1,y1,x2,y2;
    initgraph(&gd,&gm,"c:\\turboc3\\bgi");
    printf("%d %d \n",getmaxx(),getmaxy());
    printf("\n Enter the left end points");
    scanf("%f%f",&x1,&y1);
    printf("\n Enter the right end points");
    scanf("%f%f",&x2,&y2);
    ddaline(x1,y1,x2,y2);
    getch();
    closegraph();
}

© Copyright - 2018 - 2022 | All rights reserved at Funda of Web IT