Hola,
Este es el algoritmo de Bresenham desarrollado en pseudocódigo para la recta, notese que ha sido modificado para las pendientes especificadas. Se deben considerar además del traslado hacia el este y noreste, el traslado hacia el norte.
Fuente de Consulta http://en.wikipedia.org/wiki/Bresenham
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;
}
}
martes, 10 de abril de 2007
Suscribirse a:
Comentarios de la entrada (Atom)

No hay comentarios.:
Publicar un comentario