martes, 29 de noviembre de 2016

5.3 Animación por computadora

La animación es la simulación de un movimiento, creada por una serie de imágenes o cuadros.
La animación por computadora se puede definir como un formato de presentación
de información digital en movimiento a través de una secuencia de imágenes o cuadros creadas o generadas por la computadora.

Características de la Animación 3D

La animación por computadora permite crear escenar “realmente” tridimensionales, en una escena animada por computadora es posible cambiar el ángulo de la cámara y ver otra parte de la escena. Se pueden reutilizar partes de la animación por separado.
Una animación se ve más realista si variamos el peso y el tamaño de los objetos. Para cambiar el peso es necesario cambiar el tiempo que tarda en moverse. Mientras más pesado su masa es mayor y es necesario aplicar mayor fuerza para moverlo.
Es necesario pensar en la forma como se moverán los objetos. Cada movimiento se realiza por una razón. Es necesario conocer las formas en que actúan los cuerpos.
En la animación en tres dimensiones debe considerarse la forma en que se detiene los cuerpos. Al animar a un personaje es conveniente que si se va a detener, alguna parte de su cuerpo se siga moviendo ligeramente, como la cabeza o un brazo.
Hay tres fases que componen una acción: La anticipación de la acción, la acción en sí y la reacción a la acción.

Técnicas de animación

La animación en acetatos (cel animation), la animación basada en cuadros (flipbook animation) y la animación en sprite.

Animación Basada en Cuadros
Para hacer una secuencia, se van filmando las imágenes cuadro por cuadro y luego estos se unen para formar la animación. Es posible formar bibliotecas de movimientos de cada parte del cuerpo de la animación para de esta forma combinarlas y hacer animaciones diferentes.

Animación Basada en Sprites
Se refiere a animaciones de objetos sobre fondos estáticos, es decir, lo que cambia son los personajes.

Key Framming
Se refiere a establecer posiciones en puntos específicos de tiempo en una animación y la parte intermedia la obtiene la computadora por medio de interpolación matemática.

Rotoscopiado
Se obtienen la posición y el ángulo de los puntos clave de imágenes reales y se trata de hacer converger los modelos en computadora con ellos.

Motion Control
Consiste en obtener posiciones clave de manera automática a partir de un actor real por medio de dispositivos que se conectan a su cuerpo.

Wavelets
Significa “pequeñas ondulaciones”. Esta técnica permite que en una sola imagen se compriman una gran cantidad de datos para que al acercarse a ella, se vayan viendo los detalles.

Técnicas de Pixar
El proceso que utiliza Pixar [12] para crear sus animaciones se compone de cuatro etapas principales: Desarrollo (crear el guión de la historia), preproducción (se direccionan los retos técnicos), producción (creación de la película) y post producción (pulir los últimos detalles).

5.2 Vision por computadora

La visión es un medio para un fin – conocer el mundo observándolo – la visión artificial tiene como medio para adquirir el conocimiento un instrumento de cómputo. El tema de visión artificial es extenso: los asuntos tales como la restauración de imágenes, mejoramiento de imagen, inspección visual automatizada, visión robótica, escenas tridimensionales, y percepción y cognición visual todas forman parte del término “Visión artificial”.

Los primeros experimentos de cómputo para desarrollar sistemas artificiales para la visión de máquinas comenzaron con amplia variedad en grados de complejidad, han sido usados en muchas áreas diversas tales como ofimática, medicina, detección remota por satélite, y en el mundo industrializado y militar. Los usos han sido muchos y variados.

A la visión artificial le compete estudiar la estructura física tridimensional del mundo para el análisis automático de imágenes.

Las imágenes son imágenes digitales: son representaciones discretas (es decir, ellas tienen valores distintos en los puntos regularmente muestreados) y son representaciones cuantificadas (es decir, cada valor es un valor del número entero).

La visión artificial incluye muchas técnicas que son útiles para si mismas. Más significativamente, sin embargo, la visión artificial se refiere al procesamiento de imágenes, estas imágenes son solamente la materia prima de una ciencia mucho más amplia, la misma que se esfuerza en última instancia para emular las capacidades perceptivas del hombre, y para verter una luz sobre la manera por la cual él logra su interacción adaptativa y robusta con su ambiente.

5.1 Procesamiento de imágenes

En el procesamiento digital de imágenes se distinguen dos niveles principales de manera general:

  • Procesamiento de imágenes a bajo nivel
  • Muy poco uso de conocimiento respecto al contenido de las imágenes.
  • Comúnmente se reconoce una secuencia de cuatro para el procesamiento a bajo nivel: adquisición de la imagen, pre-procesamiento, segmentación de la imagen, descripción y clasificación de objetos.
  • Entendimiento de imágenes a alto nivel
  • Existe la capacidad de realizar toma de decisiones respecto al contenido de las imágenes.

El procesamiento de imágenes está dado por un conjunto de operaciones llevadas a cabo sobre las imágenes a fin de realizar mediciones cuantitativas para poder describirlas.

Una característica es un atributo usado para hacer decisiones respecto a objetos en la imagen. Algunos atributos son naturales y se definen mediante la apariencia visual de la imagen, los artificiales, son el resultado de operaciones realizadas a la imagen.
Una imagen f(x,y) está dada por sus coordenadas espaciales y su brillo, y es representada matemáticamente en una matriz.
Las herramientas para la adquisición de imágenes transforman la imagen visual de un objeto físico y sus características intrínsecas en un conjunto de datos digitalizados, usados para procesarla.
El procesamiento digital de imágenes tiene diversas aplicaciones y problemas:

  • Representación
  • Transformación
  • Modelado
  • Restauración
  • Reconstrucción
  • Análisis
  • Comprensión de datos

Se define como ruido cualquier entidad en las imágenes, datos o resultados intermedios que no son interesantes para la computación que se pretende llevar a cabo.
Las técnicas de filtraje son transformaciones de la imagen píxel a píxel, que dependen de los niveles de gris de los píxeles vecinos en la imagen original. El proceso de filtraje se realiza utilizando matrices denominadas máscaras, que son aplicadas sobre la imagen. Los filtros sirven para suavizar o realzar detalles de la imagen, o minimizar efectos de ruido.

Filtro gaussiano. Este filtro implementa máscaras que intentan imitar la forma de una gaussiana: G(x,y) = e - (x + y)² / 2σ², donde x, y son las coordenadas de la imagen y sigma una desviación estándar de la probabilidad de distribución asociada.
Filtro mediana (rango de vecindades). El objetivo del filtro mediana es reducir el empañamiento de los bordes. Este filtro reemplaza el píxel actualmente analizado en la imagen por la mediana del brillo con respecto a los vecinos más cercanos.
Filtro de suavizado direccional (preservación de bordes). La eliminación de ruido mediante suavizado distorsiona la información con respecto a los bordes. Que se calcula en varias direcciones según la ecuación:
I’ (x,y) = 1/Nθ(k,l)∈EθΣΣ I(x-k, y-l).
Filtro de suavizado conservador. Esta técnica de reducción del nivel de ruido emplea un algoritmo de filtración simple y rápido que sacrifica su poder de eliminación de ruido a cambio de preservar el detalle espacial de la frecuencia en una imagen, removiendo píxeles aislados con un valor muy alto o muy bajo.
Realce de contraste. Tiene como objetivo mejorar la calidad de las imágenes bajo ciertos criterios subjetivos del ojo humano. El contraste entre dos objetos se puede definir como la razón entre sus niveles de gris medios. La manipulación de contraste consiste en una transferencia radiométrica en cada píxel.
Filtro paso bajo es empleado para remover ruido de alta frecuencia espacial en una imagen digital. La reducción del ruido mediante el filtro de paso bajo se lleva a cabo mediante una cancelación de las variaciones más rápidas entre píxel y píxel.
Filtro paso alto opera mediante el análisis de los valores de cada píxel y cambiando estos de acuerdo a los valores de los píxeles vecinos. El filtro paso alto realza detalles de la imagen.
Filtro SUSAN (Smallest Univalue Segment Assimilating Nucleus). Preserva la estructura de la imagen alisando únicamente sobre los píxeles que se encuentran dentro de la región del píxel analizado (píxel central). Este filtro integra los mejores aspectos de los métodos de reducción de ruidos existentes incluyendo la preservación de bordes. 

En el análisis de objetos dentro de las imágenes resulta esencial distinguir entre el objeto de interés y el resto de la imagen. Una de las técnicas más conocidas es la segmentación mediante la detección de bordes.
La detección de bordes es la aplicación de un algoritmo con esté proposito que dará como resultado un contorno. Su objetivo es obtener imágenes cuya salida muestre píxeles de mayor intensidad en los valores que detecten transiciones cercanas.
Alguno de los algoritmos de detección de bordes más comunes son:
Técnicas basadas en el gradiente: Operador de Roberts, Operador de Sobel, Operador de Prewitt, Operador Isotrópico.
Operadores basados en cruces por cero: Operador de Marr-Hildreth, Detector de Canny.


Los operadores basados en el gradiente son píxeles con un alto gradiente. Un rápido índice de cambio de intensidad dada por el ángulo del vector gradiente puede observarse en los píxeles de los bordes.

Un píxel de borde se describe por: Intensidad del borde (magnitud del gradiente) y dirección del borde (ánglo del gradiente).

Operador de Roberts. Utiliza las direcciones diagonales para calcular el vector gradiente mediante máscaras.

Operador de Sobel. Calcula la magnitud del gradiente mediante: M√ sx² + sy²

Operador de Prewitt. Expande la definición del gradiente en una máscara de 3x3 para se más inmune al ruido, utiliza la misma ecuación que Sobel, pero con constante c = 1.

Operador Isotrópico. Intenta llegar a un equilibrio entre operador Prewitt y Sobel. Prewitt proporciona detección para bordes verticales y horizontales, y Sobel detección de bordes diagonales.

4.3 Tecnicas de sombreado


INTENSIDAD CONSTANTE
En ciertas condiciones, un objeto con superficies planas puede sombrearse en forma realista utilizando intensidades de superficie constantes. En el caso donde una superficie se expone solamente a la luz ambiente y no se aplican diseños, texturas o sombras de superficie, el sombreado constante genera un a representación exacta de la superficie.
Una superficie curva que se representa como un conjunto de superficies planas puede sombrearse con intensidades de superficie constante, si los planos se subdividen la superficie se hace lo suficientemente pequeños.

La siguiente figura muestra un objeto modelado con sombreado constante.


Con este método, la intensidad se calcula en un punto interior de cada plano y toda la superficie se sombrea con la intensidad calculada. Cuando la orientación entre planos adyacentes cambia en forma abrupta, la diferencia en intensidades de superficie puede producir un efectos áspero o irreal. Podemos alisar las discontinuidades de intensidad sobre cada superficie de acuerdo con algún esquema de interpolación.


Sombreado de gouraud
Este esquema de interpolación de intensidad, creado por gouraud, elimina discontinuidades en intensidades entre planos adyacentes de la representación de una superficie variando en forma lineal la intensidad sobre cada plano de manera que lo valores de la intensidad concuerden en las fronteras del plano. En este método los valores de la intensidad a lo largo de cada línea de rastreo que atraviesan una superficie se interpolan a partir de las intensidades en los puntos de intersección de con la superficie.

La siguiente figura demuestra este esquema de interpolación.




Este proceso se repite con cada línea que pasa por el polígono. En este método de interpolación primero deben aproximarse las normales a la superficie en cada vértice de un polígono. Esto se logra promediando las normales a la superficie para cada polígono que contiene el punto de vértice, como se muestra en la siguiente figura. Estos vectores normales de los vértices se utilizan entonces en el modelo de sombreado para generar los valores de intensidad de los vértices.
Un ejemplo de un objeto de sombreado con el método de Gouraud.


Sombreado de phong este método creado por phong bui tuong también se conoce como esquema de interpolación de vector normal despliega toques de luz mas reales sobre la superficie y reduce considerablemente el efecto de la banda de mach




Aprecia la franja obscura que aparece justo a la derecha del gradiente, y la franja blanca que aparece justo a la izquierda de éste.


El sombreado de phong primero interpola los vectores normales en los puntos limite de una línea de rastreo. Puede hacerse mejoras a los modelos de sombreado de gouraud determinando la normal aproximada a la superficie en cada punto a lo largo de una línea de rastreo y calculando después la intensidad mediante el uso del vector normal aproximado en ese punto. 








ALGORITMO DE TRAZO DE RAYAS
 
Puesto que podría generarse un número infinito de puntos de intensidad sobre las diversas superficies de una escena, un buen método para determinar las intensidades especulares en posiciones visibles de la superficie consiste en trazar rayas hacia atrás desde la posición de visión hasta la fuente de luz. Comenzando desde la posición de visión, la raya que atraviesa cada pixel en el plano de visión se traza hacia atrás a una superficie de la escena tridimensional. Esta técnica, conocida como trazo de rayas, se ilustra en la siguiente figura.

Cuando se encuentran objetos transparentes en el proceso del trazo de rayas, las contribuciones de intensidad de la reflexión especular se toma en cuenta. En una superficie transparente, la raya se divide en los dos componentes que se muestran en la siguiente figura. Cada raya se traza después en forma individual hacia su fuente.




Después que se ha procesado una raya para determinar todas las contribuciones de intensidad especular, se fija la intensidad del pixel correspondiente. La figura siguiente muestra dos vistas de una escena generada con técnicas de trazo de rayas.




Superficies fractales
Para determinar niveles de intensidad para los diversos puntos de la superficie de un objeto fractal se necesita algún método para determinar las normales a la superficie. Un método para realizar esto consiste en representar a un fractal como un número de planos pequeños con un conjunto de normales a la superficie para cada plano.


Fronteras de superficies con anti seudónimos
Las líneas y las aristas de polígonos pueden aliarse con técnicas de anti seudónimos que ajustan posiciones de pixeles o bien fija las intensidades de los pixeles de acuerdo con el porcentaje de área-pixel cubierta en cada punto. Pueden aplicarse métodos de anti seudónimos semejantes para alisar las fronteras de una escena que contiene un conjunto de superficies.

4.1 Relleno de poligonos

Polígono es una figura básica dentro de las representaciones y tratamiento de imágenes bidimencionales y su utilización es muy interesante para modelar objetos del mundo real.
En un sentido amplio, se define como una región del espacio delimitada por un conjunto de lineas (aristas) y cuyo interior puede estar rellenado por un color o patrón dado.


CASOS DE RELLENO SEGÚN SU COMPLEJIDAD

El caso mas sencillo de relleno es el triangulo.
Luego sigue el relleno de polígonos convexos de N-lados.
Relleno de polígonos cóncavos.



MÉTODO DE RELLENO DE POLÍGONOS CON COLOR

  • SCAN-LINE
  • INUNDACIÓN
  • FUERZA BRUTA
  • PATRÓN


SCAN-LINE

Fila a fila van trazando lineas de color entre aristas.

Para scan-line que cruce el polígono se busca en la intersección entre las lineas de barrido y las aristas del polígono.
Dichas intersecciones se ordenan y se rellenan a pares.




LINEA DE BARRIDO


Es valido para polígonos cóncavos como convexos. Incluso para si el objeto tiene huecos interiores.
Funcionan en el trozo de lineas horizontales, denominadas lineas de barridos, que intersectan un numero de veces, permitiendo a partir de ella identificar los puntos que se consideran interiores al polígono.


INUNDACIÓN

Empieza en un interior y pinta hasta encontrar la frontera del objeto.
Partimos de un punto inicial (x,y), un colo de relleno y un color de frontera.
El algoritmo va testeando los píxeles vecinos a los ya pintados, viendo si son frontera o no.
No solo sirven para polígonos, sino para cualquier área curva para cualquier imagen AE se usan los programas de dibujo.



FUERZA BRUTA

Calcula una caja contenedora del objeto.
Hace un barrido interno de la caja para comprobar c/pixel este dentro del polígono.
Con polígonos simétricos basta con que hagamos un solo barrido en una sección y replicar los demás pixeles.
Requiere aritmética punto-flotante, esto lo hace preciso y costoso.




RELLENO MEDIANTE UN PATRÓN

Un patrón viene definido por el área rectangular en el que cada punto tiene determinado color o novel de gris. Este patrón debe repetirse de modo periódico dentro de la región a rellenar. Para ello debemos establecer una relación entre los puntos del patrón y los pixeles de la figura. En definitiva debemos determinar la situación inicial del patrón respecto a la figura de tal forma que podamos establecer una correspondencia entre los pixeles interiores al polígono y los puntos del patrón.




ALTERNATIVAS PARA LA SITUACIÓN INICIAL DEL PATRÓN


Consiste en situar el punto asociado a la esquina superior izquierda del patrón en un vértice del polígono.

Considerar la región a rellenar en toda la pantalla y por lo tanto el patrón se citua en el origen de esta (esquina superior izquierda).

3.4 Lineas y superficies curvas


Las ecuaciones de los objetos con límites curvos se pueden expresar en forma paramétrica o en forma no paramétrica. El Apéndice A proporciona un resumen y una comparación de las representaciones paramétricas y no paramétricas. Entre los múltiples objetos son útiles a menudo en las aplicaciones gráficas se pueden incluir las superficies cuadráticas, las supercuádricas, las funciones polinómicas y exponenciales, y las superficies mediante splines. Estas descripciones de objetos de entrada se teselan habitualmente para producir aproximaciones de las superficies con mallas de polígonos.

La necesidad de representar curvas y superficies proviene de modelar objetos “from scratch” o representar objetos reales. En este último caso, normalmente no existe un modelo matemático previo del objeto, y el objeto se aproxima con “pedazos” de planos, esferas y otras formas simples de modelar, requiriéndose que los puntos del modelo sean cercanos a los correspondientes puntos del objeto real.
La representación no paramétrica de una curva (por ejemplo, en dos dimensiones) puede ser implícita, y = f(x) O bien explícita, f(x, y) = 0

La forma implícita no puede ser representada con curvas multivaluadas sobre x (por ejemplo, un círculo), mientras que la forma explícita puede requerir utilizar criterios adicionales para especificar la curva cuando la ecuación tiene más soluciones de las deseadas.

Representación paramétrica.

Una representación paramétrica (por ejemplo, de una curva bidimensional) tiene la forma P(t) = ( x(t), y(t) )T t1 <= t <= t2
La derivada o vector tangente es
P’ (t) = ( x’(t), y’(t) )T

El parámetro t puede reemplazarse mediante operaciones de cambio de variable, y frecuente se normaliza de modo que t1 = 0 y t2 = 1. Aunque geométricamente la curva aparece equivalente, una operación de este tipo normalmente modifica el comportamiento de la curva (esto es visible al comparar sus derivadas).

3.3 Transformaciones tridimensionales

El escalado, la traslación y la rotación son transformaciones lineales, ya que los nuevos puntos se calculan a partir de combinaciones lineales de las componentes de los puntos originales.

Se define TRANSFORMACIÓN AFÍN a una combinación de transformaciones lineales aplicadas a un objeto.

Cada transformación vendrá representada por una sola matriz, que se obtendrá multiplicando las matrices de cada una de las transformaciones, y en el mismo orden en el que queremos que se apliquen.

Una escena 3D se define por los puntos, planos y líneas que lo componen. Como son 3 dimensiones, se necesita un tercer eje, siendo estos el eje X, Y y Z. El sentido de estos queda definido por la regla de la mano derecha.

La regla de la mano derecha determina la dirección positiva del eje Z cuando se conoce la dirección de los ejes X y Y en un sistema de coordenadas 3D.

Cualquier punto se describe entonces como una terna de valores (x, y, z)



Las transformaciones 3D son extensiones de las transformaciones en dos dimensiones, por tanto, en 3-D, aplicando la misma regla, habrá que pasar a matrices 4x4