Advertisement
MHSS

DDA

May 1st, 2015
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.08 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<graphics.h>
  4. #include<dos.h>
  5. int xround(float m){
  6.     int p=int(m);
  7.     if(m-p>=0.5)
  8.     return p+1;
  9.     else
  10.     return p;
  11. }
  12. void dda(int x1,int y1,int x2,int y2,int color){
  13.     int i,dx=x2-x1,dy=y2-y1;
  14.     float steps;
  15.     if(dx>dy)
  16.     steps=dx;
  17.     else
  18.     steps=dy;
  19.     float xinc=float(dx)/steps;
  20.     float x=x1;
  21.     float y=y1;
  22.     float yinc=float(dy)/steps;
  23.     putpixel(xround(x),xround(y),color);
  24.     for(i=0 ; i<steps ; i++){
  25.         x=x+xinc;
  26.         y=y+yinc;
  27.         putpixel(xround(x),xround(y),color);
  28.     }
  29. }
  30. void main(){
  31.     clrscr();
  32.     int x1,x2,y1,y2;
  33.     int gd=DETECT, gm;
  34.     initgraph(&gd,&gm,"c:\\tC\\bgi");
  35.     dda(50,100,100,50,WHITE);
  36.     dda(100,50,300,50,WHITE);
  37.     dda(100,50,150,100,WHITE);
  38.     dda(300,50,350,100,WHITE);
  39.     dda(150,100,350,100,WHITE);
  40.     dda(50,100,50,250,WHITE);
  41.     dda(150,100,150,250,WHITE);
  42.     dda(350,100,350,250,WHITE);
  43.     dda(50,250,350,250,WHITE);
  44.     dda(75,150,125,150,WHITE);
  45.     dda(75,150,75,250,WHITE);
  46.     dda(125,150,125,250,WHITE);
  47.     dda(200,150,300,150,WHITE);
  48.     dda(200,150,200,200,WHITE);
  49.     dda(200,200,300,200,WHITE);
  50.     dda(300,150,300,200,WHITE);
  51.     getch();
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement