graficacion
Es una señal circular y al unir varios de estos nos
forma una línea.
Línea:
Trazo largo y continuo en una sola dirección.
Algoritmo DDA
(AnalizadorDiferencial Digital)
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.
Su función es determinar losvalores más próximos
a la otra coordenada.
es un algoritmo preciso
sirve para trazar una línea entre dos puntos.
Utiliza cálculos solo con enteros
Los ejes verticales muestran las posiciones de rastreo y
los ejes horizontales los pixeles.
public void Bresenham(Graphics g,int x0, int y0, int x1, int y1)
{ intx, y, dx, dy, p, incE, incNE, stepx, stepy;
dx = (x1 - x0);
dy = (y1 - y0);
EN QUE PUNTO VA A EMPEZAR, CUAL PARA TERMINAR
if (dy < 0) {
dy = -dy; stepy = -1;
}
elsestepy = 1;
if (dx < 0) {
dx = -dx; stepx = -1;
}
else
stepx = 1;
x = x0;
y = y0;
g.drawLine( x0, y0, x0, y0);
INICIALIZAN LAS VARIABLES
se cicla hasta llegar alextremo de la línea
if(dx>dy){
p = 2*dy - dx;
incE = 2*dy;
incNE = 2*(dy-dx);
while (x != x1){
x = x + stepx;
if (p < 0){
p = p + incE;
}
else {
y = y + stepy;
p= p + incNE;
}
g.drawLine( x, y, x, y);
}
}
else{
p = 2*dx - dy;
incE = 2*dx;
incNE = 2*(dx-dy);
while (y != y1){
y = y + stepy;
if (p < 0){
p = p + incE;
}else {
x = x + stepx;
p = p + incNE;
}
g.drawLine( x, y, x, y);
}}}
El dda :
• código es más corto
• más lento por las operaciones que usa.
Bresenham:
•
sólousa sumas
• Es muy rápido y eficiente
es una mejora del algoritmo de Bresenham, se basa en
dibujar parejas de pixeles a lo largo del trazado de la
recta.
Regístrate para leer el documento completo.