C++ Programming Blog

 
 
 
 # include <iostream.h>
 # include <graphics.h>
 # include    <conio.h>
 # include     <math.h>

 void show_screen( );

 void dda_line(const int,const int,const int,const int);


 int main( )
    {
       int driver=VGA;
       int mode=VGAHI;

       int x_1=0;
       int y_1=0;

       int x_2=0;
       int y_2=0;

       do
      {
         show_screen( );

         gotoxy(8,10);
         cout<<\"Coordinates of Point-I (x1,y1) :\";

         gotoxy(8,11);
         cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

         gotoxy(12,13);
         cout<<\"Enter the value of x1 = \";
         cin>>x_1;

         gotoxy(12,14);
         cout<<\"Enter the value of y1 = \";
         cin>>y_1;

         gotoxy(8,18);
         cout<<\"Coordinates of Point-II (x2,y2) :\";

         gotoxy(8,19);
         cout<<\"ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ\";

         gotoxy(12,21);
         cout<<\"Enter the value of x2 = \";
         cin>>x_2;

         gotoxy(12,22);
         cout<<\"Enter the value of y2 = \";
         cin>>y_2;

         initgraph(&driver,&mode,\"..\\\\Bgi\");

         setcolor(15);
           dda_line(x_1,y_1,x_2,y_2);

         setcolor(15);
           outtextxy(110,460,\"Press <Enter> to continue or any other key to exit.\");

         int key=int(getch( ));

         if(key!=13)
        break;
      }
       while(1);

       return 0;
    }



 //-----------------------------  dda_line( )  ---------------------------//


 void dda_line(const int x_1,const int y_1,const int x_2,const int y_2)
    {
       int color=getcolor( );

       int x1=x_1;
       int y1=y_1;

       int x2=x_2;
       int y2=y_2;

       if(x_1>x_2)
      {
         x1=x_2;
         y1=y_2;

         x2=x_1;
         y2=y_1;
      }

       float dx=(x2-x1);
       float dy=(y2-y1);

       int steps=abs(dy);

       if(abs(dx)>abs(dy))
      steps=abs(dx);

       float x_inc=(dx/(float)steps);
       float y_inc=(dy/(float)steps);

       float x=x1;
       float y=y1;

       putpixel(x,y,color);

       for(int count=1;count<=steps;count++)
      {
         x+=x_inc;
         y+=y_inc;

         putpixel((int)(x+0.5),(int)(y+0.5),color);
      }
    }


 //--------------------------  show_screen( )  ---------------------------//


 void show_screen( )
    {
       restorecrtmode( );
       textmode(C4350);

       cprintf(\"\\n********************************************************************************\");
       cprintf(\"******************-                                           -*****************\");
       cprintf(\"*------------------ \");

       textbackground(1);
       cprintf(\" Digital Differential Analyzer Algorithm \");
       textbackground(8);

       cprintf(\" -----------------*\");
       cprintf(\"*-****************-                                           -***************-*\");
       cprintf(\"*-****************************************************************************-*\");

       for(int count=0;count<42;count++)
      cprintf(\"*-*                                                                          *-*\");

       gotoxy(1,46);
       cprintf(\"*-****************************************************************************-*\");
       cprintf(\"*------------------------------------------------------------------------------*\");
       cprintf(\"********************************************************************************\");

       gotoxy(1,2);
    }

    Related Post:
  1. Program to convert a Postfix Expression into an Infix Expression

  2. Program to print, read and calculate sum, smallest, largest element an array using pointers

  3. Program that reads marks obtained by a student in a test of 100 marks and print pass if marks are greater than or equal to 50

  4. Program to read a Non-Linear equation in one variable, then evaluate it using False-Position Method and display its kD accurate root

  5. Program to illustrate the use of call-by-refrence method using pointers

  6. Program of polyline translation.

  7. Program to draw an Elliptical Arc using Trigonometric Method

  8. Program to show the implementation of Hashing with Insert, Delete and search functionality using double-ended Linked List

  9. Program to illustrate the operations that can be performed on pointers

  10. Program that provides an example of passing objects to function using call by reference method

  11. Program that provides an example of function returning object

  12. Program to implement the Prims Algorithm to solve Minimum Spanning Tree Problem (MST)

  13. Program that prints the first 10 integers(using for loop)

  14. Program to illustrate multiple inheritance

  15. Program to print a Single Ended Linked List in Original & Reverse order and sort it in Ascending & Decending Order

  16. Program to fill different types of geometric shapes using Flood Fill Algorithm

  17. Program of addition and subtraction of large numbers

  18. Program that prints odd numbers form 0 to 50 (Using for Loop)

  19. Program to show the use of Bitwise Operator XOR ( ^ )

  20. Program to illustrate the implementation of Reflection Transformation about x-axix, y-axis and w.r.t origin

 
 
Didn't find what you were looking for? Find more on Program to draw a line using Digital Differential Analyzer (DDA) Algorithm