Thursday, June 21, 2018

Bresenham's algorithm



  1. #include<iostream.h>
  2. #include<conio.h>
  3. #include<graphics.h>
  4. #include<math.h>
  5. #include<dos.h>

  6. void main()
  7. {
  8. clrscr();
  9. int gm,gd;
  10. int x1,y1,x2,y2,i; 
  11. float x,y,dx,dy,len,e;
  12. detectgraph(&gd,&gm); 
  13. initgraph(&gd,&gm,"c:\\tc\\bgi"); 
  14. //textbackground(15);
  15. //textcolor(8);
  16. //setbkcolor(15);
  17.           //setcolor(8);
  18.                        
  19.                        cout<<"Enter starting pixels for point (x1,y1): "; cin>>x1>>y1;
  20. cout<<"\nEnter ending pixels for point (x2,y2): "; cin>>x2>>y2;
  21. line(0,getmaxy()/2,getmaxx(),getmaxy()/2); line(getmaxx()/2,0,getmaxx()/2,getmaxy());dx=abs(x2-x1);
  22. dy=abs(y2-y1);
  23. x=x1; 
  24. y=y1; 
  25. e=2*dy-dx;
  26.                     for(i=1;i<=dx;i++)
  27. {
  28. putpixel(getmaxx()/2+x,getmaxy()/2-y,8); while(e>=0)
  29. {
  30. y++;
  31. e-=2*dx; 
  32. delay(20)
  33. }
  34. x++;
  35. e+=2*dy;
  36. }
  37. getch();
  38. }



No comments:

Post a Comment