viernes, 19 de septiembre de 2014

Trazo de lineas rectas

Linea Recta:

En geometría euclidiana, la recta o la línea recta, se extiende en una misma dirección, existe en una sola dimensión y contiene infinitos puntos; está compuesta de infinitos segmentos (el fragmento de línea más corto que une dos puntos). También se describe como la sucesión continua e indefinida de puntos en una sola dimensión, es decir, no posee principio ni fin.


Una línea recta, lo mismo que cualquier curva contenida totalmente en un plano está representada, en relación con un sistema de ejes cartesianos, por una función de dos variables, siempre y cuando dicha función sea capaz de expresar la condición común que satisfacen absolutamente todos y cada uno de los puntos que constituyen dicha línea. Un segmento de línea recta dentro de una escena está definido por las coordenadas de los dos extremos del segmento.

Para mostrar la línea en un monitor digital, el sistema gráfico debe primero proyectar las coordenadas de los extremos para obtener coordenadas de pantalla de valor entero y determinar las posiciones de píxel más próximas a lo largo de la línea que conecta los dos extremos. Entonces, se cargará en el búfer de imagen el color correspondiente a la línea en las coordenadas de píxel apropiadas, Al leer los datos del búfer de imagen, la controladora de vídeo dibujará los píxeles en pantalla. Este proceso lo que hace es digitalizar la línea para obtener un conjunto de posiciones enteras discretas que en general, únicamente sirve como aproximación del verdadero trayecto seguido por la línea.

Una posición de línea calculada como (10.48. 20.51), por ejemplo, se convierte a la posición de píxel (10, 21). Este redondeo de los valores de las coordenadas para obtener enteros hace que todas las líneas (excepto las horizontales y las verticales) se dibujen con una apariencia escalonada. La forma escalonada característica de las líneas digitalizadas es particularmente apreciable en los sistemas de baja resolución, pudiéndose mejorar un poco su apariencia si se utiliza un monitor de resolución más alta. Otras técnicas más efectivas para suavizar la línea digitalizada se basan en ajustar las intensidades de los píxeles a lo largo del trayecto de la línea.
Algoritmos de trazo de líneas:

Para determinar las posiciones de los píxeles a lo largo de un trayecto de línea recta se utilizan las propiedades geométricas de la línea. La ecuación punto-pendiente cartesiana para una línea recta es:

y = m * x + b

siendo m la pendiente de la línea y b el punto de intersección con el eje.
Algoritmo DDA:

El algoritmo de análisis diferencia digital (DDA, Digital Diflerential Analizar) es un algoritmo de digitalización de líneas basado en calcular Sy o Sx, Las líneas se muestrean a intervalos unitarios según una de las coordenadas y los correspondientes valores enteros más próximos al trayecto lineal se calculan para la otra coordenada.



Hace uso de las propias características del proceso de digitalización, aplicándose los incrementos apropiados en las direcciones x o y para pasar de una posición de píxel a la siguiente a lo largo de la línea. Sin embargo, la acumulación de errores de redondeo en las sucesivas sumas del incremento de coma flotante pueden hacer que las posiciones de píxel sufran cierta desviación con respecto al verdadero trayecto lineal, para segmentos lineales largos. Además, las operaciones de redondeo y la aritmética en coma flotante inherentes a este procedimiento siguen consumiendo mucho tiempo.
Algoritmo de Bresenham para trazar líneas

El algoritmo de Bresenham es un algoritmo creado para dibujar rectas en los dispositivos de gráficos rasterizados, como por ejemplo un monitor de ordenador, que determina qué pixeles se rellenarán, en función de la inclinación del ángulo de la recta a dibujar.

Es un algoritmo preciso para la generación de líneas de ratreo que convierte mediante rastreo las líneas al utilizar solo cálculos incrementales con enteros que se pueden adaptar para desplegar circunferencias y curvas. Los ejes verticales muestran las posiciones de rastreo y los ejes horizontales identifican columnas de pixel.

Conclución

Debido a que en una pantalla o un medio de salida óptico trabaja con pixeles, debemos convertir las medidas reales (cm, mm, etc.) a medida en pixeles esto es muy difícil porque no todas las pantallas tiene la misma resolución, es decir, que no todas tienen las misma cantidad de pixeles por pulgada. Muchas veces dependiendo de la resolución se puede observar que las líneas no están bien definidas (no son rectas completamente), sino que los pixeles que la forman son las más cercanas a donde debería de pasar la línea bien definida. Para resolver ese tipo de convenientes tenemos algoritmos que nos permiten generar líneas lo más definidas posibles.


Bibliografía

http://exordio.qfb.umich.mx/archivos%20pdf%20de%20trabajo%20umsnh/aphilosofia/Mate/linea%20recta.pdf
http://antares.itmorelia.edu.mx/~fmorales/graficacion/00%20Presentacion/LibroAzucenaV1.3.pdf

No hay comentarios.:

Publicar un comentario