Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<conio.h>
- #include<graphics.h>
- #include<math.h>
- void main()
- {
- int x1,y1,x2,y2,gd,gm,dx,dy;
- float p0,p1,xinc,yinc;
- detectgraph(&gd,&gm);
- initgraph(&gd,&gm,"c:\\tc\\bgi");
- printf("enter the coordinates");
- scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
- putpixel(x1,y1,WHITE);
- dx = x2-x1;
- dy = y2-y1;
- while(x1!=x2&&y1!=y2)
- {
- if(abs(dx)>=abs(dy))
- {
- p0 = 2*abs(dy)-abs(dx);
- p1=p0;
- if(p1<0)
- {
- xinc = dx/abs(dx);
- yinc = 0;
- p1=p0+2*abs(dy);
- }
- else
- {
- xinc=dx/abs(dx);
- yinc=dy/abs(dy);
- p1=p0+2*abs(dy)-2*abs(dx);
- }
- }
- if(abs(dy)>abs(dx))
- {
- p0=2*abs(dx)-abs(dy);
- p1=p0;
- if(p1<0)
- {
- xinc=dx/abs(dx);
- yinc=0;
- p1=2*abs(dx);
- }
- else if(p1>0)
- {
- xinc=dx/abs(dx);
- yinc=dy/abs(dy);
- p1=p0+2*abs(dx)-2*abs(dy);
- }
- }
- x1=(int)(x1+xinc+0.5);
- y1=(int)(y1+yinc+0.5);
- putpixel(x1,y1,WHITE);
- putpixel(x1,y1+1,WHITE);
- putpixel(x1,y1-1,WHITE);
- putpixel(x1,y1+2,WHITE);
- putpixel(x1,y1-2,WHITE);
- }
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement