Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
#include<windows.h>
/*Otras librerias necesarias*/
#include<math.h>
#include<iostream>
/*Libreria del OpenGL*/
#include<GL/glut.h>
/*Dibujar malla
para que el pixel se vea pintado dentro del cuadro
aumentamos 0.5 unidades desde el inicio del recorrido
tanto para x como para y
asi sucesivamente probar hasta que coincida
incluso usar la malla en 3d
*/
glColor3f(0.0,1.0,0.0);/*Color verde*/
glPointSize(1);
glBegin(GL_LINES);
glVertex3f(i,40,1);
glVertex3f(i,-40,1);
glVertex3f(40,i,1);
glVertex3f(-40,i,1);
glEnd();
}
/*Dibujar eje de coordenadas*/
glColor3f(0.0,0.0,1.0);/*Color azul*/
glEnd();
/*Algoritmo DDA*/
/*
en el caso de que varia mas en x, entonces res queda con su valor absoluto
si y varia mas, entonces res queda con el valor absoluto de y
ahora los aumentos(ax y ay)
*/
ax=(xf-x0)/res;
ay=(yf-y0)/res;
i=0;
x=(float)x0;
y=(float)y0;
/*se realiza el casteo para pasar a float los valores, ya que se necesita su
resultado en decimales*/
while(i<=res)
{
setPixel(roundf(x),roundf(y));
cout<<roundf(x)<<" , "<<roundf(y)<<endl;
x=x+ax;
y=y+ay;
i++;
}
}
/*Declaramos variables*/
GLint
x0=-10,
y0=-5,
xf=5,
yf=35;
iniciarProyecion();
/*Llamamos la funci�n a dibujar*/
glutDisplayFunc(draw);
/*Constante redibujado*/
glutMainLoop();