• Martes 14 de Mayo de 2024, 12:02

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - jpnl87

Páginas: [1]
1
Visual C++ / Linea Bressenham
« en: Jueves 22 de Febrero de 2007, 21:31 »
Necesito una mano con el algoritmo para dibujar la linea bressenham en MFC para todos los casos ya que hasta ahora tengo el algoritmo para pendientes entre 0 y 1
necesito casos para pendientes entre 1 e infinito y menores a cero

void CLinea::DibujarBressenham(CClientDC *dc)
{
int dx, dy,dy2,dxy2,dyx2,x,y,p,endx,incy;
   dx=puntofinal.getx()-puntoinicial.getx(); // diferencial de x
   dy=puntofinal.gety()-puntoinicial.gety(); // diferencial de y
   dy2=2*dy;//cambio de float a int
   dyx2=2*(dy-dx);
   p=dy2-dx;

   if(puntoinicial.getx()<puntofinal.getx())
   {
      x=puntoinicial.getx();
      y=puntoinicial.gety();
      endx=puntofinal.getx();
   }
   else
   {
      x=puntofinal.getx();
      y=puntofinal.gety();
      endx=puntoinicial.getx();
   }
if(puntoinicial.gety()<puntofinal.gety())
   {
      incy=1;
      y+=incy;
   }
      else
   {
      incy=-1;
      
   }

   dc->SetPixel(x,y,RGB(0,0,0));

   while(x<=endx)
   {
      x=x+1;
      
      if(p<0)
      {
         p+=dy2;
      }
      else
      {
         p+=dyx2;
         y++;
         
      }
      if(dy<0)
      {
         y--;
      }
dc->SetPixel(x,y,RGB(0,0,0));
   }
}

2
Visual C++ / Ayuda Recorrido En Espiral De Una Matriz Cuadrada
« en: Domingo 28 de Enero de 2007, 20:50 »
No he podido hacer el codigo en visual c++ en el cual me lea una matriz cuadrada de enteros y que me imprima la matriz recorriendola en espiral empezando desde  [0,0] hacia la derecha como por ejemplo

1 2 7 3
4 2 2 1
3 2 5 6
8 9 7 6

y que imprima la espiral  1 2 7 3 1 6 6 7 9 8 3 4 2 2 5 2

Alguien sabe como hacerlo???

Páginas: [1]