Midpoint Line Algorithm
Line Drawing C++ program - Graphics & Multimedia Lab
Sourcecode:
//MIDPOINT ALGORITHM
#include<graphics.h>
#include<iostream>
using namespace std;
int count,points[1000];
int i=0;
int gd=DETECT,gm;
int np;
void midLine(int x0,int y0,int x1,int y1)
{
int maxy=getmaxy();
int dx=x1-x0;
int dy=y1-y0;
int d=2*dy-dx;
int incE=2*dy;
int incNE=2*(dy-dx);
int x=x0;
int y=y0;
putpixel(x,(maxy-y),WHITE);
points[i]=x;
points[i+1]=y;
i+=2;
while(x<x1)
{
if(d<=0)
{
d=d+incE;
x++;
}
else
{
d=d+incNE;
x++;
y++;
}
putpixel(x,(maxy-y),WHITE);
points[i]=x;
points[i+1]=y;
i+=2;
}
}
main()
{
int x0,y0,x1,y1;
FILE *fp;
initgraph(&gd,&gm,NULL);
fp=fopen("inlpoints.txt","r");
if(fp==NULL)
{
printf("ERROR IN READING FILE !");
getch();
exit(0);
}
fscanf(fp,"%d",&x0);
fscanf(fp,"%d",&y0);
fscanf(fp,"%d",&x1);
fscanf(fp,"%d",&y1);
fclose(fp);
midLine(x0,y0,x1,y1);
fp=fopen("outlpoints.txt","w");
fprintf(fp,"%s","Plotted points are:-\n");
count=i;
np=0;
for(i=0;i<count;i+=2)
{
fprintf(fp,"(%d, %d) ",points[i],points[i+1]);
np++;
if(np==5) { fprintf(fp,"\n"); np=0; }
}
fclose(fp);
getch();
closegraph();
return(0);
}
Output:
nn@linuxmint ~ $ g++ lab2.cpp -lgraph nn@linuxmint ~ $ ./a.out
"inlpoints.txt"
22 22 72 40
"outlpoints.txt"
Plotted points are:- (22, 22) (23, 22) (24, 23) (25, 23) (26, 23) (27, 24) (28, 24) (29, 25) (30, 25) (31, 25) (32, 26) (33, 26) (34, 26) (35, 27) (36, 27) (37, 27) (38, 28) (39, 28) (40, 28) (41, 29) (42, 29) (43, 30) (44, 30) (45, 30) (46, 31) (47, 31) (48, 31) (49, 32) (50, 32) (51, 32) (52, 33) (53, 33) (54, 34) (55, 34) (56, 34) (57, 35) (58, 35) (59, 35) (60, 36) (61, 36) (62, 36) (63, 37) (64, 37) (65, 37) (66, 38) (67, 38) (68, 39) (69, 39) (70, 39) (71, 40) (72, 40)






This is quite educational arrange. It has famous breeding about what I rarity to vouch.
ReplyDeleteColossal proverb. This trumpet is a famous tone to nab to troths. Congratulations on a career well achieved.
This arrange is synchronous s informative impolite festivity to pity. I appreciated what you ok extremely here.
Selenium interview questions and answers
Selenium Online training
Selenium training in Pune
selenium training in USA
selenium training in chennai
I am come here first time, i find the perfect article. Thanks for posting interesting and informative post. There are so many fun and exciting things to do and experience around the world that I thought I'd put together a list of my favourite Things to do for all travelers ...
ReplyDelete