UNIDAD 1
TAREA 1
¿Qué es la Graficacion?La grafIcación por computadora es una de las áreas más importantes de las ciencias de la computación y su principal objetivo es establecer los principios, técnicas y algoritmos para la generación y manipulación de imágenes mediante una computadora.
Las imágenes pueden ser de distinta complejidad, en dos dimensiones hasta modelos tridimensionales donde se requiere producir imágenes de aspecto real.
Desde que las computadoras aparecieron se intentó producir imágenes que pudieran verse a través de la pantalla. Al paso del tiempo los componentes electrónicos y computadoras han ido mejorando, y se ha llegado a un punto, que de hoy en día podemos contar con una computadora por muy sencilla que sea con alguna herramienta gráfica.
Aplicaciones
Ò Análisis: topografía, espacio, movimiento actores,
medicina, huellas digitales, matrículas, robótica, fotografía, posicionamiento automático, etc.
Ò Síntesis : publicidad, cine, artes gráficas,
ingeniería, investigación científica, interfaces de máquinas, entrenamiento de
operadores (sistemas y vehículos)
Ò Áreas de diseño para optimizar la geometría.
Ò Visualización de micro-estructuras de moléculas
complejas.
Ò Diagnóstico médico apoyado fuertemente por las imágenes
tridimensionales que representan el interior del cuerpo humano.
Ò Los simuladores visuales avanzados crean los mundos
virtuales del realismo imponente y son utilizados por la industria del
entretenimiento.
Ò En el área de educación, se presentan nuevos métodos de
interacción basados en ambientes virtuales.
Historia
Ò En 1959
surgió el primer sistema de dibujo por computadora, la DAC-1 (Design Augmented
by Computers) Fue creado por General Motors e IBM. La DAC-1 permitía al usuario
describir un automóvil en 3D con la
capacidad de rotar y cambiar el ángulo
de la imagen.”
•
1960 - 1970. Ivan Suterland (Estudiante de MIT), creó un programa
que llamó Sketchpad, mediante el cual podía realizar trazos en la pantalla de
la computadora auxiliándose de una pluma de luz.
•
También
en 1961
otro estudiante del MIT, Steve Rusell creó el primer juego de video, llamado
guerra espacial. Escrito para la DEC PDP-1, la guerra espacial fue un éxito
inmediato.
Ò 1970 – 1980. Los
años 70 consideraron la introducción de los gráficos por computadora en el
mundo de la televisión. Computer Image Corporation (CIC), desarrolló sistemas
complejos de la dotación física y de software tales como ANIMAC, CANIMATE y
CAESAR.
Ò 1980
– 1990. Turner Whitted
publicó un artículo en el año 80 sobre un nuevo método de representación para
simular superficies altamente reflexivas. Conocido hoy como ray tracing.
Ò 1999 – 2000. En
1993, la película Jurassic Park revoluciona los efectos visuales, al crear
dinosaurios como nunca antes se habían visto, con la ayuda de las computadoras.
Ò 2000 - a la fecha
En la actualidad la mayoría de las
personas que trabajan con gráficos utilizan Computadoras de grandes
capacidades: discos duros de terabytes, tarjetas gráficas
aceleradoras de video con memoria en gigabytes,
mouse óptico y memoria RAM en el orden de los gigas. También son muy utilizadas
las computadoras Macintosh especialmente en lo relacionado a efectos especiales
y gráficos de animación.
Los procesadores ahora tienen núcleo doble que dota a
las aplicaciones de recursos que permiten hacerlas más sofisticadas.
Aunque las cámaras digitales aparecieron en los 1990s,
es hasta ahora que comienzan a popularizarse, existiendo una gran variedad en
cuanto a marcas, precios y características.
Los PDAs son ahora un cliente importante en cuanto
aplicaciones de software. Es ahora común el uso de agendas electrónicas, juegos
en los teléfonos celulares, llamadas de video, etc.
En general, el hardware y software utilizado en lo
que va de esta década es la popularización de tecnologías creadas anteriormente
pero que en el pasado no se habían difundido, eran costosas o no
estandarizadas.
BIBLIOGRAFIA
http://es.slideshare.net/rehoscript/introduccin-a-la-graficacin-por-computadora
http://graficacionheribertojesus.blogspot.mx/p/61-instalar-evaluar-los-principales.html
---------------------------------------------
TAREA 2
PROCESAMIENTO
DE IMÁGENES
EL PROCESAMIENTO de
imágenes tiene como objetivo mejorar el aspecto de las imágenes y hacer más
evidentes en ellas ciertos detalles que se desean hacer notar. La imagen puede
haber sido generada de muchas maneras, por ejemplo, fotográficamente, o
electrónicamente, por medio de monitores de televisión. El procesamiento de las
imágenes se puede en general hacer por medio de métodos ópticos, o bien por
medio de métodos digitales, en una computadora. En la siguiente sección
describiremos muy brevemente estos dos métodos, pero antes se hará una síntesis
brevísima de los principios matemáticos implícitos en ambos métodos, donde el teorema
de Fourier es el eje central.
Los principios del
procesamiento óptico de imágenes están bien establecidos desde el siglo pasado,
cuando se desarrolló la teoría de la difracción de la luz. Sin embargo, su
aplicación práctica data apenas del principio de la década de los sesenta,
cuando se comenzó a disponer del rayo láser.
El procesamiento óptico
se basa en el hecho de que la imagen de difracción de Fraunhofer de una
transparencia colocada en el plano focal frontal de una lente es una
distribución luminosa que representa la distribución de las frecuencias de
Fourier que componen la imagen, a la que se le llama técnicamente transformada
de Fourier.
Al igual que en el caso
del procesamiento óptico, los principios fundamentales del procesamiento
digital de imágenes están establecidos hace muchos años, pero no se llevaban a
cabo debido a la falta de computadoras. Con la aparición de las computadoras de
alta capacidad y memoria, era natural que se comenzara a desarrollar este
campo. Uno de los primeros lugares donde se empezó a realizar el procesamiento
digital fue en el Jet Propulsion Laboratory, en 1959, con el propósito de
mejorar las imágenes enviadas por los cohetes. Los resultados obtenidos en un
tiempo relativamente corto fueron tan impresionantes que muy pronto se
extendieron las aplicaciones del método a otros campos.
La utilidad del
procesamiento de imágenes es muy amplia y abarca muchos campos. Un ejemplo son
las imágenes obtenidas con fines de diagnóstico médico. Otro ejemplo son las
imágenes aéreas obtenidas para realizar exámenes del terreno. Mediante este
método se pueden analizar los recursos naturales, las fallas geológicas del
terreno, etcétera.
Interfaz gráfica de usuario (GUI)
En los sistemas informáticos, la relación humano-computadora se realiza por medio de la interfaz, que se podría definir como mediador. Cuando existen dos sistemas cualesquiera que se deben comunicar entre ellos la interfaz será el mecanismo, el entorno o la herramienta que hará posible dicha comunicación.
Podríamos definir básicamente dos tipos de interfaces:
§ La interfaz física: un ratón y un teclado que sirven para introducir y manipular datos en nuestro ordenador.
§ La interfaz virtual o interfaz gráfica (GUI) que permite, mediante iconos (cursor + objetos gráficos metafóricos), interactuar con los elementos gráficos convirtiendo al ser humano en usuario de la aplicación.
Estas dos mediaciones son relaciones del tipo entrada de datos (input). Al igual que tenemos una entrada, necesitamos algo que facilite la salida de datos (output), para esto tenemos, por ejemplo, la pantalla de la computadora, donde se visualizan estas interfaces gráficas, o la impresora, donde se imprimen los datos.
En definitiva GUI es una interfaz de usuario en la que una persona interactúa con la información digital a través de un entorno gráfico de simulación. Este sistema de interactuación con los datos se denomina WYSIWYG (What you see is what you get, ‘lo que ves es lo que obtienes’), y en él, los objetos, iconos (representación visual) de la interfaz gráfica, se comportan como metáforas de la acción y las tareas que el usuario debe realizar (tirar documento = papelera). Estas relaciones también se denominan interfaces objetos-acción (object-action-interface, OAI).
Para diseñar una interfaz es necesario pasar por cuatro etapas:
1. Análisis de requerimientos del producto, análisis de las tareas. Conocimiento del usuario. Generación de posibles metáforas y análisis del tipo de diálogo. Revisión.
2. Generación de prototipos virtuales (layouts) o físicos para investigar desde lo general hasta el detalle. Desarrollo de la aplicación, del sitio o del sistema.
3. Planificación (desarrollo del plan, definición de las medidas, selección de participantes, formación de observadores, preparación de los materiales). Test (prueba piloto, test con usuarios).
4. Conclusión (análisis de los datos, elaboración del informe, resultados y recomendaciones). Comparación con estándares (internos y/o externos), versiones anteriores del mismo producto y productos competidores. Verificación de las diferencias. Generación de nuevas metas
Formatos gráficos de almacenamiento
Formato
|
Ventajas
|
Desventajas
|
BMP
|
· Buen nivel de calidad
|
· Poco eficientes en el uso de espacio
en disco
· No utilizables en páginas web debido
a tamaño
|
GIF
|
· Muy popular por que usaba el
algoritmo LZW
· La imagen puede ser o no
transparente.
· Compatible con la totalidad de los
navegadores
|
· La calidad en las imágenes no llega
a ser muy alta por su limitada profundidad de color.
· Sus últimas versiones permiten hacer
animaciones simples, aunque la compresiones muy deficiente
|
JPEG
|
· Puede ajustar el grado de
compresión.
· Formato más utilizado para almacenar
y transmitir archivos de fotos en la Web
|
· Algoritmo de compresión con pérdida
|
PNG
|
· Basado en un algoritmo de compresión
sin pérdida
· No sujeto a patentes.
· Comprime mejor que el formato GIF
· Admite formatos con una profundidad
de color de millones de colores
|
· No soporta animación
· No está soportado por algunos
navegadores muy viejos
· La administración de color fallaba
en algunos navegadores
|
PSD
|
· Es un formato sin compresión
· No produce pérdidas de calidad
· Admite todos los Modos de Color,
|
· La calidad de las imágenes
almacenadas implica el uso de un gran espacio en disco.
|
TIFF
|
· Algoritmo de compresión sin pérdidas
LZW
· Válido para todas las plataformas
· Uno de los formatos más utilizados
en artes gráficas
· Permite almacenar más de una imagen
en el mismo archivo.
|
· No tiene soporte para vectores ni
texto
|
Despliegue de información: Todas las computadoras necesitan
de un componente de hardware para poder desplegar gráficos. Existen dos componentes básicos para el
despliegue gráfico:
-Las tarjetas de video: Es la parte encargada de realizar todo el procedimiento de información, dichas tarjetas pueden ser internas o externas. Las tarjetas de video definen su capacidad en la resolución.
El
uso de sistemas operativos gráficos, videojuegos, procesos de simulación, etc.
han fortalecido el uso de dispositivos de despliegue gráfico.
-Diseño: Se define como el proceso previo de configuración mental "pre-figuración" en la búsqueda de una solución en cualquier campo.
-Simulación y animación: Estos programas producen un efecto de movimiento de las figuras representadas. Pretenden crear un efecto artístico y real.
-Diseño: Se define como el proceso previo de configuración mental "pre-figuración" en la búsqueda de una solución en cualquier campo.
-Simulación y animación: Estos programas producen un efecto de movimiento de las figuras representadas. Pretenden crear un efecto artístico y real.
-Interfaces de usuario: Es el medio con el que el usuario puede comunicarse con la máquina, un equipo o una computadora; y comprende todos los puntos de contacto entre el usuario y el equipo.
SISTEMA
DE GRÁFICOS
-Procesador: El procesador (CPU) viene siendo "el cerebro del ordenador". Permite el procesamiento de información numérica, es decir, información ingresado en formato binario.
-Funcionamiento: El procesador es un circuito electrónico que funciona a la velocidad de un reloj interno; la velocidad del reloj corresponde al numero de impulsos por segundo (expresado en hertz).
-Memoria: Se refiere a la parte de los componentes que forman parte de una computadora.
Dispositivos que tienen datos informativos durante algún intervalo de tiempo. En la actualidad se refiere a formas de almacenamiento rápido de estado sólido, conocido como memoria RAM y otras veces se refiere a otras formas de almacenamiento rápido pero temporal.
-Frame buffer: Es la porción de la memoria (buffer) reservada temporalmente para mantener una imagen raster (frame) a la espera de ser enviada al monitor o a un dispositivo.
-Dispositivo de salida: Es aquel que emite una señal con información (impresora, monitor, auriculares, altavoz).
-Dispositivo de entrada: Son las herramientas utilizadas para ingresar todo tipo de datos a la computadora.
Son señales recibidas por la unidad y se define como los medios a través de los cuales una persona o sistema puede comunicarse con la computadora.
-Disparidad binocular: Es la diferencia entre las imágenes percibidas por la retina izquierda y derecha de nuestros ojos; debido a la separación de 7cm entre ellas.
-Información monocular:
Interpretación
-Procesador: El procesador (CPU) viene siendo "el cerebro del ordenador". Permite el procesamiento de información numérica, es decir, información ingresado en formato binario.
-Funcionamiento: El procesador es un circuito electrónico que funciona a la velocidad de un reloj interno; la velocidad del reloj corresponde al numero de impulsos por segundo (expresado en hertz).
-Memoria: Se refiere a la parte de los componentes que forman parte de una computadora.
Dispositivos que tienen datos informativos durante algún intervalo de tiempo. En la actualidad se refiere a formas de almacenamiento rápido de estado sólido, conocido como memoria RAM y otras veces se refiere a otras formas de almacenamiento rápido pero temporal.
-Frame buffer: Es la porción de la memoria (buffer) reservada temporalmente para mantener una imagen raster (frame) a la espera de ser enviada al monitor o a un dispositivo.
-Dispositivo de salida: Es aquel que emite una señal con información (impresora, monitor, auriculares, altavoz).
-Dispositivo de entrada: Son las herramientas utilizadas para ingresar todo tipo de datos a la computadora.
Son señales recibidas por la unidad y se define como los medios a través de los cuales una persona o sistema puede comunicarse con la computadora.
-Disparidad binocular: Es la diferencia entre las imágenes percibidas por la retina izquierda y derecha de nuestros ojos; debido a la separación de 7cm entre ellas.
-Información monocular:
Interpretación
Perspectiva
atmosférica
Gradiente
de textura
Perspectiva
lineal
Tamaño
Altitud
Movimiento
relativo
CONCLUSION:
A SIDO UN GRAN AVANCE QUE SE HA HECHO DESDE HACE MUCHO, Y COMO DICEN LOS EJEMPLOS DE EL PRINCIPIO HA SIDO DE GRAN AYUDA EL PROCESAMIENTO DE IMÁGENES, YA QUE ES MAS FÁCIL TOMAR ANALISIS DE CUALQUIER TERRENO Y ASI PODER TENER MAS DETALLES, AL IGUAL QUE LOS TIPOS DE CALIDADES DEPENDIENDO DE EL TIPO O FORMATO DE CADA IMAGEN, OTRA COSA MUY IMPORTANTE Y QUE IGUAL ES UN GRAN AVANZE ES LA INTERFAZ DE USUARIO, YA QUE DE ESTA FORMA ES MAS FACIL PODER INTERACTUAR CON LA MAQUINA, SOBRE TODO EN CUALQUIER DISPOSITIVO QUE CUENTE CON UNA ES MAS FACIL DE MANEJAR.
BIBLIOGRAFIA
---------------------------------------------------------------------------------
TAREA 3
GRAFICACIÓN
2D
La computación gráfica 2D es la generación de imágenes digitales por computadora - sobre todo de modelos bidimensionales (como modelos geométricos, texto y imágenes digitales 2D) y por técnicas específicas para ellos. La palabra puede referirse a la rama de las ciencias de la computación que comprende dichas técnicas, o a los propios modelos.
La computación gráfica 2D se utiliza principalmente en aplicaciones que fueron desarrolladas originalmente sobre tecnologías de impresión y dibujo tradicionales, tales como tipografía, cartografía, dibujo técnico, publicidad, etc. En estas aplicaciones, la imagen bidimensional no es sólo una representación de un objeto del mundo real, sino un artefacto independiente con valor semántico añadido; los modelos bidimensionales son preferidos por lo tanto, porque dan un control más directo de la imagen que los gráficos 3D por computadora (cuyo enfoque es más semejante a la fotografía que a la tipografía).
En muchos dominios, tales como la autoedición, ingeniería y negocios, una descripción de un documento basado en las técnicas de computación 2D pueden ser mucho más pequeñas que la correspondiente imagen digital, a menudo por un factor de 1/1000 o más. Esta representación también es más flexible ya que puede ser renderizada en diferentes resoluciones para adaptarse a los diferentes dispositivos de salida. Por estas razones, documentos e ilustraciones son a menudo almacenados o transmitidos como archivos gráficos en 2D.
Los gráficos 2D por computadora se han iniciado en la década de 1950, basándose en dispositivos de gráficos vectoriales.1 Éstos fueron suplantados en gran parte por dispositivos basados en gráficos raster en las décadas siguientes. El lenguaje PostScript y el protocolo de sistema de ventanas X fueron piezas claves en la evolución histórica del campo.
Transformación Bidimensional
Los objetos se definen mediante un conjunto de puntos. Las transformaciones son procedimientos para calcular nuevas posiciones de estos puntos, cambiando el tamaño y orientación del objeto.
-Traslación
-Escalamiento
-Rotación.
Se pueden encontrar varias definiciones de traslación
Una traslación es el movimiento en línea recta de un objeto de una posición a otra.
Movimiento de una figura, sin rotarla ni voltearla. "Deslizar".
La figura sigue viéndose exactamente igual, solo que en un lugar diferente.
Se aplica una transformación en un objeto para cambiar su posición a lo largo de la trayectoria de una línea recta de una dirección de coordenadas a otra.
Ejemplos
Rotación
Para rotar un objeto (en este caso bidimensional), se ha de determinar la cantidad de grados en la que ha de rotarse la figura. Para ello, y sin ningún tipo de variación sobre la figura, la cantidad de ángulo ha de ser constante sobre todos los puntos.
Otra forma de conseguir la rotación, respecto a un punto de movimiento, es fijar los diferentes puntos respecto a un punto de fijación siendo los puntos que forman la figura, relativos a este.
La fórmula a aplicar en este último supuesto, sería la siguiente:
X' = X * Cos (àngulo) - Y * Sin(ángulo)
Y' = Y * Cos (ángulo) - X * Sin(ángulo)
Ejemplo
Para rotar un objeto (en este caso bidimensional), se ha de determinar la cantidad de grados en la que ha de rotarse la figura. Para ello, y sin ningún tipo de variación sobre la figura, la cantidad de ángulo ha de ser constante sobre todos los puntos.
Otra forma de conseguir la rotación, respecto a un punto de movimiento, es fijar los diferentes puntos respecto a un punto de fijación siendo los puntos que forman la figura, relativos a este.
La fórmula a aplicar en este último supuesto, sería la siguiente:
X' = X * Cos (àngulo) - Y * Sin(ángulo)
Y' = Y * Cos (ángulo) - X * Sin(ángulo)
Ejemplo
Escalación
Una transformación para alterar el tamaño de un objeto se denomina escalación.
Dependiendo del factor de escalación el objeto sufrirá un cambio en su tamaño pasando a ser mayor, o menor en su segmento de longitud.
Esta es la transformación del objeto especialmente interesante, pues con ella se consigue el efecto Zoom.
Ejemplos:
Una transformación para alterar el tamaño de un objeto se denomina escalación.
Dependiendo del factor de escalación el objeto sufrirá un cambio en su tamaño pasando a ser mayor, o menor en su segmento de longitud.
Esta es la transformación del objeto especialmente interesante, pues con ella se consigue el efecto Zoom.
Ejemplos:
Conclusión:
En este tema se habla de la graficación en 2D, la cual empieza su construcción desde líneas, haciendo formación de figuras como polígonos y de más. Las aplicaciones de la computación gráfica dan mucho beneficio a la ingeniería, ciencia, educación y arte.
La graficación 2D siempre serán más bonitos artísticamente y realmente espectacular, del que se pueda disfrutar al máximo, se necesita un estilo muy bueno, un gran acabado artístico y que, a nivel de diseño, impacte en los ojos, ya que de esta manera llama la atención.
También es importante mencionar que la traslación,
rotación y escalacion son importantes para el manejo de la graficacion, ya que
es darle forma y movimiento para captar la atención, además de tener ciertos
conocimientos básicos.
Bibliografía:
http://www.buenastareas.com/ensayos/Libro-Graficacion/4375949.html
http://graficacionitca3d.blogspot.mx/2012/03/24-transformacion-ventana-area-de-vista.html
-------------------------------------------------------------
-------------------------------------------------------------
Trazado de lineas rectas:
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:
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:
Este algoritmo, inventado por Bresenham, utiliza sólo cálculos enteros para determinar los incrementos.
Además, el algoritmo de Bresenham para dibujo de líneas puede adaptarse para dibujar círculos y otras líneas.

Conclusió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.pdfhttp://antares.itmorelia.edu.mx/~fmorales/graficacion/00%20Presentacion/LibroAzucenaV1.3.pdf
-------------------------------------------------------------
Representación y trazo de polígonos:
Los polígonos pueden ser complicados, así que OpenGL pone algunas restricciones en lo que se considera un polígono primitivo.
Primero, las aristas de los polígonos en OpenGL no se pueden cortar, es decir, OpenGL sólo admite lo que matemáticamente se denomina polígonos simples; aunque, de todas formas, cualquier polígono complejo puede construirse mediante polígonos simples.
En segundo lugar, los polígonos OpenGL deben ser convexos, lo cual significa que no pueden tener entrantes (también éstos pueden conseguirse con la composición de polígonos cóncavos). De forma más precisa, un polígono es convexo si la unión de cualesquiera dos vértices del polígono es una recta que está dentro de los límites del mismo.
Por último, los polígonos con agujeros no se pueden describir, ya que no son convexos, y además no pueden ser dibujados con un solo bucle cerrado.
Los polígonos pueden representarse de tres formas distintas.
La función que cambia la representación es glPoligonMode(). Tiene dos argumentos, el primero para decirle las caras de las que queremos cambiar el tipo de representación (se especifica con las macros GL_FRONT, GL_BACK o GL_FRONT_AND_BACK); y el segundo para el tipo de representación en sí.
Este segundo parámetro puede tomar tres valores:
1.- GL_POINT: Muestra tan sólo los vértices del polígono.
2.- GL_LINE: Muestra las aristas del polígono.
3.- GL_FILL: Muestra los polígonos enteros, rellenos.
Conclusión:
Debido a la complejidad de crear polígonos muchas veces no es posible una manipulación correcta o de forma adecuada mediante algunas herramientas de edición.
Para ello openGL nos ofrece “métodos” para poder crear y manipular los polígonos, esto es muy útil ya que solo nos bastaría utilizar el método para poder editar polígonos.
Muchas cosas del mundo real son polígonos, así que es esencial aprender a utilizar tods las opciones que nos ofrecen todas y cada una de los programas para edición de imágenes tanto 2D como 3D.
Bibliografía:
http://webdelprofesor.ula.ve/ingenieria/jorgelcs/geometriaplana/poligonos/poligonos.pdf
http://gsii.usal.es/~igrafica/descargas/temas/Tema05.pdf
-------------------------------------------------------------
Representación matricial:

La matriz M1 es una matriz de 2 por 2 que contiene factores de multiplicación y M2 es una matriz de columnas de dos elementos que contiene términos de traslación.
Para la traslación, M1 es la matriz de identidad.
Para la rotación o la escalación M2 contiene los términos de traslación asociados con el punto pivote o el punto fijo de escalación.
Podemos combinar los términos de multiplicación y de adición para transformaciones geométricas bidimensionales en una sola representación de matriz al ampliar las representaciones de matriz de 2 por 2 a matrices de 3 por 3.
Esto nos permite expresar todas las ecuaciones de matriz como multiplicaciones de matriz, si también ampliamos las representaciones de matriz para las posiciones de coordenadas. Para expresar cualquier transformación bidimensional como una multiplicación de matriz, representamos cada posición de coordenadas cartesianas (x, y) con las tres coordenadas homogéneas (xh, yh, h), donde

Por tanto, una representación general de coordenadas homogéneas se puede expresar también como (h*x, h*y, h). Para transformaciones geométricas bidimensionales, seleccionamos el parámetro homogéneo h como cualquier valor no cero. Así, existe un número finito de representaciones homogéneas equivalentes para cada punto de coordenadas (x, y).
Expresar posiciones en coordenadas homogéneas nos permite representar todas las ecuaciones de transformación geométrica como multiplicaciones de matriz. Se representan las coordenadas con vectores de columna de tres elementos y las operaciones de transformación se expresan como matrices de 3 por 3.
Para la traslación tenemos:

que podemos expresar en forma abreviada:
con T(tx, ty) como la matriz de traslación 3 por 3.
Se obtiene el inverso de la matriz de traslación al reemplazar los parámetros de traslación tx y ty con sus valores negativos -tx y -ty.
De modo similar, ahora se expresan las ecuaciones de transformación derotación respecto al origen de las coordenadas como

o como:

El operador de transformación de rotación R("theta") es la matriz de 3 por 3 con el parámetro de rotación "theta". Obtenemos la matriz de rotación inversa cuando se sustituye θ con -θ.
Por último, ahora se expresa una transformación de escalación con respecto del origen de las coordenadas como la multiplicación de matriz:

o

donde S(Sx, Sy) es la matriz de 3 por 3 en la ecuación 2.21 con los parámetros Sx y Sy.
Al sustituir sus inversos multiplicativos (1/sx y 1/sy) se obtiene la matriz de escalación inversa.
Conclusión:
Una solución más óptima para la manipulación de imágenes es a través de matices, aunque esto es más complejo, hablando del procesado de una matriz.
En la práctica en cálculo vectorial se demostró que es más fácil y sencillo utilizar matrices para hacer las transportaciones de los vectores.
Aplicando lo anterior a una imagen en 3D, ofrece las mismas ventajas que en una representación a lápiz y papel en 3D.
Bibliografía:
ttp://catarina.udlap.mx/u_dl_a/tales/documentos/mcc/cruz_m_ia/capitulo3.pdf
http://www.xtec.cat/~rgonzal1/espacio02.pdf
-------------------------------------------------------------
Ventana y puerto de visión:
Como las primitivas de salida se expresan en coordenadas de mundo, hay que indicar al paquete de subrutinas gráficas cómo establecer la correspondencia entre las coordenadas de mundo y las coordenadas de pantalla.
Esta correspondencia se puede efectuar si el programador de la aplicación proporciona al paquete gráfico una matriz de transformación para la correspondencia.
Otra forma es que el programador de la aplicación especifique una región rectangular en coordenadas de mundo, llamada ventana de coordenadas mundiales y una región rectangular correspondiente en coordenadas de pantalla, llamada área de vista, con la cual se establece la correspondencia de la ventana de coordenadas mundiales.
La transformación que establece la correspondencia entre la ventana y el área de vista se aplica a todas las primitivas de salida en coordenadas de mundo para que correspondan a coordenadas de pantalla.
Si la ventana y el área de vista no tienen la misma razón altura-anchura, ocurre un escalamiento no uniforme. Si el programa de aplicación cambia la ventana o el área de vista, las nuevas primitivas de salida que se dibujen en la pantalla se verán afectadas por el cambio, no así las primitivas existentes.
Si SRGP proporcionara primitivas de salida en coordenadas de mundo, el área de vista se hallaría en el lienzo actual, que por omisión es el lienzo 0, la pantalla. El programa de aplicación podría cambiar en cualquier instante la ventana o el área de vista, en cuyo caso las primitivas de salida que se especificaran subsecuentemente estarían sujetas a una nueva transformación. Si el cambio incluyera un área de vista distinta, las nuevas primitivas de salida se colocarían en el lienzo en posiciones distintas a las anteriores.
Conclusión:
Al igual que la forma de ver las imágenes (pixeles), se nos presenta el problema de visión, es decir, que tanto nos muestra la pantalla, se podría pensar que el espacio es infinito, pero en la pantalla existen coordenadas límites.
Y la forma de convertir de pixeles a medidas reales o físicas se nos vuelve a presentar.
Muchas veces no se nos muestra toda la imagen o a las dimensiones a las que se encuentra, solo se nos muestra una escala para poder visualizar todo o una parte de la imagen.
Bibliografía:
http://informatica.uv.es/iiguia/AIG/web_teoria/tema1_nv.pdf
http://gsii.usal.es/~igrafica/descargas/temas/Tema09.pdf


No hay comentarios:
Publicar un comentario