Make your own free website on Tripod.com

AlGoRiTmO DDA AnaLiZaDoR DiFeReNCiAl DiGiTaL)

 

El codigo de este algoritmo es el siguiente :

 

using System;

using System.Drawing;

using System.Windows.Forms;

 

class Pintar:Form

{

         public static void Main()

         {

                   Application.Run(new Pintar());

         }

         public Pintar()

         {

                   Text="PrAcTiCa 1 LiNeaS";

                   BackColor=SystemColors.Window;

                   ForeColor=SystemColors.WindowText;

                   ResizeRedraw=true;

         }

         protected override void OnPaint(PaintEventArgs objeto)

         {

                   Graphics grfx=objeto.Graphics;

                   Pen pen=new Pen(ForeColor);

                   grfx.DrawLine(pen,0,0,100,120);

          grfx.DrawLine(pen,50,20,51,21);

                   grfx.DrawLine(pen,50,20,52,22);

                   grfx.DrawLine(pen,50,20,53,23);

                   grfx.DrawLine(pen,50,20,54,24);

                   grfx.DrawLine(pen,50,20,55,25);

 

         }

         public static void lineaDDA(int xa,int ya,int xb, int yb)

         {

                   int dx,dy,stops,k;

                   float xincrement,yincrement,x,y;

                   dx=xb-xa;

                   dy=yb-ya;

                   if(Math.Abs(dx)>Math.Abs(dy))

                            stops=Math.Abs(dx);

                   else

                            stops=Math.Abs(dy);

                   xincrement=dx/stops;

                   yincrement=dy/stops;

                   x=xa;

                   y=ya;

                   grfx.DrawLine(pen,x,y,x+xincrement,y+yincrement);

                   for(k=1;k<=stops;k++)

                   {

                            x=x+xincrement;

                            y=y+yincrement;

                            grfx.DrawLine(pen,x,y,x+xincrement,y+yincrement);

                   }

         }

}

 

El Algoritmo DDA es un algoritmo de línea de conversión de rastreo que se basa en el cálculo ya sea en el incremento de X o en el incremento de Y. La finalidad de este algoritmo es determinar los valores enteros correspondientes más próximos a la trayectoria de la línea para la otra coordenada.