jueves, 8 de diciembre de 2016

Historia, evolución y aplicación de la animación por computadora.

La historia de la animación por computadoras empieza a finales de 1940 y principios de 1950 con los primeros experimentos con gráficos por computadora, entre ellos destacando John Whitney - pero no fue sino hasta principios de 1960 que las computadoras comenzaron a volverse populares cuando nuevos enfoques en los gráficos computacionales prosperaron.

Ivan Sutherland es considerado el creador de las gráficas computacionales interactivas y pionero de Internet. Trabajó para el laboratorio Lincoln en el MIT (Massachusetts Institute of Technology) en 1962, donde desarrollo un programa llamado Sketchpad I, el cual permitía a un usuario interactuar directamente con una imagen en pantalla, siendo ésta la primera Interfaz gráfica de usuario, y su programa es considerado como uno de los más influyentes de la historia.

En 1968, Ivan Sutherland unió esfuerzos con David Evans para fundar la compañía Evans & Sutherland — cuando ambos eran profesores en el Departamento de Ciencias Computacionales en la Universidad de Utah, con el objetivo de crear un nuevo hardware diseñado para correr los sistemas desarrollados en la Universidad. Muchos de estos algoritmos dieron paso a equipos como el Geometry Engine, el Head-mounted display, el framebuffer, y simuladores de vuelo.  Muchos de los empleados eran estudiantes activos o ex alumnos, entre ellos Jim Clark, quien fundó Silicon Graphics en 1981, Ed Catmull, co-fundador de Pixar en 1979, y John Warnock de Adobe Systems en 1982.

El primer largometraje en utilizar el procesamiento de imágenes digitales fue en 1973 con Westworld, una película de ciencia ficción escrita y dirigida por el novelista Michael Crichton, en la cual varios robots humanoides conviven con los humanos para proveerlos de entretenimiento.

El control de movimientos de cámara o Motion control photography es una técnica que requiere de una computadora para grabar (o seguir) el movimiento exacto de una cámara en una toma específica, con el propósito de recrear nuevamente tal movimiento, ya sea en otra computadora; y en conjunto con los datos de movimiento de diversas fuentes, como por ejemplo elementos CGI. 


A inicios de la década del 2000 comenzó la cinematografía virtual, siendo consideradas las películas Matrix Reloaded y Matrix Revolutions las primeras que contaron con un diseño tan convincente que era difícil distinguir si en una escena había actores reales tomados con una cámara convencional o modelos 3D con simulaciones de cámara. Esto fue en parte a que algunas escenas se reconstruyeron y se trabajaron dentro de un ambiente virtual; como la escena de la pelea final entre Neo y el Agente Smith, la cual si hubiese sido filmada únicamente con pantallas verdes, hubiese tomado mucho tiempo para una escena de pocos minutos.

Tipo de animación 2D

Tweening
Tweening, forma corta para el término in-betweening, o intermediación o interpolación de movimiento es el proceso de generar cuadros intermedios entre dos imágenes para dar el aspecto de que la primera imagen se convierte suavemente en la segunda imagen. Tweening es un proceso dominante en todos los tipos de animación, incluyendo la animación por computador. El software sofisticado de animación permite identificar objetos específicos en una imagen y definir cómo deben moverse y cambiar durante el proceso de "tweening".

Morphing
Para realizar un morphing se procede primero a rodar o fotografiar los dos elementos que participarán en la transformación, el elemento de origen (por ejemplo el rostro de un hombre) y el elemento final (siguiendo el ejemplo citado el rostro del hombre en cuestión puede transformarse en el de otro hombre, o en el de una mujer, un animal etc). Se recurre entonces a la computadora para digitalizar ambos elementos. Una vez digitalizadas las dos imágenes se recurre a un programa informático de tratamiento de imágenes que establece puntos comunes entre el elemento inicial y el elemento resultante de la transformación. Dicho programa es el que servirá entonces para generar digitalmente todas las etapas intermedias de la transformación.

Onion skinning.
Onion skinning es una de gráficos por ordenador en 2D plazo para una técnica utilizada en la creación de dibujos animados y películas de edición para ver varias imágenes a la vez. De esta manera, el animador o editor puede tomar decisiones sobre cómo crear o cambiar una imagen basada en la imagen anterior en la secuencia.

Interpolated rotoscoping.
La rotoscopia es una técnica de animación que recurre a una máquina llamada rotoscopio. El rotoscopio tiene una placa de vidrio sobre la que se pueden colocar láminas transparentes de acetato o bien papel. Debajo, un proyector ilumina el fotograma de una filmación realizada en tiempo real y en imagen real. De este modo se puede calcar el contorno de los objetos filmados. Koko the Clown, del estudio Fleischer estaba animado con rotoscopia. Se especula que en Blanca nieves de Walt Disney se utilizó rotoscopia, pero los artistas sólo usaban modelos de acción real como referencias, no se calcaba el material filmado. En animación por computadora la técnica análoga a la rotoscopia es la técnica por captura de movimiento.

Tipos de animación 3D

Cel-Shaded.
El sombreado plano o cel shading (también llamado toon shading) es un tipo de renderización no fotorrealista diseñada para hacer que los gráficos por computadora parezcan dibujados a mano. Las sombras planas se usan comúnmente para imitar el estilo de los cómics o dibujos animados. Es una adición relativamente nueva a los gráficos por computadora, común de verse en videojuegos de consolas. Si bien el resultado del sombreado plano puede aparentar ser simplista como el de una animación dibujada a mano, es un proceso complejo.

Morph
Morph target animation es un método de animación 3D usada junto otras técnicas como Skeletal Animation. En una morph target animation, una versión "deformada" de una malla es almacenada como una serie de posiciones de vértices. En cada frame clave de una animación, los vértices son interpolados entre posiciones almacenadas.

Skeletal.
Skeletal animation es un método de animación por computadora usado para la simulación de animales vertebrados o movimientos musculares principalmente en la industria del cine.

Motion Capture.
Motion Capture es una técnica de grabación de movimiento, en general de actores y de animales vivos, y el traslado de dicho movimiento a un modelo digital, realizado en imágenes de computadora. Se basa en las técnicas de fotogrametría y se utiliza principalmente en la industria del cine de fantasía o de ciencia ficción, en la industria de los videojuegos o también en los deportes, con fines médicos.

Crowds.
La simulación de multitudes es el proceso de simular el movimiento de un gran número de objetos o personajes, apareciendo ocasionalmente por ejemplo en gráficos 3D por computadora para películas. Mientras se simulan estas multitudes, se toma en cuenta la interacción del comportamiento humano observado, para replicar la conducta colectiva. 

La necesidad de una simulación de multitudes surge cuando una escena necesita más personajes de los que pueden ser animados de forma práctica usando sistemas convencionales, tales como esqueletos/huesos. Simular multitudes ofrece las ventajas de ser rentable así como permitir el control total de cada personaje o agente simulado.

lunes, 14 de noviembre de 2016

Introducción a la Graficación

La graficación hecha por computadora es el arte o la ciencia de producir imágenes gráficas con la ayuda de la computadora.

En los gráficos por computadora, la computadora se utiliza para crear una imagen.

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.

Para la creación de los gráficos por computadora existen diferentes software que hacen posible la realización. Blender y WebGL son ejemplos de software de computadora para la graficación.

WebGL

WebGL es una especificación estándar que está siendo desarrollada actualmente para mostrar gráficos en 3D en navegadores web. El WebGL permite mostrar gráficos en 3D acelerados por hardware (GPU) en páginas web.

WebGL está basado en OpenGL ES 2.0 y proporciona una API para gráficos 3D. Se utiliza el elemento canvas HTML5 y se accede mediante interfaces Document Object Model. Gestión de memoria automática se proporciona como parte del lenguaje JavaScript.

WebGL carece de las rutinas matemáticas matriz eliminadas en OpenGL 3.0. Esta funcionalidad debe ser proporcionada por el usuario en el espacio de código JavaScript; este código necesario se complementa con frecuencia con una biblioteca de matriz tal como glMatrix, TDL, o MJS.

Blender

Blender es un programa informático multiplataforma, dedicado especialmente al modelado, iluminación, renderizado, animación y creación de gráficos tridimensionales. También de composición digital utilizando la técnica procesal de nodos, edición de vídeo, escultura (incluye topología dinámica) y pintura digital. En Blender, además, se puede desarrollar vídeo juegos ya que posee un motor de juegos interno.

Blender está pensado para representar, o dibujar, escenas 3D, generando al final una imagen 2D.

Blender es Multiplataforma, libre, gratuito y con un tamaño de origen realmente pequeño comparado con otros paquetes de 3D, dependiendo del sistema operativo en el que se ejecuta, además de tener Capacidad para una gran variedad de primitivas geométricas, incluyendo curvas, mallas poligonales, vacíos, NURBS, metaballs.

Ejercicios de WebGL y Blender

A continuación mostraremos algunos ejemplos creados en estas dos herramientas que tenemos para la graficación por computadora.

En este gráfico que mostramos se utilizaron diferentes herramientas que nos proporciona WebGL como esferas, luz ambiental para el efecto de luz de noche, imágenes, controles de orbita para manejar el gráfico con el mouse, etc. En la imagen podemos observar el planeta Tierra abierto desde un navegador.



La siguiente imagen muestra varias figuras en la que están incluidos en Blender. En este ejercicio se manejan los principalmente los diferentes materiales que hay en el software, así como las diferentes figuras que tiene.



En este otro ejercicio también se manejan materiales, a diferencia de que en este se manejan los objetos con nodos haciendo que el material sea más sencillo de modificar. En la siguiente imagen se muestra un cubo encima de un plano emulando un tablero de ajedrez.


A continuación mostraremos una pecera con una manta sobre ella. Este trabajo se llevo a cabo manejando los objetos de Blender en modo edición y así modificar los objetos que hay en Blender. Otra de las principales cosas que se utilizaron fue la división en nodos en el plano, y cambiando las propiedades para emular una manta.


En esta práctica se utilizaron las curvas de Bézier para la creación del logotipo de twitter. Además del uso de texto.


Por último en este ejercicio se utilizaron las propiedades de partículas y nodos para los materiales y el brillo. También destaca por la utilización de lámparas para la iluminación sino usando planos y cambiando el material.