JUAN CARLOS PACHON RODRIGUEZ YENNIFER CARDENAS REYES ALGORITMOS BÁSICOS DE DIBUJO EN 2 DIMENSIONES
Que es un algoritmo Conjunto 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.
Que es un algoritmo básico Son algoritmos que ayudan a crear graficas primitivas como líneas, circunferencias y arcos. Que es un dibujo en una dimensión Un dibujo con una dimensión tendrá solo lo largo.
Que es un dibujo en dos y tres dimensiones Un 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)
Que es una recta Una sucesión infinita de puntos, situados en una misma dirección. Una recta tiene una sola dimensión: la longitud.
Que es una circunferencia Se llama circunferencia al lugar geométrico de los puntos del plano que equidistan de un punto fijo llamado centro.
Que es un polígono Un polígono es una figura geométrica formada por segmentos consecutivos no alineados, llamados lados.
Cambio de escala Supongamos 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.
Cambio de escala
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. Algoritmos básicos
Escoger un método de discretización para una primitiva gráfica. permitan evaluar y comparar las ventajas y desventajas de las distintas alternativas. Especificaciones de una discreción
Apariencia: tenga una “apariencia recta” más allá de que se hallan escogido los pixeles matemáticamente más adecuados. Especificaciones de una discreción
Simetría e invariancia geométrica Es la discretización de un segmento no debe variar si dicho segmento se traslada a otra localización en el espacio, o si es rotado, etc. Especificaciones de una discreción
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. Especificaciones de una discreción
Dada una primitiva gráfica a discretizar, debemos encontrar los pixeles que la representen de la manera más correcta posible. Para ello, lo más adecuado es caracterizar matemáticamente a dicha primitiva . Métodos de discretizaci ó n
Evaluar su ecuación diferencial a diferencias finitas: Este método, denominado DDA (discrete diference analyzer) consiste en plantear la ecuación diferencial de la primitiva a discretizar, y luego evaluar dicha expresión a intervalos adecuados. Métodos de discretizaci ó n
Análisis del error: Estos métodos fueron desarrollados por Bressenham y se basan 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. Métodos de discretizaci ó n
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. Segmentos de recta
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 ). Segmentos de recta
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. Segmentos de recta DDA
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 que corresponde a su discretización. Segmentos de recta DDA
Segmentos de recta DDA
La ejecución del algoritmo daría como resultado algo similar a lo mostrado en la Figura Segmentos de recta DDA
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. Segmentos de recta DDA
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. Segmentos de Bressenham
Es conveniente efectuar la llamada al algoritmo luego de discretizar los extremos. Esto significa que (x0;y0) y (x1; y1 ),y por lo tanto Dx y Dy son enteros. Segmentos de Bressenham
Luego, si p es un pixel que pertenece a la discretización del segmento, entonces en las condiciones particulares mencionadas, el próximo pixel solamente puede ser el ubicado 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 Segmentos de Bressenham
Segmentos de Bressenham
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 el error pasa a ser m - 1 (ver Figura). Segmentos de Bressenham
Segmentos de Bressenham
En general, si en p el error es e, la actualización del error es: Paso a E : e = e + m Paso a D : e = e + m –1 Por lo tanto, la elección del paso E o D depende de que el valor absoluto de e+m sea o no menor que el valor absoluto de e+m-1. Expresado de otra manera, sea e el error en un determinado pixel. Segmentos de Bressenham
Segmentos de Bressenham
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) Segmentos de Bressenham
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. Discretización de circunferencias
Para poder realizar el dibujo de la circunferencia usaremos las ecuaciones de la circunferencia en coordenadas polares que son: x = r * cosq y = r * senq Discretización de circunferencias
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í: Discretización de circunferencias
Discretización de circunferencias
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: Discretización de circunferencias
Discretización de circunferencias
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, Dibujo de polígonos
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. Dibujo de polígonos irregulares
Dibujo de polígonos irregulares
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 Dibujo de polígonos regulares