La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Graficación II. Algoritmos.

Presentaciones similares


Presentación del tema: "Graficación II. Algoritmos."— Transcripción de la presentación:

1 Graficación II. Algoritmos

2 II. Algoritmos Al realizar el raster de modelos para producir imágenes, se irán asignando valores a los pixeles La operación básica es el establecimiento de un pixel, ya sea destacarlo o para eliminarlo Todas las operaciones se realizan sobre esta operación básica Veremos los algoritmos necesarios para dibujar formas básicas a partir de poner pixeles

3 El punto El concepto matemático de punto El pixel
una posición en una superficie bidimensional No tiene área Se especifica con 2 números reales (43.21,85.6) El pixel Tiene un tamaño mínimo, y guarda estrecha relación con la resolución del dispositivo Se especifica con 2 números enteros positivos (43,87) Establecimiento (o borrado) setPixel( x, y, valor ) Lectura int getPixel( x, y )

4 La línea No es tan simple como podría parecer
Matemáticamente, es una sucesión infinita de puntos y2 y1 x1 x2

5 Línea y = m * x + b m = y2-y1 x2-x1 b = y1 - m * x1 y2 y1 x1 x2

6 Línea, cualquier punto en el intervalo
Cualquier intervalo en y se calcula con el intervalo en x: ∆y = m ∆x Lo mismo en x: ∆x = ∆y / m y2 y1 x1 x2

7 Algoritmo de línea DDA Se hace el recorrido de la línea en un eje, para obtener los valores en el otro eje Si se toma el eje X, funciona bien mientras |m|<1 Si no, se hace el recorrido por el eje Y

8 Algoritmo de línea de Bresenham
Realiza sus cálculos utilizando sólo enteros Se aplica para pendiente |m|<1 Para un incremento en x, hay que decidir si se hace incremento en y, o no se hace.

9 Bresenham

10 Bresenham Se inicia desde x0,y0
Se pasa a la siguiente columna y se pone el pixel más próximo a la línea, para lo cual se requiere realizar una decisión

11 Bresenham

12 Bresenham y = m( xk + 1 ) + b d1 = y – yk = m( xk + 1 ) + b – yk
d2 = ( yk + 1 ) – y = yk + 1 – m( xk + 1 ) – b d1 – d2 = 2m( xk + 1 ) – 2yk + 2b -1

13 Bresenham pk = ∆x( d1-d2 ) = 2 ∆y * xk - 2∆x * yk + c
pk+1 = 2∆y * xk+1 - 2∆x * yk+1 + c pk+1 – pk = 2∆y(xk+1 – xk) -2∆x(yk+1-yk) pk+1 = pk + 2∆y-2∆x(yk+1-yk)

14 Bresenham Se capturan los dos extremos de la línea y se almacena el extremo izquierdo en (x0,y0) Se traza el primer pixel Se calculan las constantes ∆x, ∆y, 2 ∆y, 2 ∆y - 2 ∆x Se obtiene valor inicial p0 = 2 ∆y - ∆x Para cada xk, iniciando con k0 si pk<0 el siguiente punto: (xk+1,yk) pk+1 = pk + 2 ∆y si no el siguiente punto: (xk+1,yk+1) pk+1 = pk + 2 ∆y -2 ∆x

15

16

17

18

19

20


Descargar ppt "Graficación II. Algoritmos."

Presentaciones similares


Anuncios Google