Está en la página 1de 3

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 lnea de conversin de rastreo que se basa en el clculo ya sea en el incremento de X o en el incremento de Y. La finalidad de este algoritmo es determinar los valores enteros correspondientes ms prximos a la trayectoria de la lnea para la otra coordenada.

También podría gustarte