Advertisement
MHSS

BresLine

May 1st, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<graphics.h>
  4. #include<math.h>
  5. int one(int p){
  6.     int p1;
  7.     if(p<0)
  8.     p1=-1;
  9.     else p1=1;
  10.     return p1;
  11. }
  12. void bres(int x1,int y1,int x2,int y2,int color){
  13.     int dx,i,dy,p,x,y,xend,yend;
  14.     int xinc=one(x2-x1);
  15.     int yinc=one(y2-y1);
  16.     dx=abs(x2-x1);
  17.     dy=abs(y2-y1);
  18.     x=x1; y=y1;
  19.     if(dx>dy){
  20.         p=2*dy-dx;
  21.         putpixel(x,y,color);
  22.         for(i=0;i<dx;i++){
  23.             x+=xinc;
  24.             if(p<0)
  25.             p=p+2*dy;
  26.             else{
  27.                 y+=yinc;
  28.                 p=p+2*(dy-dx);
  29.             }
  30.             putpixel(x,y,color);
  31.         }
  32.     }
  33.     else{
  34.         p=2*dx-dy;
  35.         putpixel(x,y,color);
  36.         for(i=0;i<dy;i++){
  37.             y+=yinc;
  38.             if(p<0)
  39.             p=p+2*dx;
  40.             else{
  41.                 x+=xinc;
  42.                 p=p+2*(dx-dy);
  43.             }
  44.             putpixel(x,y,color);
  45.         }
  46.     }
  47. }
  48. void main(){
  49.     int gd=DETECT,gm;
  50.     clrscr();
  51.     initgraph(&gd, &gm, "C:\\tc\\bgi");
  52.     bres(150,100,200,50,WHITE);
  53.     bres(150,100,200,150,WHITE);
  54.     bres(200,150,250,100,WHITE);
  55.     bres(250,100,200,50,WHITE);
  56.     bres(100,150,200,150,WHITE);
  57.     bres(100,150,50,200,WHITE);
  58.     bres(50,200,150,200,WHITE);
  59.     bres(150,200,200,150,WHITE);
  60.     bres(200,150,300,150,WHITE);
  61.     bres(200,150,250,200,WHITE);
  62.     bres(250,200,350,200,WHITE);
  63.     bres(350,200,300,150,WHITE);
  64.     getch();
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement