#include<windows.h> #include<bits/stdc++.h> #include<GL/glut.h> using namespace std; double x1,x2,y11,y2; void display(void) { double dy,dx,step,x,y,k,Xin,Yin; dx=x2-x1; dy=y2-y11; x= x1; y=y11; if(abs(dx)> abs(dy)) { step = abs(dx); } else step = abs(dy); Xin = dx/step; Yin = dy/step; glBegin(GL_POINTS); glVertex2i(x,y); glEnd(); for (k=1 ;k<=step;k++) { x= x + Xin; y= y + Yin; x = round(x); y = round(y); glBegin(GL_POINTS); glVertex2i(x,y); glEnd(); } glFlush(); } void init(void) { glClearColor(0.7,0.7,0.7,0.7); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluOrtho2D(-100,100,-100,100); } int main(int argc, char** argv) { cout << "Enter the value of (x1,y1) : "; cin >> x1 >> y11; cout << "Enter the value of (x2,y2) : "; cin >> x2 >> y2; glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize (500, 500); glutInitWindowPosition (100,100); glutCreateWindow ("DDA Line Algo"); init(); glutDisplayFunc(display); glutMainLoop(); return 0; }