Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Algoritmos basicos de dibujo en 2 d

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 46 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a Algoritmos basicos de dibujo en 2 d (20)

Anuncio

Más reciente (20)

Algoritmos basicos de dibujo en 2 d

  1. 1. ALGORITMOS BÁSICOS DE DIBUJO<br /> EN 2 DIMENSIONES<br />JUAN CARLOS PACHON RODRIGUEZ<br />YENNIFER CARDENAS REYES<br />
  2. 2. Que es un algoritmoConjunto ordenado y finito de pasos que permite hallar la solución de un problema.Una secuencia de pasos que conducen a la realización de una tarea.<br />
  3. 3. Que es un algoritmo básicoSon algoritmos que ayudan a crear graficas primitivas comolíneas, circunferencias y arcos.Que es un dibujo en una dimensiónUn dibujo con una dimensión tendrá solo lo largo.<br />
  4. 4. Que es un dibujo en dos y tres dimensionesUn dibujo en dos dimensiones, tiene el largo y el ancho. Por ejemplo un cuadrado, rectángulo, círculo. (figuras geométricas)Y un dibujo en tres dimensiones mostrará largo, ancho y profundidad. Por ejemplo una esfera, un cubo, una pirámide. (Cuerpos geométricos)<br />
  5. 5. Que es una rectaUna sucesión infinita de puntos, situados en una misma dirección. Una recta tiene una sola dimensión: la longitud. <br />
  6. 6. Que es una circunferenciaSe llama circunferencia al lugar geométrico de los puntos del plano que equidistan de un punto fijo llamado centro.<br />
  7. 7. Que es un polígonoUn polígono es una figura geométrica formada por segmentos consecutivos no alineados, llamados lados.<br />
  8. 8.
  9. 9. Cambio de escalaSupongamos que se nos pide el dibujo de un objeto que mide 1,00 X 2,00 metros.Evidentemente, el tamaño a que ejecutaremos el dibujo no ha de ser el real, pues resultaría demasiado grande, por lo tanto será necesario reducirlo proporcionalmente.<br />
  10. 10. Cambio de escala <br />
  11. 11. Puntos: Se especifican a partir de su localización y color. Segmentos de recta: especifican a partir de un par de puntos que representan sus extremos.<br />Algoritmosbásicos<br />
  12. 12. Escoger un método de discretización para una primitiva gráfica.permitan evaluar y comparar las ventajas y desventajas de las distintas alternativas.<br />Especificaciones de<br /> una discreción<br />
  13. 13. Apariencia: tenga una “apariencia recta” más allá de que se hallan escogido los pixeles matemáticamente más adecuados.<br />Especificaciones de<br /> una discreción<br />
  14. 14. Simetría e invariancia geométrica Es la discretización de un segmento no debe variar si dicho segmento setraslada a otra localización en el espacio, o si es rotado, etc.<br />Especificaciones de<br /> una discreción<br />
  15. 15. Simplicidad y velocidad de cómputo: Son métodos que tienden a no depender de estructuras complejas y a ser directamente implementables en hardware específico de baja complejidad. <br />Especificaciones de<br /> una discreción<br />
  16. 16. Dada una primitiva gráfica a discretizar, debemos encontrar los pixeles que larepresenten de la manera más correcta posible. Para ello, lo más adecuado escaracterizar matemáticamente a dicha primitiva.<br />Métodos de discretización<br />
  17. 17. Evaluar su ecuación diferencial a diferencias finitas: Este método,denominado DDA (discrete diference analyzer) consiste en plantear la ecuacióndiferencial de la primitiva a discretizar, y luego evaluar dicha expresión a intervalosadecuados. <br />Métodos de discretización<br />
  18. 18. Análisis del error: Estos métodos fueron desarrollados por Bressenham y sebasan en analizar, dado un pixel que pertenece a la discretización de la primitiva, cuál es el próximo pixel que minimiza una determinada expresión que evalúa el error que comete la discretización.<br />Métodos de discretización<br />
  19. 19. El análisis de los métodos de discretización de rectas parte de considerar el comportamiento esperado en determinados casos particulares. Dichos casos surgen de suposiciones específicas que simplifican el problema.<br />Segmentos de recta<br />
  20. 20. La Figura, donde el origen es el pixel que corresponde a la discretización del punto(x0;y0) y la zona sombreada a los lugares donde puede ubicarse el punto (x1;y1 ).<br />Segmentos de recta<br />
  21. 21. El método busca encontrar una secuencia de n + 1 puntos tales que (x0;y0) =(x0;y0); (x1;y1 ); … (xn;yn) = (x1;y1 ). La discretización de cada uno de ellos son los pixeles de la discretización del segmento. <br />Segmentos de recta DDA<br />
  22. 22. E Determina la “frecuencia” de muestreo del segmento. Observese que los puntos extremos (x0; y0) a (x1;y1 ) son en efecto puntos y por lo tanto están ubicados en cualquier lugar dentro del pixel quecorresponde a su discretización. <br />Segmentos de recta DDA<br />
  23. 23. Segmentos de recta DDA<br />
  24. 24. La ejecución del algoritmo daría como resultado algo similar a lo mostrado en la Figura<br />Segmentos de recta DDA<br />
  25. 25. Desventajas de DDA• Requiere aritmética de punto flotante (valores reales), la que es más lenta y costosa.• Es inapropiado para implementar por hardware (aritmética real).• El redondeo es una operación real adicional.• Las líneas largas pueden verse afectadas por el error de redondeo.<br />Segmentos de recta DDA<br />
  26. 26. Son algoritmos que consiste en que todas las operaciones se realizan en aritmética entera por medio de operaciones sencillas, y por lo tanto, su ejecución es más rápida y económica, y es de fácil implementación con hardware específico. <br />Segmentos de Bressenham<br />
  27. 27. Es conveniente efectuar la llamada al algoritmo luego de discretizar losextremos. Esto significa que (x0;y0) y (x1; y1 ),y por lo tanto Dx y Dy son enteros. <br />Segmentos de Bressenham<br />
  28. 28. Luego, si p es un pixel que pertenece a ladiscretización del segmento, entonces enlas condiciones particulares mencionadas,el próximo pixel solamente puede ser elubicado a la derecha (E o “hacia el este”),o el ubicado en diagonal hacia la derecha y hacia abajo (D o “en diagonal”) como semuestra en la Figura <br />Segmentos de Bressenham<br />
  29. 29. Segmentos de Bressenham<br />
  30. 30. La decisión de ir hacia el paso E o D se toma en función del error que se comete en cada caso. En este algoritmo se considera que el error es la distancia entre el centro del pixel elegido y el segmento de recta, medida en dirección del eje Y positivo del espacio de pantalla (es decir, hacia abajo). Si el error en p fuese cero, entonces al ir hacia E el error pasa a ser m (la pendiente del segmento), y en D elerror pasa a ser m - 1 (ver Figura).<br />Segmentos de Bressenham<br />
  31. 31. Segmentos de Bressenham<br />
  32. 32. En general, si en p el error es e, la actualización del error es:Paso a E : e = e + mPaso a D : e = e + m –1Por lo tanto, la elección del paso E o D depende de que el valor absoluto de e+msea o no menor que el valor absoluto de e+m-1. Expresado de otra manera, sea e el error en un determinado pixel. <br />Segmentos de Bressenham<br />
  33. 33. Segmentos de Bressenham<br />
  34. 34. Si e +m> 0.5 entonces el segmento de recta pasa más cerca del pixel D, y si no, pasa más cerca del pixel E (ver Figura anterior)<br />Segmentos de Bressenham<br />
  35. 35.  Como en el caso de los segmentos de recta, en la discretización de circunferencias o círculos es posible trabajar un sólo segmento de la circunferencia y se obtienen las demás por simetría. Igualmente se dispone de algoritmos DDA y de Bressenham para el dibujo de circunferencias.<br />Discretización de <br />circunferencias <br />
  36. 36. Para poder realizar el dibujo de la circunferencia usaremos las ecuaciones de la circunferencia en coordenadas polares que son:x = r * cosqy = r *senq<br />Discretización de <br />circunferencias <br />
  37. 37. Estas ecuaciones serán las que ocuparemos para calcular cada punto (x,y) del círculo, donde el r será obviamente el radio de círculo y q será el ángulo que forma el radio con la parte positiva del eje x. En forma gráfica sería así:<br />Discretización de <br />circunferencias <br />
  38. 38. Discretización de <br />circunferencias <br />
  39. 39. El ángulo deberá estar en radianes ya que las funciones de seno y coseno que incluye Java, trabajan con los ángulos en radianes. La fórmula para transformar grados a radianes es la siguiente:<br />Discretización de <br />circunferencias <br />
  40. 40. Discretización de <br />circunferencias <br />
  41. 41. Se considera un polígono una figura cerrada, formada a partir de varias líneas. Para la discretización de polígonos se considerarán 2 tipos de polígonos: los irregulares y los regulares,<br />Dibujo de polígonos<br />
  42. 42. La graficación de polígonos irregulares se realiza a partir de un conjunto de puntos que se unen secuencialmente, el polígono se cierra al unir el primer y último puntos.<br />Dibujo de polígonos<br />irregulares<br />
  43. 43. Dibujo de polígonos<br />irregulares<br />
  44. 44. Un polígono regular se compone de aristas/lados de igual longitud. Esto implica que el ángulo entre cada arista contigua es el mismo.Podemos usar la siguiente fórmula: a= 2 / N, donde a es el ángulo, y N es la cantidad de lados<br />Dibujo de polígonos<br />regulares<br />
  45. 45. Dibujo de polígonos<br />regulares<br />
  46. 46. Gracias<br />

×