Está en la página 1de 18

5.1.

- Introducción
z Animación= gráficos e imágenes estáticas entre las
que existe una relación temporal.

z Animación= imágenes realizadas mediante gráficos y


generadas por ordenador.

z Una secuencia de imágenes está caracterizada por su


resolución, número de colores y el número de
imágenes que se muestra por unidad de tiempo (frame
rate), de forma que la impresión obtenida sea la de que
existe movimiento.

z Sensación de movimiento continuo: fr ≈ 25 imágenes


por segundo.
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 1

5.2.- Conceptos básicos (I).

z El término animación viene del griego


“anemos”=viento, aliento y del latín “animus”=dar vida,
por eso se asocia habitualmente con el de movimiento.

z ANIMACIÓN POR ORDENADOR= GENERACIÓN,


ALMACENAMIENTO y PRESENTACIÓN DE
IMÁGENES QUE EN SUCESIÓN RÁPIDA
PRODUCEN SENSACIÓN DE MOVIMIENTO.

z Persistencia de visión
– Semejanza entre fotogramas.
– Fluidez de movimiento.
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 2

1
5.2.- Conceptos básicos (II).
z Reproducción de movimientos reales
– Aliasing temporal
– Difuminado de movimiento

z Si disponemos de una serie de fotogramas de una animación, y


suponiendo una frecuencia de presentación constante:
– Al aumentar el número de fotogramas mostrados por
segundo el movimiento se hace más lento.
– Al disminuir el número de fotogramas mostrados por
segundo el movimiento se hace más rápido.
– Por ejemplo, si se elimina una imagen de cada tres, la velocidad
aumenta un 50%.

z Animación en tiempo real Vs Animación fotograma a fotograma.


fotograma.

z Origen de los fotogramas


Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 3

5.2.- Conceptos básicos (III).

z En un sistema de animación por ordenador se distinguen los


siguientes componentes:
– Guión: Descripción detallada de las escenas de la animación.
– Decorado: Elementos inmóviles de la escena.
– Actores: Elementos móviles definidos mediante unas variables que
se modifican a lo largo del tiempo siguiendo unas reglas
determinadas.
– Focos: Fuentes de luz que iluminan la escena.Se pueden modificar
tanto posición como características a lo largo del tiempo.
– Cámaras: Se definen por su posición, su punto de visión y ángulo de
visión. Panorámicas, zooms, fundidos, etc.
– Coreografía: Creación de elementos, descripción de sus
movimientos y sincronización de los mismos.

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 4

2
5.2.- Proceso de obtención de animaciones.

z Entrada
– Digitalización/creación de dibujos
– Postprocesamiento

z Composición
– Composición de imágenes para combinar elementos de fondos y
primeros planos

z Intermedio
– Necesidad de posiciones intermedias para la sensación de
animación de una posición a otra.

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 5

5.3.- Primeros hitos en la historia de la


animación

z 1824 Peter Roget presenta el trabajo "The persistence of vision with


regard to moving objects" en la British Royal Society.
z ……
z 1895 Los hermanos Louis y Auguste LumièLumière patentan un dispositivo
llamado cinemató
cinematógrafo, capaz de proyectar imá
imágenes en movimiento.
z 1906 J. Stuart Blackton realiza la primera pelí
película de animació
animación titulada
"Humorous phases of funny faces".
z 1909 Winsor McCay realiza unos dibujos animados llamados "Gertie the
Trained Dinosaur" conteniendo unos 10000 dibujos.
z …
z 1927 La Warner Brothers lanza "El cantante de Jazz", primera pelí
película
sonora.
z 1928 Walt Disney crea los primeros dibujos animados con sonido
sincronizado: el rató
ratón Mickey.
Mickey.
z ……..
……..
z 1964 Ken Knowlton de los laboratorios Bell, comienza a desarrollar
desarrollar
técnicas informá
informáticas para generar animaciones.
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 6

3
5.4.- Animación tradicional aplicada a la
animación por ordenador (I).

z Los principios básicos de la animación tradicional son los siguientes:


siguientes:
1. Anticipación: Se prepara la siguiente acción (por ejemplo, antes de salir
corriendo postura forzada en sentido contrario). La anticipación permite:
z Preparar los músculos para la acción.
z Preparar al espectador y captar la atención hacia la acción principal.
principal.
z Indicar la velocidad de acción.

2. Estiramiento y compresión: Para conseguir movimientos fluidos y


sensación de elasticidad. Los objetos se deforman en la dirección
dirección de
desplazamiento para dar sensación de peso y gravedad.

3. Solapamiento y continuación de las acciones:


z El solapamiento consiste en comenzar la siguiente acción antes dede terminar la
anterior.
z La continuación significa que los movimientos no se detienen bruscamente,
bruscamente, sino
que continúan más allá de su posición final (p.e. raquetazo que continúa por inercia
mucho después de haber dado a la bola).

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 7

5.4.- Animación tradicional aplicada a la


animación por ordenador (II).

z Otros efectos que podemos realizar sobre las


animaciones son:

– Exageración: Sirve para llamar la atención sobre los


elementos más importantes.

– Acción principal y acciones secundarias:


z La acción principal ha de ser única y clara: debe pasar una sola
cosa en cada momento.
z Se utilizan acciones secundarias (anticipación, continuación, etc.)
etc.)
que complementan la acción principal sin competir con ella.

z La mayoría de los desplazamientos siguen trayectorias


curvas.
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 8

4
5.4.- Animación tradicional aplicada a la
animación por ordenador (III).
z Uso de terminología cinematográfica en
animación:
– Película: toda la animación en su conjunto
– Escena: cierta continuidad en cuanto a lugares,
actores y acciones
– Secuencia: sucesión de planos
– Plano: serie de fotogramas captados por la cámara
de forma ininterrumpida
– Fotograma: imágenes individuales

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 9

5.5 Especificación de animaciones


z Listas lineales
– Eventos definidos por frame de inicio, frame de fin y acción
a realizar
– Ej: 42,53,ROTATE “PALM”,1,30

z Lenguajes de programación de alto nivel


– Primitivas como vectores, colores, polígonos, puntos de
vista, submundos, transformaciones geométricas, etc.
– Ej: (grasp my-cube) ; (cw 0.05) ; (right panning-speed)

z Lenguajes gráficos
– Describen las animaciones de forma visual

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 10

5
5.6 Métodos para controlar una
animación (I)
z Control explícitamente declarado
– Descripción de todos los eventos posibles
z Control procedural
– Comunicación entre diferentes objetos
– Cada objeto conoce propiedades estáticas/dinámicas de
otros objetos
z Control basado en restricciones
– Movimientos limitados por el entorno
– Jerarquías de condiciones
z Control por análisis de la acción en vivo
– Estudio de movimientos de objetos en el mundo real
– Actuación de seres reales, procesamiento del resultado y
cambiar seres reales por animados.
– Asignar indicadores a puntos clave del cuerpo humano y
cálculo del modelo de animación en base a ello

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 11

5.6 Métodos para controlar una


animación (II)
z Control cinemático y dinámico
– Cinemática: Estudio del movimiento
independientemente de las fuerzas
z Cinemática directa: Calcular posiciones de las
estructuras en base a la rotación de articulaciones
z Cinemática inversa: A partir de una posición, obtener la
rotación
– Dinámica: Estudio del movimiento teniendo en
cuenta las fuerzas que intervienen
z Dinámica directa: a partir de las masas y fuerzas, obtener
aceleraciones
z Dinámica inversa: a partir de masas y aceleraciones,
calcular las fuerzas a aplicar
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 12

6
5.7.- Técnicas de animación por ordenador (I).
z Algunas de las técnicas de animación por ordenador más comunes son:
son:
– ROTOSCOPIA: Capturar un movimiento real y utilizar esa información para
mover un diseño generado por ordenador.
z modelo. Normalmente los movimientos reales son demasiados
Simplificación del modelo.
complejos para intentar capturarlos íntegramente. Hay que identificar
identificar las partes
fundamentales del movimiento.
z referencia. Normalmente, son las
Identificación y marcado de puntos de referencia.
articulaciones, y se suelen marcar con círculos de color rojo.
z Realización de movimientos y recogida de datos (mediante múltiples cámaras de
vídeo, traje de datos, dataglobe,
dataglobe, etc...).
z Una vez digitalizada la información, se aplica esta al modelo generado
generado por
ordenador para controlar su movimiento.

– ANIMACIÓN PASO A PASO: Consiste en definir manualmente cada uno de


los fotogramas.
z En algunos tipos de animación tradicional (animación de figuras de plastilina) se
usa esta técnica.
z Esta técnica es muy lenta y sólo se utiliza para pequeñas animaciones.
animaciones.

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 13

5.7.- Técnicas de animación por ordenador


(II).
– ANIMACIÓN POR COTAS: Consiste en basar el movimiento en unos
fotogramas fundamentales (keyframes) y luego dejar que el sistema
sistema
genere automáticamente los fotogramas intermedios mediante
métodos de interpolación.
z Es importante que las cotas sean representativas del movimiento para
que la interpolación tenga suficiente información.
z Esta técnica está basada en los métodos de animación tradicionales,
tradicionales, en
los que los animadores más expertos dibujan los momentos
fundamentales del movimiento (cotas o keyframes) y los animadores
animadores
principiantes dibujan los fotogramas intermedios (inbetweens).

– ANIMACIÓN PROCEDURAL: Consiste en describir el movimiento de


forma algorítmica.
z Hay una serie de reglas que controlan como se van modificando los los
distintos parámetros, como la posición o la forma a lo largo del tiempo.
z Es una buena solución para movimientos sencillos pero no para
movimientos más complejos.

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 14

7
5.8.- Visualización de animación (I)
z Convertir los objetos animados a mapas de
píxels

z 10-20 veces/segundo

z Tiempo de generación de imagen : 100 ms


– Conversión
– Borrado y redibujado

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 15

5.8.- Visualización de animación (II)


Cargar LookUp Table (LUT) para mostrar valores como
color de fondo

Repetir
Convertir objeto en image1
Cargar LUT para mostrar image1
Rotar la descripción de la estructura de datos del
objeto
Convertir objeto en image0
Cargar LUT para mostrar image0
Rotar la descripción de la estructura de datos del
objeto
Hasta (condición de terminación)

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 16

8
5.9.- Transmisión de animaciones

z Transmisión de la representación simbólica


– El receptor debe interpretar esa representación
– El receptor debe hacer la conversión
– Rápida transmisión, lenta visualización

z Transmisión de mapas de píxels


– El receptor sólo visualiza
– Lenta transmisión, rápida visualización

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 17

5.10.- Formatos para describir


animaciones

z FLC/FLI

z GIF

z VRML

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 18

9
5.10.1.- FLC/FLI (I).
z FLC/FLI (Animator Pro File Formats).
– La idea del formato FLI es simple: “NO HAY QUE
PREOCUPARSE DE GUARDAR LAS PARTES DE UN
CUADRO QUE SE MANTIENEN DEL CUADRO ANTERIOR”.
Con ello ahorramos espacio de almacenamiento y ganamos
en velocidad.
– El fichero está compuesto por una cabecera de 128 bytes
seguida por una secuencia de frames.
– El primero de los frames está comprimido utilizando un
esquema run-length encoding.
– Los siguientes frames se guardan como la diferencia con el
cuadro anterior.
– Existe un frame extra al final que recoge la diferencia entre el
último y el primer frame.
z Cabecera 128 bytes
– 22 comunes FLC/FLI
– 106 válidos solo para FLC
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 19

5.10.1.- FLC/FLI : Cabecera FLI.


typedef struct _FlicHeader
{
DWORD FileSize; /* tamaño del fichero */
WORD FileId; /* indicador de formato de archivo 0xAF11: FLI 0xAF12: FLC*/
WORD NumberOfFrames; /* número de frames, máximo 4000 */
WORD Width; /* ancho de la pantalla en píxels */
WORD Height; /* alto de la pantalla en píxels */
WORD PixelDepth; /* bits por pixel: valor 0x8 */
WORD Flags; /* valor 03h */
DWORD FrameDelay;
/* retardo entre frames; FLI: unidades de 1/70 segundos; FLC: 1/1000 segundos */
WORD Reserved1; /* valor 00h */
// Los siguientes valen 0x00 en un fichero FLI
DWORD DateCreated; /* fecha/hora de creación, desde el 1 Enero 1970, formato MSDOS */
DWORD CreatorSN;
/* número de serie del programa creador; si fue creado con la librería FlicLib valor 46h 4Ch 49h 42h ("FLIB") */
DWORD LastUpdated; /* fecha/hora de la última modificación, como para la creación */
DWORD UpdaterSN; /* número de serie del programa actualizador */
WORD XAspect; /* aspect ratio del eje X*/
WORD YAspect; /* aspect ratio del eje Y */
BYTE Reserved2[38]; /* valor 00h */ DWORD Frame1Offset; /* Offset del primer frame */
DWORD Frame2Offset; /* Offset del segundo frame */
BYTE Reserved3[40]; /* valor 00h */
}
FLICHEADER;

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 20

10
5.10.1.- FLC/FLI : Datos FLI (I)
typedef struct _ChunkHeader
{
DWORD ChunkSize; /* tamaño en bytes */
WORD ChunkType; /* identificador de tipo de bloque */
WORD NumberOfChunks; /* número de subbloques */
BYTE Reserved[8]; /* valor 00h */
} CHUNKHEADER;

Valor Nombre Descripción


04h COLOR_256 Paleta de 256 colores
07h DELTA_FLC Datos con compresión delta

0Bh COLOR_64 Paleta de 64 colores


0Ch DELTA_FLI Datos con compresión delta

0Dh BLACK Datos de frame en negro


0Fh BYTE_RUN Datos con compresión RLE
10h FLI_COPY Datos sin comprimir
12h PSTAMP Imagen con estampación

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 21

5.10.1.- FLC/FLI : Estructura interna FLI

CabeceraFLI
Frame 1 (compresión RLE)
(sub)bloque PSTAMP (opcional)
(sub)bloque COLOR_256
(sub)bloque BYTE_RUN
(sub)bloque COLOR_256
(sub)bloque BYTE_RUN
Frame 2 (compresión Delta)
(sub)bloque COLOR_256
(sub)bloque DELTA_FLI
Frame 3 (sin comprimir)
(sub)bloque COLOR_256
(sub)bloque FLI_COPY
Frame 4 (Negro)
(sub)bloque BLACK
Frame n (compresión Delta)
(sub)bloque COLOR_256
(sub)bloque DELTA_FLI

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 22

11
5.10.1.- FLC/FLI : Bloque DELTA_FLI
typedef struct _DeltaFliChunk
{
CHUNKHEADER Header; /* cabecera */
WORD LinesToSkip; /* número de líneas iniciales a saltar */
WORD NumberOfLines; /* número de líneas codificadas */
/* para cada línea */
struct _Line
{
BYTE NumberOfPackets; /* número de paquetes */
BYTE LineSkipCount; /* número de líneas a omitir */
struct _Packet /* Para cada paquete */
{
BYTE SkipCount; /* número de pixels a saltar, indica el
número del píxel actual */
BYTE PacketType; /* Codificación del paquete */
BYTE PixelData[]; /* datos de pixels del paquete */
} Packet[NumberOfPackets];
} Lines[NumberOfLines];
} DELTAFLICHUNK;
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 23

5.10.1.- FLC/FLI : Bloque DELTA_FLC

typedef struct _DeltaFlcChunk


{
CHUNKHEADER Header; /* cabecera */
WORD NumberOfLines; /* número de líneas codificadas */
struct _Line /* Para cada línea */
{
WORD PacketCount; /* conteo de paquetes, de saltos o valor
del último byte */
struct _Packet /* Para cada paquete */
{
BYTE SkipCount; /* número de pixels a saltar */
BYTE PacketType; /* tipo de codificación */
WORD PixelData[]; /* datos de píxels */
} Packet[NumberOfPackets];
} Lines[NumberOfLines];
} DELTAFLCCHUNK;

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 24

12
5.10.1.- FLC/FLI : Bloque BYTE_RUN

typedef struct _ByteRunChunk


{
CHUNKHEADER Header; /* cabecera */
BYTE PixelData[]; /* datos de pixels codificados con RLE */
} BYTERUNCHUNK;

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 25

5.10.1.- FLC/FLI : Bloque FLI_COPY

typedef struct _CopyChunk


{
CHUNKHEADER Header; /* cabecera */
BYTE PixelData[]; /* valor de los pixels alto*ancho*/
} COPYCHUNK;

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 26

13
5.10.1.- FLC/FLI : Bloque PSTAMP

typedef struct _PstampChunk


{
DWORD ChunkSize; /* tamaño del bloque */
WORD ChunkType; /* identificador de tipo*/
WORD Height; /* altura en píxels */
WORD Width; /* anchura en píxels */
WORD ColorType; /* tipo de traducción de color */
BYTERUNCHUNK PixelData; /* datos 100x63*/
} PSTAMPCHUNK;

Los posibles valores como identificador de tipo son:


0Fh Codificación run-length
10h Datos sin comprimir
12h Tabla de traducción de color de 6 cubos

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 27

5.10.1.- FLC/FLI : Bloque BLACK

typedef struct _BlackChunk


{
CHUNKHEADER Header; /* cabecera */
} BLACKCHUNK;

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 28

14
5.10.1.- FLC/FLI : Bloque COLOR_64/256
typedef struct _ColormapChunk{
CHUNKHEADER Header; /* cabecera */
WORD NumberOfElements; /* número de elementos de color en el mapa */
struct _ColorElement /* Para cada elemento */
{
BYTE SkipCount; /* Número de colores a saltar */
BYTE ColorCount; /* Número de colores */
struct _ColorComponent /* Para cada color */
{
BYTE Red; /* rojo 0..63 para COLOR_64, 0..255 para COLOR_256 */
BYTE Green; /* verde */
BYTE Blue; /* azul */
} ColorComponents[ColorCount];
} ColorElements[NumberOfElements];
} COLORMAPCHUNK;
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 29

5.10.2.- GIF89a (I).


z GIF89a
– Un GIF puede tener más de una imagen por fichero,
permitiendo llevar a cabo una sucesión de imágenes y no
una única imagen.
– A este formato se le añadieron una serie de especificaciones
que dio origen al formato GIF89a, que guarda información
acerca de cuestiones como:
z Cuantas centésimas de segundo hay que esperar antes de
mostrar el siguiente fotograma.
z Esperar por la entrada de usuario.
z Especificar el color transparente.
z Incluir comentarios no imprimibles.
z Mostrar líneas de texto.
z Indicar como deberá ser eliminado después de haber sido
mostrado.
z Extensiones de aplicaciones específicas dentro del fichero.
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 30

15
5.10.2.- GIF89a (II).
z La estructura de un fichero GIF89a está
está compuesta por bloques y
extensiones.

z Las caracterí
características bá
básicas de este formato lo han hecho muy
popular entre los creadores de pá
páginas Web por:
– Que mantiene los beneficios de GIF: transparencia, compresió
compresión,
entrelazado, paletas y permite un compromiso entre tamañ
tamaño y
compresió
compresión.
– Es soportado por la mayorí
mayoría de navegadores y plataformas.

Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 31

5.10.3.- VRML
z Virtual Reality Modelling Language es un formato
estándar de fichero (ISO/IEC 14772) que describe la
creación y exploración en la Web de entornos
tridimensionales interactivos. (fichero .wrl)
z Características
– Independencia de plataforma
– Extensibilidad
– Trabaja con bandos de ancha bajos
– Puede contener referencias a otros mundos, documentos
HTML o MIME
– Describe escenas e interacciones con el usuario
– Incluye diferentes niveles de detalle: va mostrando
aproximaciones hasta tener todo el modelo cargado
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 32

16
5.10.3.- Estructura básica de VRML
z Grafos de escena
z Característica de un nodo
– Tipo de objeto (cubo, esfera, transformación, etc)
– Parámetros o campos que lo diferencian
– Nombre identificador
– Nodos hijos

Separator {
Material { emissiveColor 0.3 0.1 0.3 }
Cylinder {
radius 0.1
height .2
}
}
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 33

5.10.3.- Nodos VRML (I)


z Definen la geometría del mundo, cómo se dibujan las
formas los diferentes grupos.
z Nodos geométricos
– Formas: AsciiText, Cone, Cube, Cylinder, IndexedFaceSet,
IndexedLineSet,PointSet,Sphere.
– Propiedades geométricas: Coordinate3, FontStyle, Info,
Material, MaterialBinding, Normal, Texture2,..
– Propiedades de transformaciones: MatrixTransform,
Rotation, Scale, Translation
z Nodos de grupo
– Separator, Switch, WWW Anchor, LOD (level of detail)
z Otros nodos
– OrtographicCamera, PerspectiveCamera,
PointLight,SpotLight
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06 34

17
5.10.3.- Nodos VRML (II)
z Instanciación
– Un nodo puede ser hijo de más de un grupo
– DEF y USE para usar una ocurrencia múltiples veces.

z Extensibilidad
– Las extensiones a VRML se incluyen con nodos auto-definidos, en
los que se indica antes de sus campos una descripción de cuáles
son esos campos (nombre y tipo de valor), con la palabra fields y
entre corchetes.

Si Cube no fuera parte del estándar, se indicaría como


Cube {
fields [ SFFloat width, SFFloat height, SFFloat depth ]
width 10 height 4 depth 3 }

– Esta especificación se debe hacer en cada nodo no estándar,


aunque ya haya aparecido antes. 35
Sistemas Multimedia e Interacción Gráfica- Curso 2005/06

18

También podría gustarte