martes, 10 de abril de 2007

Tarea 5

Algoritmo de Bresenham desarrollado en pseudocódigo para la recta con las modificaciones necesarias (m<1).>

Void rectaBresenham(int x0, y0, x1,y1)
{
//Declaracion de Variables a utilizar
int dx= x1 – x0;
int dy= y1 – y0;
int x=x0 ;
int y= y0;
//definicion del error inicial
int d0=2*dy-dx;
//definicion del error al moverse hacia el este
int de= 2* dy;
//definicion del error al moverse hcia el noreste
int dne = 2*(dy –dx);
int d=d0 ;
int m=(dy/dx)+1 ;

//ciclo de análisis para la locación de la recta
while(x!=x1)
{
if (d<=0){
if (m<-1){
punto(x,y);
x=x-m;
d= d + de;
else{
punto(x,y);
x=x+m;
d= d + de;
}

else{

if (m<-1){
punto(x,y);
x=x-m;
y=y+m;
d= d + dne;
}
else
{
punto(x,y);
x=x+m;
y=y+m;
d= d + dne;
}
}

Fuente de Consulta:
http://en.wikipedia.org/wiki/Bresenham

No hay comentarios.: