Sie sind auf Seite 1von 3

MTODOS DE DISCRETIZACIN

Los principales mtodos para graficar las primitivas bsicas mediante la discretizacin:

Evaluar su ecuacin diferencial a diferencias finitas: Este mtodo, denominado DDA (discrete
diference analyzer) consiste en plantear la ecuacin diferencial de la primitiva a discretizar, y luego
evaluar dicha expresin a intervalos adecuados.

Anlisis del error: Estos mtodos fueron desarrollados por Bressenham y se basan en analizar,
dado un pixel que pertenece a la discretizacin de la primitiva, cul es el prximo pixel que
minimiza una determinada expresin que evala el error que comete la discretizacin.

SEGMENTO DE LA RECTA

El anlisis de los mtodos de discretizacin de rectas parte de considerar el comportamiento


esperado en determinados casos particulares. Dichos casos surgen de suposiciones especficas que
simplifican el problema, pero que al mismo tiempo se pueden generalizar a todos los dems casos
por medio de simetras. Dado un segmento de recta que va de (x0; y0) a (x1; y1), se supone que:

x = (x1 - x0) 0
y = (y1 - y0) 0, y
x y.

Esto equivale a trabajar en el octavo del espacio de pantalla sombreado en la

Figura 28, donde el origen es el pixel que corresponde a la discretizacin del punto (x0; y0) y la
zona sombreada a los lugares donde puede ubicarse el punto (x1; y1).

Segmento de la recta DDA

Como ya se mencion, los mtodos DDA evalan la ecuacin diferencial de la primitiva a intervalos
finitos. En el caso particular de los segmentos de recta, la ecuacin diferencial es:
El mtodo busca encontrar una secuencia de n + 1 puntos tales que (x0; y0) = (x0;y0); (x1;y1 );
(xn;yn) = (x1;y1 ). La discretizacin de cada uno de ellos son los pixeles de la discretizacin del
segmento. Esta propiedad, si bien es trivial, es de gran importancia porque determina que la
discretizacin de un segmento de recta es invariante frente a transformaciones afines. Esto
significa que es equivalente transformar los extremos del segmento y discretizar el segmento
transformado, o discretizar primero y transformar cada punto obtenido. Sin embargo, la primera
alternativa es mucho ms eficiente.

Discretizacin de circunferencias

En la discretizacin de circunferencias o crculos es posible trabajar un slo segmento de la


circunferencia y se obtienen las dems por simetra. Igualmente se dispone de algoritmos DDA y
de Bressenham para el dibujo de circunferencias.

Para poder realizar el dibujo de la circunferencia usaremos las ecuaciones de la


circunferencia en coordenadas polares que son:
x r * cos
y r *sen
Estas ecuaciones sern las que ocuparemos para calcular cada punto (x,y) del crculo, donde el r
ser obviamente el radio de crculo y q ser el ngulo que forma el radio con la parte positiva del
eje x. En forma grfica sera as:

La frmula para transformar grados a radianes es la siguiente:

Entonces para dibujar el crculo de un radio determinado, solamente tenemos que hacer un ciclo
desde 0 hasta 360, pero con incrementos pequeos, calcular cada punto con las ecuaciones en
coordenadas polares e ir dibujando cada punto. El ciclo en vez de ir de 0 a 360 (ngulos en grados)
ir de 0 a 6.28 (360*3.14/180=6.28) ya que el ngulo debe estar en radianes.

Dibujar el crculo punto a punto es una tarea un poco lenta, debido a que se debe calcular en cada
punto el seno y el coseno del ngulo, y estas funcionas son muy lentas. Para solucionar esto se
pueden crear tablas predefinidas o pre calculadas.

Discretizacin de polgonos

Se considera un polgono una figura cerrada, formada a partir de varias lneas. Para la
discretizacin de polgonos se considerarn 2 tipos de polgonos: los irregulares y los regulares.

Irregulares

La graficacin de polgonos irregulares se realiza a partir de un conjunto de puntos que se unen


secuencialmente, el polgono se cierra al unir el primer y ltimo puntos.

Cabe recordar que en Java, al igual que en C, el ndice de los vectores inicia en 0. Por tanto, la
primera lnea se dibuja desde el primer punto (ndice 0) hasta el segundo punto (ndice 1),
contina del segundo al tercero (ndice 2), y as sucesivamente, hasta dibujar la lnea del
penltimo punto (ndice N-2) hasta el ltimo punto del vector (ndice N-1). Al finalizar el ciclo,
dibuja la lnea de cierre del polgono entre el ltimo punto (ndice N-1) y el primero (ndice 0).

Regulares

Podemos usar la siguiente frmula:

a = 2 / N, donde a es el ngulo, y N es la cantidad de lados.

Crearemos polgonos regulares en base a una circunferencia que circunscribe nuestro polgono
regular. Esto implica, que el centro de la circunferencia coincide con el centro geomtrico de
cualquier polgono regular. Para esto, necesitamos usar algunas funciones trigonomtricas, junto
con el ngulo ya calculado. El paso principal es averiguar la coordenada del siguiente vrtice de
nuestro polgono.

Usaremos las siguientes frmulas:

x i = cx + r * cos( i*a )

y i = cy + r * sen( i*a )

Donde:

i = 0,1,2,...,N-1,

r es el radio de la circunferencia.

c = (cx, cy) es la coordenada del centro geomtrico de la circunferencia y del polgono.

Al agregar el centro a nuestra frmula, conseguimos mover el centro geomtrico del origen (0,0) al
que nosotros deseemos.

Das könnte Ihnen auch gefallen