viernes, 2 de diciembre de 2011

Bucephalus Bouncing Ball

Animacion de una Pelota que rebota en Blender
Lo primero que se hace es agreagar una esfera:

Entonces colocamos un arreglo de "bones" alrededor de la esfera:






Se configura para que la esfera se deforme segun se muevan los "bones":




Y se comienza a animar:



Y listo:





martes, 29 de noviembre de 2011

Procesamiento de imagenes y animacion por computadora


Procesamiento de imágenes
Se distinguen dos niveles principales de manera general según la norma [DIP-IAU,2000]
·         Procesamiento de imágenes a bajo nivel
-          Muy poco de conocimiento respecto al contenido de las imagines.
-          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 imágenes.

El objetivo de este trabajo usa las herramientas descritas para el procesamiento de imágenes de bajo nivel, pero sin embargo su alcance llega hasta el nivel de entendimiento al aplicar la toma de decisiones basada en las características obtenidas a partir de las imágenes.
Para poder realizar mediciones en las imágenes se requiere que sus características estén bien definidas, los bordes bien delimitados y el color y brillo sean uniformes.

Las herramientas para la adquisición de imágenes digitalizan una imagen visual de un objeto físico. Para poder así procesarla.
El procesamiento digital cuenta con diversas aplicaciones y problemas:
-          Representación
-          Transformación
-          Modelado
-          Restauración
-          Reconstrucción
-          Análisis
-          Compresión de datos







Eliminación de ruido en las imágenes
El concepto de ruido se definió como datos o resultados intermedios que no son interesantes para la computación que se pretende llevar a cabo.
Hoy en día existen vasta cantidad de algoritmos que se ocupan de eliminar el ruido. Algunos de los que se mencionaran a continuación son de los más comunes y utilizados.
Las técnicas de filtraje son transformaciones de la imagen pixel a pixel, que no dependen solamente del nivel gris de un determinado pixel, sino también del valor de los niveles de gris en los pixeles vecinos de la imagen original.
El proceso de filtraje se realiza utilizando matrices denominadas mascaras, que son aplicadas sobre la imagen.
Filtro Gaussiano
                Este filtro implementa mascaras que intentan imitar la forma de una gaussiana:
G(x,y) = , donde x, y son las coordenadas de la imagen y sigma una desviación estándar de la probabilidad de distribución asociada.
Este filtro tiene el inconveniente de que, además de remover el ruido, empaña la imagen ocasionando perdida de os detalles más finos.
El filtro gaussiano es comúnmente utilizado en aplicaciones de detección de bordes y análisis de escala espacial.
Filtro mediana (rango de vecindades)
El objetivo del filtro mediana es reducir el empañamiento de los bordes. Este filtro reemplaza el pixel actualmente analizado en la imagen por  la mediana del brillo con respecto a los vecinos mas cercanos. Este filtro tiene la ventaja de no ser afectado por pixeles individuales ruidosos.
Filtro de suavizado direccional
La eliminación de ruido mediante suavizado distorsiona la información con respecto a los bordes.

Filtro de suavizado conservador
Esta técnica 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 pixeles aislados con un valor muy alto o muy bajo.

Realce de contraste
La técnica consiste en mejorar la calidad de las imágenes  bajo ciertos criterios subjetivos del ojo humano. Normalmente se utiliza en el pre-procesamiento para sistemas de reconocimiento de patrones.

Filtro paso bajo
Es un tipo de filtro de suavizado empleado para remover ruido de alta frecuencia espacial en una imagen digital. Se lleva a cabo mediante una cancelación de las variaciones mas rápidas entre pixel y pixel. El ruido aparece de manera aleatoria a manera de puntos en la imagen, usualmente con valores bastante distintos al os vecinos cercanos.

Filtro paso alto
Opera de la misma manera que el filtro de paso bajo, mediante análisis de los valores de cada pixel y cambiando estos de acuerdo a los valores de pixeles vecinos. El efecto de este filtro es, sin embargo, el opuesto. En vez de obtener suavizado de la imagen, el filtro paso alto realza detalles de la imagen.

Filtro SUSAN (smallest Univalue Segment Assimilating Nucleus)
Este algoritmo preserva la estructura de la imagen alisando únicamente sobre los pixeles que se encuentran dentro de la región del pixel analizado (pixel central) tomando un excedente del promedio de los pixeles en la localidad que cae dentro del SUSAN, siendo este el núcleo circular de pixeles utilizado para el cálculo matemático del nuevo valor pixel central.
Este filtro integra los mejores aspectos de reducción e ruidos existentes incluyendo la preservación de bordes, arrojando, por consiguiente, resultados bastante aceptables.






Animación por computadora.
Una animación es la simulación de movimiento, creada atraves de la corrida de una serie de imágenes o cuadros a cierta velocidad. Las caricaturas son un ejemplo sencillo de esto.
La animación por computadora se puede definir como la presentación de información digital a través de una secuencia de imágenes o cuadros creadas o generadas por la computadora. Se utiliza ampliamente en los videojuegos y películas.
Hay una diferencia entre un video y una animación:
En el video el movimiento se toma de manera continua y es descompuesto en cuadros, la animación parta varias imágenes estáticas y las une para crear la ilusión de movimiento continuo .
Animación 3D
Las computadoras nos permiten crear escenas tridimensionales, esto quiere decir que, a diferencia de  la animación dibujada a mano, en una escena animada por computadora es posible cambiar el angulo de cámara y con esto, ver otra parte de la escena. John Lasseter de Pixar fue una de las primeras personas en crear animación por computadora.
Otra ventaja de la animación por computadora, es que se pueden reutilizar partes de la animación por separado.

Animación en el cine
La industria del cine es una de las que mas estudios sobre animación por computadora ha hecho, tanto en efectos visuales como en películas totalmente animadas por computadora. Los estudios de animación Pixar crearon en conjunto con estudios Disney la primera película animada completamente por computadora llamada: Toy Story. Esta además gano el premio de la academia en 1995.
Otros estudios famosos que también producen películas con animación por computadora son Dream Works SKG. Estos estudios fueron creados en 1994 por Steven Spielberg, Jeffrey Katzenberg y David Geffen.
Técnicas de animación
Algunas técnicas que se utilizan en la animación tradicional son la de animación con acetatos, la animación basada en cuadros y la animación en sprite.
·         Animación basada en cuadros:
               Es una de las mas utilizadas. Una película contiene 24 cuadros por segundo, para hacer una secuencia, se van filmando las imágenes cuadro por cuadro y luego se unen para conformar una animación.
·         Animación basada en sprites
               Esta animación se refiere a animaciones de objetos sobre fondos estáticos, es decir; lo que cambia son los personajes. Esta técnica es aplicada en los videojuegos. Con el paso del tiempo se han creado nuevas técnicas como Key framing, rotoscopiado, motion control y wavelets.

-          Key framing:
        El key framing se refiere a establecer posiciones en puntos específicos de        tiempo en una animación y la parte intermediaria la obtiene la       computadora por medio de la interpolación matemática.

-          Rotoscopiado:
        Consiste en una forma más elaborada de key framing. En este caso se                obtienen la posición y el ángulo  de los puntos clave de imágenes reales y               se trata de converger los modelos en computadora con ellos.

-          Motion Control:
        Esta técnica 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:
Esta técnica permite que en una sola imagen se compriman una gran cantidad de datos para acercarse a ella, se vayan viendo los detalles.

La teoría Wavelets es una teoría puramente matemática que ha sido aplicada en distintas áreas, por ejemplo fue utilizada para buscar una mejor manera de transmitir mensajes claros a través de hilos telefónicos, encontrar una mejor forma de interpretar las señales sísmicas e incluso es utilizada por el FBI para codificar su base de datos de 30 millones de huellas dactilares.

sábado, 20 de agosto de 2011

Resumen Cronologico de la Evolucion de la Graficacion.


1950 se crea Whirlwind para simular vuelos de entrenamiento de los escuadrones de bombarderos de la marina de Estados Unidos.
continuó el desarrollo de los dispositivos de entrada.
 
1952 El primer videojuego de la historia fue creado con el nombre de OXO. Fue producto de la tesis doctoral de Alexander Sandy Douglas en la Universidad de Cambridge para demostrar la interactividad entre computadoras y seres humanos. El juego era una versión del conocido “tres en raya” y fue escrito para la computadora EDSAC.

1961 un estudiante del MIT, Steve Russell dirigió un equipo que creó el primer videojuego interactivo de naves espaciales. Le tomó al equipo cerca de 200 horas- hombre escribir la primera versión de Spacewar. El juego se escribió en una PDP- 1 que fue una donación de DEC al MIT esperando que en el MIT se pudiera hacer algo trascendente con su producto.

1963 se creo el primer sistema que permitía la manipulación directa de objetos gráficos y fue el precursor de los sistemas modernos de gráficos por computadora y los programas de diseño asistido por computadora (CAD). El sistema, creado para aplicaciones de diseño e ingeniería fue desarrollado porIvan
Sutherland como trabajo de tesis doctoral en el MIT. El sistema permitía a los
usuarios dibujar puntos, segmentos de líneas rectas y arcos circulares
directamente sobre la pantalla mediante un lápiz óptico.

1966 Sutherland, ejerciendo como profesor en Harvard, junto con Bob Sproull fue el primero en implementar un sistema de realidad virtual, a través del cual, con la ayuda de un casco, los usuarios podían ingresar virtualmente en una habitación y mirar en todas direcciones una vez adentro.
Los inventos de Ivan Sutherland contribuyeron al desarrollo de lasinterfaces
gráficas de usuario que actualmente son una parte indispensable en cualquier
sistema de cómputo.

1965 IBM dispositivos de pantallas de vector, de trazo o caligráficas.

1968 Tektronix introdujo un CRT con tubo de almacenamiento que permitía retener permanentemente un dibujo hasta que el usuario decidiera borrarlo. Este sistema eliminó la necesidad de utilizar costosos sistemas especiales de hardware y memoria para redibujado. Aunque su precio era más accesible no dejaba de ser elevado. Sus modelos 601 y 611 fueron los primeros en su línea de productos diseñados especialmente para gráficos por computadora. El primer modelo comercial de Tektronix fue el 4002A con un precio aproximado de 9000 dólares.


1970 un estudiante de nombre Edwin Catmull iniciaba sus estudios en la Universidad de Utah, inscribiéndose a la clase de gráficos por computadora de Sutherland. Habiendo crecido con los dibujos animados de Disney, Catmull amaba la animación aunque rápidamente descubrió que no tenía talento para dibujar. Pero Catmull, al igual que otros, vio las computadoras como la evolución natural de la animación y quería ser parte de esa revolución. La primera animación por computadora que Catmull vio fue de si mismo. El creó una animación de su mano abriéndose y cerrándose. Se volvió uno de sus objetivos crear una película entera usando gráficos por computadora. En la misma clase Fred Parke creó una animación del rostro de su esposa.
1970 se comenzaron a introducir los gráficos por computadora en el mundo de la televisión. Computer Image Corporation (CIC) desarrollo sistemas complejos de hardware y software como ANIMAC, SCANIMATE y CAESAR. Todos esos sistemas funcionaban escaneando una imagen existente, para después manipularla, aplastándola, estirándola, girándola y haciéndola volar por la pantalla, etc.… Bell Telephone y CBS Sports fueron unos de los muchos que empezaron a usar los nuevos gráficos por computadora.

1971 Uno de los mas importantes avances para los gráficos por computadora el microprocesador. Usando tecnología de circuitos integrados desarrollada en 1959, la electrónica de un procesador de computadora fue reducida a un único chip, el microprocesador a veces llamado CPU (Unidad Central de Procesamiento). Una de las primeras microcomputadoras de escritorio diseñada para uso personal fue la Altair 8800 de Micro Instrumentation Telemetry Systems (MITS). Se entregaba por correo en forma de kit para armar, la Altair (nombrada como un planeta en la popular serie Star Trek) se vendía alrededor de los 400 dólares. Tiempo después las computadoras personales avanzarían hasta punto de permitir la creación de gráficas computacionales con calidad de película.
Nolan Kay Bushnell junto con un amigo creo elAtari. Después de esto comenzó el desarrollo de un videojuego de arcadia llamadoPong, que se conoció en 1972 y comenzó una industria que continúa siendo hasta hoy una de las que mayor uso hace de los gráficos por computadora.

1980 película titulada “Vol Libre”. Se trataba de un vuelo de alta velocidad a través de montañas fractales generadas por computadora. El programador de nombre Loren Carpenter de la compañía Boeing en Seattle, Washington había estudiado y modificado la investigación de Mandelbrot para simular montañas fractales realistas.

1986 se formó Pixar cuando la división de gráficos por computadora de Lucasfilm fue adquirida por Steven Jobs. El equipo pionero de la compañía formado por John Lasseter, Ed Catmull y Ralph Guggenheim produjo el famoso software Renderman.

1991 estreno de Terminator 2 impulso un nuevo estándar para los efectos con imágenes generadas por computadora (CGI). El robot maligno T-1000 en T2 fue alternado entre el actor Robert Patrick y una versión animada computarizada en 3D de Patrick.


1994 Verano. Se estrenan toda una gama de películas llenas de graficos por computadora. Algunos efectos sin embargo, eran tan fotorealistas que el uso de la computadora era indetectable.

1995 se presentó la primera película de larga duración con gráficos y animaciones 3D por computadora. La película realizada por Pixar fue llamada Toy Story. La película no presentó mejoras revolucionarias, sin embargo solo por ser una película de larga duración tuvo un gran impacto en la manera en que la gente percibía los gráficos por computadora.
Sony lanzó al mercado mundial su consola de juegos
Playstation (X). Hasta entonces las llamadas consolas de videojuegos solamente
podían manejar gráficos 2D, pero el Playstation contenía un chip (además del CPU) de 3D acelerado por hardware capaz de dibujar 360,000 polígonos por segundo.


1996 podrá no ser el año más excitante en el uso de CGI en películas, pero la industria de los videojuegos experimentó un gran avance en los gráficos 3D con la salida deQuake de ID Software. 3D acelerado por hardware se convirtió en la frase de moda y al menos dos fabricantes sacaron al mercado aceleradores gráficos para PC (Diamond Edge de Diamond Multimedia usando el procesador NV1 de nVidia, y Virge de S3). Sin embargo los aceleradores de esta primera generación fueron prácticamente inútiles.Quake nunca los requirió y aún cuando los usara, los aceleradores ofrecían un pobre desempeño.

1997 la industria de los videojuegos experimentó de nuevo una revolución, esta vez fue el acelerador 3DFX Voodoo 3D. Este chip 3D aplastó por completo a la competencia con su increíble y extremadamente práctico desempeño en 3D. Este era el momento de cambio para los gráficos 3D acelerados por hardware. Después de Voodoo no hubo vuelta atrás. 1997 también vio la llegada de Quake 2. Los beneficios de un buen acelerador 3D fueron obvios y el lema fue: “Si quieres jugar juegos geniales, tendrás que comprar un acelerador 3D”. 

1999 nVidia finalmente logró superar el desempeño de 3DFX en la batalla de los chips 3D con su procesador TNT2. Ni siquiera la Voodoo 3 podría igualar al chip TNT2 (y TNT2 Ultra). Pero nVidia no se detuvo ahí. En octubre sacaron a la venta el primer GPU (Unidad Gráfica de Procesamiento) para consumidor del mundo, laGeForce256. La GeForce (nombre código nv10) fue la primera tarjeta 3D que poseía un motor de hardware llamado Transform & Lighting. Ninguno de los títulos lanzados en 1999 soportaba esta opción con la excepción de Quake III, el cual salió a la venta en diciembre. La GeForce 256 podía renderizar triángulos con soporte de T&L en hardware, todo esto capaz de trabajar en conjunto con un rendimiento igual o mayor a 10 millones de polígonos por segundo.

2000 nVidia adquirió los activos intelectuales de su alguna vez competidor 3DFX. Este es un buen recordatorio de que tan rápido cambian las cosas en la industria. ATI se estaba volviendo fuerte y Matrox había anunciado nuevos productos, pero sobre todos ellos, claramente nVidia se había convertido en el estándar para el cómputo en casa.

2001 nVidia continuó dominando el mercado con una competencia ocasional por parte de ATI.
Nintendo lanzó elGamecube en septiembre de 2001, al igual que elGameboy
Advance. Pero probablemente el gran evento del 2001 fue el lanzamiento de la
consolaXbox deMicrosoft. Con un procesador gráfico desarrollado por nVidia, disco duro, CPU Intel y más, fue diseñada para ganarles a sus principales competidores que serían el Playstation 2 y el Gamecube de Nintendo. El alguna vez tan influyente SEGA había dejado el negocio del hardware y ahora se concentraba en el software.
El mundo de la cinematografía también se vio beneficiado con estos avances y se puede ver en películas como Final Fantasy: The Spirits Within, tal vez el primer intento verdadero por crear humanos realistas en una película completamente generada por computadora.
Jurassic Park triunfó de nuevo, por supuesto, con dinosaurios tan reales que
incluso un artista gráfico podría sentarse a disfrutar la película sin pensar acerca de los efectos especiales. La películaA.I. presentó efectos especiales extremadamente bien producidos, pero que fueron la simple evolución de las técnicas creadas para Terminator 2. La gran película del año fue Lord Of The Rings, presentando algunas escenas sorprendentes.

2003 aparecieron varias secuelas cinematográficas con grandes efectos especiales. X-Men 2, Matrix 2 y Terminator 3 son solo algunos ejemplos.Matrix  Revolutions presentó una gran cantidad de asombrosos efectos especiales. 

2004 Algunos de los juegos que aparecieron ese año comoFarCry de Ubisoft fueron de los primeros juegos en utilizar los últimos avances en los gráficos por computadora como los shaders de Direct X 9.0. El segundo gran juego fue Doom 3, la secuela de la legendaria y revolucionaria serie de DOOM.

2007 Sony Pictures Imageworks (SPI) usó el software Autodesk Maya para la animación en 3D, el modelado, texturizado y combinación de movimientos de los personajes y efectos visuales aproximadamente en 80% de las tomas realizadas por el estudio. Se usó el sistema de efectos visuales Autodesk Flame para hacer cambios en el rostro de los personajes y para integrar tomas reales de ellos en ambientes generados totalmente por computadora. El uso de ese software también fue decisivo para crear la secuencia extremadamente compleja de Sandman y la sustancia simbiótica de Venom.