animacion curso

329
Animación por Ordenador José Cortés Parejo - 2012 e-mail: [email protected] Web Personal: http://personal.us.es/jcortes Web Depto.: http://ma1.eii.us.es/Master.aspx Material: http://personal.us.es/jcortes/Material/Material.htm

Upload: yelowa-uribe

Post on 09-Apr-2016

53 views

Category:

Documents


5 download

DESCRIPTION

animacion curso

TRANSCRIPT

Page 1: animacion curso

Animación por Ordenador

José Cortés Parejo - 2012

e-mail: [email protected]

Web Personal: http://personal.us.es/jcortes

Web Depto.: http://ma1.eii.us.es/Master.aspx

Material: http://personal.us.es/jcortes/Material/Material.htm

Page 2: animacion curso

Introducción 1

• Contenido del Curso

• Bibliografía

• Principios Físicos de la Animación

• Historia de la Animación

• Hardware y Software para Animación

• Técnicas de Animación (Bajo/Alto nivel)

Page 3: animacion curso

Contenido

1. Introducción

Principios físicos de la animación. Historia de la animación por ordenador.

Software y Hardware de animación. Técnicas de vídeo. Aplicaciones.

Técnicas tradicionales de animación. Animación asistida (Inbetweening,

Inking, Morphing 2D)

2. Elementos para la Síntesis de Imágenes por Ordenador

Geometría 2D/3D. Representación de líneas 2D/3D, polígonos, poliedros y

superficies. Transformaciones 2D y 3D. Perspectiva. Cámara virtual.

Visibilidad. Z-Buffer. Ray Tracing. Teoría del Color. Iluminación. Modelos de

reflexión. Fotorrealismo. Sombras, Interreflexiones. Transparencia. Texturas

Page 4: animacion curso

3. Especificación y Control del Movimiento

Especificación de la posición. Interpolación. Curvas paramétricas. Curvas de

Bezier. Curvas Spline. Nurbs. Especificación del movimiento. Velocidad y

aceleración. Parametrización por longitud de arco. Movimientos uniformes

sobre una recta y una circunferencia. Control de velocidad. Movimientos con

aceleración constante. Curva Ease-In/Ease-Out. Control cinético total.

4. Especificación y Control de la Orientación

Orientación de un cuerpo rígido. Representación de la orientación. Matriz de

transformación. Angulos de Euler. Sistema Eje-Angulo. Interpolación de

orientaciones. Gimbal Lock. Cuaterniones. Interpolación esférica.

5. Estructuras jerárquicas. Estructuras articuladas

Sistemas jerárquicos. Cinemática directa e inversa. Estructuras articuladas.

Juntas y elementos rígidos. Representación. Posicionamiento y orientación

mediante cinemática directa. Cinemática inversa. Restricciones.

Page 5: animacion curso

6. Animación físicamente basada. Dinámica

Dinámica de una partícula. Leyes de Newton. Ejemplos básicos. Fuerza

constante. Caída libre. Movimiento armónico. Sistemas de Masas-Resortes.

Dinámica de Telas. Dinámica de cuerpos rígidos. Cantidad de movimiento y

energía. Momento angular y de inercia. Colisión. Detección y respuesta.

Grupos de objetos. Sistemas de partículas. Comportamiento autónomo.

7. Temas avanzados de animación

Simulación de la marcha mediante cinemática directa. Ciclo del paso.

Posicionamiento mediante cinemática inversa. Captura del movimiento.

Edición del movimiento. Retargetting. Animación facial.

Page 6: animacion curso

Bibliografía Básica

Foley, Van Dam, Feiner, Hughes:

Computer Graphics. Principles and Practice. Addison Wesley, (1990)

Magnenat-Thalmann, N. & Thalmann, D.:

Computer Animation. Theory and Practice. Springer Verlag, New York (1985)

O’Rourke, M.:

Principles of Three-Dimensional Computer Animation. W.W. Norton & Co. (1995)

Parent, R.:

Computer Animation. Algorithms and Techniques. Morgan-Kaufman (2002)

Vince, J.:

3-D Computer Animation. Addison Wesley, (1992)

Watt, A. & Watt, M.:

Advanced Animation and Rendering Techniques. Addison Wesley, (1992)

Page 7: animacion curso

Bibliografía (Aplicaciones comerciales)

Molero, J.:

3ds Max 2008. Curso de Iniciación. Inforbook’s Ediciones (2008)

Molero, J.:

3ds Max 2008. Curso Avanzado. Inforbook’s Ediciones (2008)

Derakhshari, D.:

Maya 2008. Anaya Multimedia (2008)

Roosental, T.; Selleri, S. & alter (Editores):

The Official Blender 2.3 Guide. Blender Foundation (2004)

Mullen, T.:

Introducing Character Animation with Blender. Wiley Publishing, Inc. (2007)

Blanco, J.:

Flash CS3. Curso de Iniciación. Inforbook’s Ediciones (2008)

Page 8: animacion curso

Referencias en Internet

Páginas de contenido general Tutoriales, Artículos, Foros

http://www.escardo.com

http://www.3dyanimacion.com

http://www.esmaya.com

http://www.3dluvr.com

http://www.video3d.es

http://www.animation.dreamers.com

http://www.blender.org

Page 9: animacion curso

Referencias en Internet

Cursos

François Faure

http://www.cg.tuwien.ac.at/courses/Animation/VO.html

Rick Parent

http://www.siggraph.org/education/materials/HyperGraph/animation/

rick_parent/Outline.html

Varios

http://www.foro3d.com

http://www.seriesflash.com

http://www.pixelydixel.com

http://www.3dcafe.com

Page 10: animacion curso

Principios Físicos de la Animación

• El ojo no percibe el movimiento de forma continua

Sólo capta instantes concretos (imágenes fijas)

• El cerebro genera la sensación de movimiento

Peter Roget (1824):

The Persistence of Vision with Regard to Moving Objects

Descubre la captación discreta de imágenes

Establece las bases para la construcción de dispositivos capaces

de recrear movimientos a partir de imágenes fijas

Page 11: animacion curso

Persistencia de la Visión

Una imagen o fuente de luz que se muestra al ojo queda

retenida durante una fracción de tiempo (0.02 seg.) durante el

cual ninguna otra información visual puede ser captada

Frecuencia de Fusión

Velocidad (frecuencia) con la que una fuente de luz debe

encenderse y apagarse sucesivamente ( 50 Hz.) para que el

ojo, a causa de la Persistencia de la Visión, la perciba como si

siempre estuviera encendida

Fundamentos Físicos

Page 12: animacion curso

• Si al ojo se muestran en sucesión imágenes a una tasa igual

o superior a la frecuencia de fusión, la percepción será la de

un movimiento continuo

• Si la tasa es inferior, el ojo apreciará las distintas imágenes

(Flicker, parpadeo)

• También se produce Flicker si las imágenes individuales no

se eliminan del campo visual a suficiente velocidad

Tasa de muestreo (sampling rate):

Número de imágenes diferentes que se muestran

Fundamentos Físicos

Page 13: animacion curso

Tasa de Muestreo

Tasa de Muestreo: 5 Imágenes/seg. Tasa de Muestreo: 30 Imágenes/seg.

Tasa de Refresco: 5 Cuadros/seg. Tasa de Refresco: 30 Cuadros/seg.

Page 14: animacion curso

Cine: 24 imágenes distintas por segundo

Cada imagen se muestra 2 veces mediante el obturador

La frecuencia real es de 48 imágenes por segundo

TV (sistema Pal): 50 imágenes (distintas) por segundo

Cada 2 consecutivas corresponden a líneas pares/impares

Una imagen completa se reconstruye en 1/25 de segundo

TV (sistema NTSC): 60 imágenes (distintas) por segundo

Cada imagen completa se reconstruye en 1/30 de segundo

Monitor: Más de 60 imágenes (distintas) por segundo

Utilización de doble buffer para incrementar la calidad

Tasa de Muestreo

Page 15: animacion curso

Aliasing del movimiento (Motion Blur)

Efecto que ocurre cuando un movimiento es demasiado rápido como

para que un dispositivo de captura consiga imágenes fijas

Recíprocamente, al reproducir una secuencia de imágenes fijas que

corresponden a un movimiento rápido, el ojo puede percibir una ilusión

distinta al movimiento original

Foto: Kristen Elsby

Page 16: animacion curso

Historia de la Animación

- Phenakistoscope Praxinoscope

J.A. Plateau & S. Ritter, 1831

- Zoetrope, rueda de la vida

W.G. Horner, 1834

- Flipbook

- Kinetoscope

T. Edison, 1889

- Cinematógrafo

Louis & Auguste Lumiere, 1895

Dispositivos mecánicos para producir animación:

Page 17: animacion curso

Dibujos animados (Cinematógrafo)

J. Stuart Blackton: Humorous phases of funny faces.

Primer dibujo animado, (1906)

Winsor McCay:

Little Nemo (1911)

Gertie the Trained Dinosaur (1914)

Primeros dibujos animados populares

Gertie contenía 10.000 dibujos

Page 18: animacion curso

Dibujos animados (Cinematógrafo)

John Bray: Crea los Translucent Cells (1910)

Max Fleischer: Betty Boop. (1915)

Walter Lanz: Woody Woodpecker. (1915)

Walt Disney: Alice in Wonderland. (1923)

Mickey Mouse. Incorpora sonido (1928)

Page 19: animacion curso

Animación por Ordenador

Ivan Sutherland: SketchPad System.

Dibujos animados de líneas (1963)

W. Disney + 4 Compañías: Tron

Escenarios por ordenador (1982)

Page 20: animacion curso

Animación por Ordenador (Flying Logos)

Page 21: animacion curso

Animación por Ordenador

John Lasseter (Pixar):

Luxo Jr Nominada al Oscar (1986)

Tin Toy Gana un Oscar (1988)

Page 22: animacion curso

Animación por Ordenador

ILM: The Abyss (1989), Terminator II (1991)

Jurassic Park (1993), Jumanji (1995)

Pixar/Disney: Toy Story (1995)

1er Largometraje hecho por ordenador

Page 23: animacion curso

Animación por Ordenador

2001: Shrek (DreamWorks), Monstruos S.A. (Pixar), El Bosque Animado (Dygra)

2003: Buscando a Nemo (Pixar) 2004: Los Increíbles (Pixar) 2002: La Edad del Hielo (Blue Sky)

Page 24: animacion curso

Animación por Ordenador

2005: Madagascar (DreamWorks) 2005: Robots (Blue Sky)

2006: Cars (Pixar) 2007: Ratatouille (Pixar)

Page 25: animacion curso

Animación por Ordenador

2008: Wall-e (Pixar/Disney)

Kung-Fu Panda (DreamWorks)

2009: Monstruos vs Aliens (DreamWorks)

Page 26: animacion curso

Animación por Ordenador

P. Bergeron

Tony de Peltrie (1985)

D. Thalmann

Rendez-vous à Montreal (1987)

Actores Sintéticos

ILM: Casper (1995) Stars Wars

1er personaje totalmente articulado (1999)

Varios: Final Fantasy, Schrek, Ant Z

Page 27: animacion curso

Hardware Gráfico

Primeros sistemas: Plotter, Impresora, Osciloscopio

Frame Buffer/Z-Buffer: Cada pixel una unidad de memoria

Imagen 1024*768 2.2 Mb (24 bits/pixel)

Imagen 2048*1536 (3 Mpixels) 9 Mb (24 bits/pixel)

Imagen 2560*1920 (5 Mpixels) 15 Mb (24 bits/pixel)

Almacenamiento-Tiempo de computación:

Animación 30 min. a 25 F/s 45000 Imágenes 500 Gb.

Tiempo (a 1 Imagen/min.): 30 días

Grabación Analógica:

Grabación Frame a Frame (sin comprimir) en Cinta

Page 28: animacion curso

Tarjetas Gráficas

• Independizan al procesador de las tareas gráficas

- Rellenado de polígonos 2D (rasterization)

- Transformaciones afines 2D, 3D

- Recorte 2D/3D (Clipping)

- Perspectiva

- Visibilidad (Z-Buffer)

- Sombreado interpolatorio (Gouraud, Phong)

- Iluminación

- Texturas, Antialiasing, Filtrado

• Tarjetas semi profesionales

- 25 millones de polígonos/seg. 1 millón en 1/25 seg.

Page 29: animacion curso

Tipos de Imágenes

• Vectoriales: Almacenan información geométrica

- Microsoft: WMF/EMF En todos los casos hay

- Postscript: EPS que renderizar los datos

- CorelDraw: CDR

• Mapas de bits: Almacenan información cromática

- Raw Imagen en bruto, sin comprimir, 3 bytes/pixel

- Graphic Interchange File (GIF) Imágenes comprimidas, Internet

- Microsoft (BMP) Completas o comprimidas

- TIFF Completas o comprimidas

- JPEG (JPG) Sistema complejo de compresión. Pérdida de calidad

- PNG Similar a GIF

Page 30: animacion curso

Resumen

• Vectoriales: Dibujos de tipo científico, logos, iconos, letreros,Fuentes

- Ocupan muy poco

- Escalado/rotación precisas (sin pérdidas)

- Necesitan algoritmos de renderizado

- No se utilizan para Animación

• Mapas de bits: Imágenes fotográficas

- Ocupan mucho → necesidad de compresión

- Problemas en el Escalado/Rotación (pixelado, pérdida de precisión)

- Renderizado muy rápido

Page 31: animacion curso

Formatos de Imagen. Comparación

Dimensiones: 640x480 px. 600x512 px. 600x512 px.

Total pixels: 307 200 307 200 307 200

BMP: 900 KB 900 KB 900 KB

JPG: 92 KB 59 KB 57 KB

GIF: 149 KB 43 KB 25 KB

WMF: - - 8 KB

Page 32: animacion curso

Pixel: Compuesto por 3 fósforos: Rojo, Verde, Azul

3 haces de electrones los excitan en diferentes proporciones

Tecnología de TV

Gamma del Monitor: La Intensidad emitida por un fósforo

no es proporcional a la intensidad del haz de electrones

C1 = (0.8,0.4,0.2) no se aprecia con doble intensidad que C2 = (0.4,0.2,0.1)

Page 33: animacion curso

Generación de la imagen:

Tecnología de TV/Vídeo

Barrido Horizontal: Lectura del Frame Buffer

Retroceso Vertical

Retroceso Horizontal

Vídeo Entrelazado

La imagen se genera en 2

campos (líneas impares,

líneas pares)

Vídeo No Entrelazado

Todas las líneas se generan

en sucesión

Uso de Doble Buffer para generación de vídeo en tiempo real

Page 34: animacion curso

Estándares de TV/Vídeo Analógicos

TV analógica:

NTSC (USA)

- 60 Hz., Entrelazado, 525 líneas (sólo 480 con información gráfica)

- Aspect Ratio 4:3 640 pixels por línea

PAL (Europa)

- 50 Hz., Entrelazado, 625 líneas (sólo 576 con información gráfica)

- Aspect Ratio 4:3 768 pixels por línea

Vídeo analógico:

VHS (Doméstico), S-VHS (Semiprofesional), BetaCam (Profesional)

Page 35: animacion curso

Estándares de TV/Vídeo Digitales

Monitor RGB:

- Frecuencia: Al menos 60 Hz. (hasta 240 Hz.), No Entrelazado

- Resolución: 2048 × 1536 × 32 bits/pixel

Más frecuentes: 1280x960 (4:3), 1366x768 (16:9), 1600x1024 (25:26)

Vídeo: Siempre utiliza compresión

- Vídeo de 90’, 25 Im./Seg., 768×576×24 bpp: 167 GigaBytes (sin comprimir)

• Compresión de imágenes fijas: Motion JPEG (MJPEG)

- Almacena imágenes comprimidas JPEG (Ejemplo: 22 GB 13 %)

• Compresión diferencial: Codecs

- Almacena sólo la variación de una imagen a otra

Page 36: animacion curso

Codecs/Formatos de Vídeo Digital

Codecs (Codificador/decodificador):

• Algoritmos de compresión. Reducen la resolución, calidad, etc.

• Tasas de compresión muy altas (hasta 1-10 Mb. por minuto)

• MPEG (Moving Pictures Experts Group - 1988) Grupo ISO

- MPEG-1 Formato VCD (en desuso) Resolución: 352 × 240

- MPEG-2 Formato DVD. Transmisión HDTV (MPEG-3)

- MPEG-4 Varios formatos

• RM (Real Media), Cinepack (Radius), WM (Microsoft)

- Codecs asociados a Real One Player, 3DS MAX y WindowsMedia

• DivX, XviD

- Basados en MPEG-4. Ofrecen la máxima compresión. Gratuitos

Page 37: animacion curso

Comparación de Codecs

Clip Original: 1200 Frames (600x400x24) a 24 Frames/seg. (50”)

Page 38: animacion curso

Comparación de Codecs

Cuadros Completos: 824 Mb

MJPEG: 88 Mb (10.7%)

CinePack (calidad 100%): 60 Mb (7.3%)

CinePack (calidad 50%): 54 Mb (6.5%)

WindowsMedia (calidad 100%): 45 Mb (5.5%)

WindowsMedia (calidad 80%): 13 Mb (1.6%)

DivX: 11.5 Mb (1.4%) Rel. 72:1

Page 39: animacion curso

Codecs/ Formatos de Vídeo Digital

Formatos de Vídeo:

• Especifican la resolución, tasa de refresco, formato de imagen, etc.

• En general admiten diversos Codecs

• AVI (Microsoft)

- Almacena intercaladas la información de Audio y la de Vídeo

- Admite prácticamente cualquier Códec. Resolución hasta 768*576

• MOV/QuickTime (Apple)

- Utiliza codecs propios

- Menor calidad que AVI

• DVD (Digital Versatil Disc)

- Basado en el codec MPEG-2. Resolución 768 × 576/1024 × 576

Page 40: animacion curso

Software Gráfico

Bajo Nivel: API’s (Application Programming Interfaces)

DirectX (Microsoft) Open GL (Silicon Graphics)

• Lenguajes de programación de Hardware

Dibujo Vectorial 2D: Corel Draw, Illustrator, InkScape

• Formatos propios

Dibujo Vectorial 3D: 3D-Studio, Maya, Blender (Gratuito)

• Render en formato BitMap. Editor de vídeo

Edición de Vídeo: Movie Maker, Virtual Dub, Rad Video

• Generación de vídeo, Cortar/pegar Clips, transiciones, ...

Page 41: animacion curso

Edición de Vídeo (RadVideo)

Clip Original:

Ancho: 480 pixels

Alto: 320 pixels

Frames: 85592

Frr./seg: 29.97

Tamaño: 478908982 Bytes

Duración: 47 m. 35 s.

Codec: DivX® 5.2.1

Page 42: animacion curso

Edición de Vídeo (RadVideo)

Recorte de Escenas:

Comienzo: Frame 25625

Fin: Frame 26224

Nº de Frames: 600

Recorte de Frames:

Recorte Sup.: 40 pixels

Altura Frames: 240 pixels

Page 43: animacion curso

Edición de Vídeo (RadVideo)

Elección de Codec

Page 44: animacion curso

Animación Asistida por Ordenador

• Utilización del Ordenador en tareas tradicionales

rutinarias y repetitivas (1960)

Rellenado de color (Inking)

- El operario selecciona un color de una paleta

- Apuntando dentro de un contorno, se rellena por semilla

Intercalado (Inbetweening)

- Basado en interpolación

- Intercalado de contornos

- Intercalado de imágenes

Rápida y económica visualización

Page 45: animacion curso

Coloreado (Inking & Coloring)

Page 46: animacion curso

Intercalado (Inbetweening)

Page 47: animacion curso

Intercalado (Morphing)

Page 48: animacion curso

Animación Generada por Ordenador

• Utilización del Ordenador para generar directamente

animación (en principio 2D): Ivan Sutherland, 1960

Posicionar objetos/personajes

- Los objetos son polígonos definidos matemáticamente

- Sus colores de relleno están definidos por programa

Control de movimientos

- Los objetos pueden deformarse utilizando fórmulas

- Sus movimientos son controlados a su vez por fórmulas

Interacción, Reacción a Fuerzas

- El cálculo de ocultaciones lo realiza el ordenador

- Aplicación de Leyes Físicas para controlar el movimiento

Page 49: animacion curso

Animación Generada por Ordenador

• El Ordenador también se utiliza para la generación y

control de objetos conceptualmente tridimensionales

Posicionamiento de objetos

Control de movimientos/deformación

Interacción, Reacción a Fuerzas: Choque, Peso, Fluidez

Creación y movimiento de cámaras virtuales

Visibilidad (ocultación de unos objetos por otros)

Simulación de la Iluminación

Efectos especiales: Sombras, Reflejos, Transparencia, etc.

Page 50: animacion curso

Animación Generada por Ordenador

Técnicas de Bajo Nivel

Control preciso de la posición, orientación y velocidad

Page 51: animacion curso

Técnicas de Bajo Nivel

• Objetos

• Cámara

- Pto. Focal

- Pto. Mira

• Luces

Page 52: animacion curso

Animación Generada por Ordenador

Técnicas de Alto Nivel

Algoritmos complejos

que establecen el

comportamiento,

movimiento o

respuesta de los

objetos (Simulación

Física)

Page 53: animacion curso

Técnicas de Alto Nivel

Page 54: animacion curso

Técnicas tradicionales de Animación

Técnicas que tratan de simular propiedades físicas

de los objetos en su movimiento o en la interacción

con otros objetos (a veces yendo contra las leyes)

Squash & Stretch:

Deformación o distorsión exagerada para simular inercia

Timing:

Velocidad a la que ocurre la acción. Indica indirectamente el tamaño

y peso de los objetos

Anticipation/Staging

Prepara al observador para la siguiente acción. Destaca una acción

determinada del resto para centrar la atención en objetos concretos

Page 55: animacion curso

Técnicas tradicionales de Animación

Follow Trough:

Movimiento relativo de componentes de un objeto (cuando se detiene

un personaje, sus brazos y piernas pueden seguir moviéndose)

Overlapping Action:

Algunas acciones comienzan antes de que otras terminen (cuando se

va a abrir una puerta, los brazos se adelantan antes de llegar)

Slow in/Slow down

Controla que las acciones comiencen y finalicen suavemente

Se implementa (en ordenador) mediante curvas Ease-in/Ease-out

Exaggeration, Secondary Actions, Appeal, Personality

Page 56: animacion curso

Elementos para la Síntesis

de Imágenes por Ordenador

2

Page 57: animacion curso

Técnicas Básicas

• Modelado de objetos 2D/3D

• Transformaciones (posición/orientación)

• Cámaras virtuales

• Visibilidad

• Iluminación y Color

• Texturas

• Fotorrealismo

Page 58: animacion curso

Geometría 2D/3D

Geometría Clásica:

Define las entidades geométricas mediante propiedades

descriptivas: lugar de puntos equidistantes de uno dado,

camino más corto entre 2 puntos, etc.

Geometría Cartesiana:

Asigna valores numéricos a cada punto del plano o del

espacio. Describe las entidades geométricas mediante

fórmulas (ecuaciones) que verifican estos números

Page 59: animacion curso

Coordenadas

Cartesianas

Coordenadas Polares

Sistemas de Referencia 2D

Page 60: animacion curso

Sistemas de Referencia 2D (3D Studio Max)

Page 61: animacion curso

Coordenadas

Cartesianas

Coordenadas

Esféricas

Coordenadas

Cilíndricas

Sistemas de Referencia 3D

Page 62: animacion curso

• Se realiza mediante una o varias funciones (fórmulas)

expresando la relación entre las coordenadas de los

puntos que constituyen la línea

Línea recta infinita:

Circunferencia:

• Ecuación Explícita:

• Ecuación Implícita:

• Ecuación Paramétrica:

042352 yxxy

]sen,[cos3)1,2(),(09)1()2(22

ttyxyx

)(xfy

)(

)(

tgy

tfx

0),( yxf

Métodos de descripción de líneas

Representación de Líneas 2D

Page 63: animacion curso

• Polígono:

Sucesión ordenada de puntos

unidos por segmentos rectos e

incluyendo un área

• Operaciones con Polígonos: 21 3 4 5 76 8 9 10

1

2

3

4

5

6

7

8

9

10

1V

6V

5V

4V

3V

2V

4 2 5 9 8 6

9 5 2 4 8 7V

Representación de Polígonos 2D

Con sólo las coordenadas de los vértices puede hacerse:

- Relleno de color

- Transformaciones (Mover, Escalar, Rotar, Simetría, etc.)

- Intersecciones entre 2 polígonos (choque, superposición, operac. booleanas)

Page 64: animacion curso

Ejemplo: Plano 2D de una Ciudad

Page 65: animacion curso

• Poliedro:

Volumen del espacio acotado por planos

• Representación numérica:

Un poliedro no queda totalmente definido

mediante la relación de sus vértices

Es necesario aportar información sobre

los vértices que componen cada Cara

Poliedros Platónicos

Poliedros distintos y con

los mismos vértices

Representación de Poliedros 3D

Page 66: animacion curso

Estructuras de Datos

Ejemplo de Superficie poliédrica

Vértices: 22.841

Polígonos: 41.259

Page 67: animacion curso

Estructuras de Datos

Ejemplo de Superficie Regular aproximada por polígonos

Vértices: 20.255

Polígonos: 40296

Page 68: animacion curso

Modelado Constructivo

Page 69: animacion curso

Modelado Constructivo

Page 70: animacion curso

Transformaciones Afines:

Al aplicarlas a todos los puntos de un polígono (no sólo a los

vértices), el resultado es de nuevo un polígono

• Para transformar un polígono basta con transformar los vértices

Transformaciones 2D

Page 71: animacion curso

Traslación

0P

1P

01],[ PPba

],[),(),( bayxyx 0( , ) ( , ) ,x y r x s y r s

Escalado respecto al Origen

Transformaciones Afines 2D

Page 72: animacion curso

Rotación alrededor del Origen

)cossen,encos(),( yxyxyx s

Transformaciones Afines 2D

Page 73: animacion curso

)2cos2sen,2en2cos(),( yxyxyx s

Simetría/Reflexión

Transformaciones Afines 2D

Shear

),tg(),( yyxyx

Page 74: animacion curso

Transformaciones Afines:

Al aplicarlas a todos los puntos de un poliedro (no sólo a

vértices y aristas), el resultado es de nuevo un poliedro

• Para transformar un poliedro basta con transformar los vértices

• Transforman planos en planos

Transformaciones 3D

Page 75: animacion curso

Escalado

),,(),,( ztysxrzyx

Traslación

),,(),,( czbyaxzyx

Transformaciones Afines 3D

Page 76: animacion curso

Rotación (alrededor de un Eje)

En la práctica sólo se consideran

rotaciones alrededor de uno de

los ejes cartesianos (Planas)

Una coordenada permanece constante

Las otras 2 coordenadas se transforman

como en una transformación 2D

X

Y

Z

),,( zyx

),,( zyx

)0,,( yx

)0,,( yx

y

x

y

x

zz

cossen

sen-cos

Transformaciones Afines 3D

Page 77: animacion curso

Rotaciones Planas

z

y

x

z

y

x

100

0cossen

0sencos

z

y

x

z

y

x

cos0sen

010

sen0cos

z

y

x

z

y

x

cossen0

sencos0

001

Rotación (Rx) Rotación (Ry) Rotación (Rz)

Page 78: animacion curso

Simetría/Reflexión (respecto a un plano)

En la práctica sólo se consideran

simetrías respecto a uno de los

planos cartesianos

Dos coordenadas quedan constantes

La tercera cambia su signo

tNNIU 2

z

y

x

U

z

y

x

N Vector Normal al plano de simetría

Transformaciones Afines 3D

Page 79: animacion curso

Transformaciones No Afines

No transforman planos en planos (posiblemente algunos sí)

Las caras de un objeto poliédrico se transforman en general en

superficies curvadas

Taper (Afilar) Twist (Retorcer) Bend (Doblar) Original

Page 80: animacion curso

Perspectiva. Cámara virtual

Perspectiva:

• Formación de imágenes en la retina o en una placa fotográfica

• Pérdida de información de profundidad

- Reconstrucción a partir de 2 perspectivas (Estereoscopía)

- Reconstrucción mediante una función de la profundidad

Cámara Pin Hole:

• Cada punto de un

objeto se graba en

un único punto de

la placa

Q D _Q

Page 81: animacion curso

El orificio se sustituye por un punto 3D: Punto Focal

• La placa fotográfica se sustituye por un plano

• Desde cada punto del objeto se lanza un Rayo a través del

Punto Focal, obteniéndose la intersección con el plano

• La imagen se obtiene invertida (en todas las direcciones)

P

Abstracción de la Cámara Pin Hole

Page 82: animacion curso

Plano de proyección paralelo al de la placa y simétrico

respecto al punto focal

λ : Distancia focal

Representación Matemática de la Cámara

P

Page 83: animacion curso

Punto Focal Observador:

Punto de mira:

Dirección de mira:

Cámara Virtual. Parámetros

],,[||||

wvuPP

PPD

M

M

),,( cbaP

MP

El vector D es Normal al plano

de proyección

Distancia focal:

Distancia perpendicular desde

el punto focal al Plano

P0

P

D

PM

Page 84: animacion curso

Se define mediante un rectángulo

centrado en el origen P0 , alineado

con los Ejes Locales y dimensiones

a = 2k b = 2h

Las magnitudes k y h están

relacionadas

con los ángulos de apertura (FOV):

Definición de una Ventana en la Cámara

Si r = h/k es el Aspect Ratio de la ventana:

2tg

2tg HV r

2

Vh

tg2

tg Hk

El ángulo de apertura (circular) en el ojo

humano es de aproximadamente 50º

LX

P

LY

k

h0

P

h V

P P0

Page 85: animacion curso

FOV = 50º

Modificación de la Distancia Focal/FOV

Page 86: animacion curso

FOV = 20º FOV = 90º

Tele-objetivo Gran Angular

Modificación de la Distancia Focal/FOV

Page 87: animacion curso

Cámara Virtual (3D Studio Max)

Page 88: animacion curso

Rendering (Visualización)

Conjunto de técnicas que permiten visualizar en un dispositivo

gráfico los objetos 2D/3D modelados numéricamente dotando a

éstos de apariencia más o menos realista

Niveles de Rendering

1- Perspectiva: Directa para dibujo de líneas, Inversa para coloreado

2- Visibilidad: Detección de partes no visibles

• Eliminación de líneas ocultas (perspectiva directa)

• Eliminación de superficies ocultas (uso del color)

3- Realista: Simulación de Iluminación. Reflexión en los objetos

Page 89: animacion curso

Visibilidad

Representación matemática de objetos 3D:

• Coordenadas de vértices + Relación de Caras

No aporta información sobre opacidad de las caras

Visibilidad:

• Respecto a un Observador existen puntos invisibles

Necesidad de detectar las partes invisibles

• Dependiendo del método de dibujo (Líneas o Color)

Eliminar trozos no visibles en Aristas o en Caras

Page 90: animacion curso

Eliminación de líneas ocultas

En general, una arista

puede ser parcialmente

visible o invisible

La determinación de la

visibilidad de líneas es

un problema global que

afecta a toda la escena

Los objetos compuestos

por superficies regulares

son más problemáticos

Page 91: animacion curso

Eliminación de superficies ocultas

En objetos poligonales

una cara puede ser en

parte visible y en parte

invisible

Casi todos los algoritmos

operan en espacio imagen

determinando para cada

pixel el punto de la escena

que es visible

La representación de las

partes visibles requiere

el uso del color

Page 92: animacion curso

P

Q1

Q2

Un punto Q es Visible respecto a un Observador P si el segmento

abierto QP no contiene ningún otro punto de la escena

Q1: visible

Q2: invisible

Los algoritmos de visibilidad aprovechan

Propiedades de Coherencia para detectar

la visibilidad de zonas amplias

Visibilidad de un punto

Page 93: animacion curso

• En cualquier poliedro todas las caras orientadas en sentido opuesto

al observador son invisibles

• Si 2 objetos A y B están separados por un plano y el observador está

en el mismo semiespacio que A, ningún punto de B puede ocultar a

alguno de A

Propiedades de Coherencia (Poliedros)

PN

N

N

A

B

Page 94: animacion curso

Preproceso

- Perspectiva + Profundidad de todos los vértices

- Encuadre XY y Escalado en Z

Proceso Inicializar: Zbuffer(x, y) = 1 Vispoli(x, y) = 0

Para cada Polígono Pi:

Determinar todos los pixels (xik, yik) que contiene

Para cada uno de estos pixels:

Calcular su profundidad zik

Si zik < Zbuffer(xik, yik) Zbuffer(xik, yik) = zik Vispoli(xik, yik) = i

Siguiente pixel

Siguiente polígono

Para cada pixel, calcular un color en función del polígono visible

Algoritmo del Z-Buffer

Page 95: animacion curso

Algoritmo del Z-Buffer

Page 96: animacion curso

Color

• Ningún objeto puede verse si no hay alguna Luz

• Ningún objeto posee Color por sí mismo

• La sensación de Color ocurre sólo a nivel cerebral

Luz:

Onda Electromagnética caracterizada por su Longitud de Onda

Luz Visible: Longitud de Onda 380 760

Rojo Amarillo Verde Cyan Azul Violeta

780 600 550 492 455 390

Page 97: animacion curso

(Casi) todos los Colores pueden reproducirse

mediante la Superposición de 3 Fuentes de luz

• Onda Larga: Rojo

• Onda Media: Verde

• Onda Corta: Azul

Representación del Color

Page 98: animacion curso

Rojo

Verde

Azul

Primarios Secundarios

+

+

+

=

=

=

Amarillo

Magenta

Cyan

Grises/Blanco

+ + =

Combinación de Colores (Fuentes de Luz)

Page 99: animacion curso

C.I.E. (Commision Internationale de L’Eclairage)

Sistema estándar basado en colores falsos:

algunos colores se reproducen utilizando cantidades negativas del “rojo”

Representación (numérica) del color

10 ,,CIECIECIE ZYXC

Page 100: animacion curso

Representación del color

RGB (Red-Green-Blue)

Sistema local de cada dispositivo (emisor de luz)

Emplea 3 primarios reales, pero que varían de un monitor a otro

10 ,,BGRC

Colores primarios

Rojo: (α,0,0)

Verde: (0, β,0)

Azul: (0, 0, γ)

Colores secundarios

Cyan: (0, β, γ)

Magenta: (α,0,γ)

Amarillo: (α,β,0)

Page 101: animacion curso

Representación del color

CMY (Cyan-Magenta-Yellow)

Sistema local para materiales reflectantes

Emplea 3 tintas (pigmentos) que varían de un dispositivo a otro

Es un sistema complemetario (a 1) del sistema RGB

Cyan: (0, β, γ)

Magenta: (α,0,γ)

Amarillo: (α,β,0)

Page 102: animacion curso

Representación del color

HSV (Hue-Saturation-Value) Sistema No Aditivo orientado al usuario

Hue: Tinta, Tono, Matiz, pigmento dominante

Saturation: Cantidad de luz blanca que contiene el color

Value: Valor. Luminosidad o brillo del color

Tinta Saturación

Tinta: Rojo Valor: 1 Saturación: 100% a 0%

Luminosidad

Tinta: Rojo Saturación: 100% Valor: 1 a 0

Page 103: animacion curso

YIQ Sistema NTSC (E.E.U.U.)

Y = 0.299R + 0.587G + 0.114B Luminancia

I = 0.74(R-Y) - 0.27(B-Y) Crominancia

Q = 0.48(R-Y) + 0.41(B-Y) Crominancia

YUV Sistema PAL (Europa)

Y = 0.299R + 0.587G + 0.114B

U = 0.493(B-Y)

V = 0.877(R-Y)

• La luminancia se codifica con el equivalente a 8 bits

• La crominancia con 4 bits por componente

Representación del color (TV)

Page 104: animacion curso

Juego (ChessBase) Power Point

Interfaces para representación del color

Page 105: animacion curso

PhotoShop 3D Studio Max

Interfaces para representación del color

Page 106: animacion curso

Iluminación

Los colores no se asignan manualmente, sino que es

necesario calcularlos en cada punto

La reflexión de la luz comprende dos aspectos: Geométrico

y Energético

Page 107: animacion curso

- La luz que llega a un punto depende de la Orientación del punto

- La luz reflejada en un punto llega al Observador en función

de la posición de éste en relación al punto

N

R

Geometría de la Iluminación

Page 108: animacion curso

Cada material, debido a sus propiedades, refleja un parte de la

luz de forma Difusa y otra parte de forma Especular

Cada longitud de Onda (Color) es absorbida o reflejada en una

proporción diferente

Este fenómeno produce la sensación de color: el Observador

sólo recibe las longitudes de onda (colores) reflejadas

Interacción energética

Page 109: animacion curso

Modelos de Iluminación

Modelos Físico-Matemáticos que simulan la reflexión/refracción

Modelos empíricos Phong (1975), Blinn (1977)

• Se basan en la observación y no tienen fundamento físico

• Consiguen un Rendering realista (pero no foto-realista)

• Matemáticamente son muy simples

Modelos físicamente basados: Blinn (1977), Cook & Torrance (1982)

• Utilizan las ecuaciones de la óptica electromagnética para la reflexión y la

transmisión y tienen, por tanto, un fundamento físico

• Consiguen un Rendering más o menos foto-realista

• Matemáticamente son muy complejos

Page 110: animacion curso

Modelo de iluminación de Phong

nSDFAA KKIKII ))(cos(cos)()()()()(

A la intensidad total reflejada se le añade un término debido a

una supuesta Iluminación Ambiente constante

L

R

VN

Page 111: animacion curso

Modelo de iluminación de Phong

Variación de los parámetros en el modelo de Phong

En cada hilera el exponente n es constante y, de izquierda a derecha

aumenta la componente difusa y disminuye la especular

Page 112: animacion curso

Especificación de los parámetros

del modelo de Phong en 3D Studio

Modelo de iluminación de Phong

Page 113: animacion curso

Modelo de iluminación de Phong

Page 114: animacion curso

Foto-realismo

• Un modelo de iluminación calcula el color en un punto

independientemente del resto de la escena

Pueden existir puntos en sombra respecto a la fuente de luz

Los objetos brillantes reflejan luz procedente de otros objetos

Algunos objetos pueden ser transparentes

• Los objetos no son de un material homogéneo

Claves del Foto-realismo

• Cálculo de sombras arrojadas

• Inter-reflexiones

• Transparencia

• Texturas

• Iluminación Global

Page 115: animacion curso

Foto-realismo

Page 116: animacion curso

Texturas

Textura: Distribución de color sobre una superficie, rugosidad

Se considera Textura cualquier función que controle alguno de los

parámetros del modelo de iluminación

nSDFAA KKIKII ))(cos(cos)()()()()(

El color calculado en un punto depende de los coeficientes de reflexión

y del vector normal en el punto

Texturas de color:

Definen los coeficientes de reflexión difusa en cada punto

Texturas de rugosidad:

Calculan un vector normal perturbado respecto al verdadero

Page 117: animacion curso

Texturas de color

Imagen bitmap (fotografía)

Aplicación sobre un Plano, un

Cilindro y una Esfera

Page 118: animacion curso

El efecto de esta textura produce una gran sensación de relieve

Bump Mapping

Page 119: animacion curso

Al modificar la posición de la fuente de luz o la del observador,

cambian las sombras producidas sobre los detalles del relieve

Bump Mapping

Page 120: animacion curso

El color en un punto se obtiene como suma de 2 colores

• El primero se calcula utilizando la Fuente de Luz directa

• El segundo color se obtiene considerando al punto de la superficie

intermedia como una fuente de luz para la componente especular

Texturas dependientes del Observador

Page 121: animacion curso

Cuando se mueve la fuente de luz o la cámara, un punto concreto

de la superficie varía su color aparentando estar reflejando zonas

distintas de la escena (escena que no existe, sólo es una imagen)

Texturas dependientes del Observador

Page 122: animacion curso

Iluminación Global

Independientemente del modelo de iluminación empleado y

de que se añadan sombras, texturas o reflexiones, se

considera que a un punto le llega luz procedente no sólo de la

fuente sino de infinitos puntos de su entorno

• Intensidad reflejada especularmente: sólo se tiene en cuenta la luz

procedente de una fuente directa o de la dirección especular

• Intensidad reflejada difusamente: sólo fuente de luz directa

Realizar el cálculo global de toda la intensidad de luz que recibe un

punto y la que a su vez refleja es, en la práctica, imposible

Se han desarrollado 2 aproximaciones a iluminación global:

- Ray Tracing recursivo

- Radiosidad

Page 123: animacion curso

Sólo considera la reflexión/refracción especular, pero trata de

calcularla de forma muy precisa siguiendo el recorrido inverso

de los rayos de luz en cada pixel lanzando incluso varios rayos

en cada nivel de reflexión

Ray Tracing recursivo

Q

Page 124: animacion curso

Ray Tracing recursivo

Page 125: animacion curso

Radiosidad

Considera que todos los objetos en la escena son perfectos

difusores y no reflejan nada en la dirección especular

El método calcula de forma precisa las interreflexiones difusas

entre los objetos suponiendo que siguen la ley de Lambert

iA

jA

iN

jN

ji

Page 126: animacion curso

Radiosidad

La intensidad emitida difusamente por cada elemento en función de todos

los demás elementos es independiente del observador, por lo que una

vez calculada, la escena puede visualizarse desde cualquier punto de

vista sin necesidad de rehacer el cálculo

Page 127: animacion curso

Radiosidad

Page 128: animacion curso

Especificación y Control

del Movimiento

3

• Especificación de la Posición

• Curvas Paramétricas

• Especificación del Movimiento

• Control de Velocidad y Aceleración

• Control Cinético Total

Page 129: animacion curso

Control de Posición y Movimiento

Técnicas de Bajo Nivel para especificar de forma

precisa la posición de objetos y cámaras a lo largo

del tiempo: Trayectorias, Velocidad, Aceleración

• Se basan principalmente en Interpolación

Geometría y Movimiento:

- Una misma trayectoria puede recorrerse de diferentes

maneras y con distintas velocidades y aceleraciones

- Es necesario separar la Geometría (forma de la curva)

del Movimiento (Velocidad/Aceleración)

Page 130: animacion curso

Interpolación y Aproximación

Interpolación: Curva pasando por puntos determinados en

correspondencia con argumentos fijos previamente especificados

Aproximación: Curva pasando “cerca” de puntos que controlan

su forma

Page 131: animacion curso

Aplicaciones de la Interpolación:

• Construcción de una curva pasando por puntos dados

• Dados unos tiempos prefijados determinar una

curva que alcance posiciones específicas en cada instante:

)(

)(),()(

ii

ii

iiitgy

tfxyxtP

• Obtención de una función que tome los valores de ángulos

dados en instantes de tiempo prefijados (balanceo)

• Transición continua entre una serie de colores

0 1, , . . . ,

nt t t

Interpolación

Page 132: animacion curso

Curva pasando por Puntos

Interpolación de Puntos

Page 133: animacion curso

Ejemplo: Balanceo de una Cámara

Interpolación de Angulos

Page 134: animacion curso

Interpolación de Colores

Aplicación: Transición entre imágenes

Page 135: animacion curso

Interpolación: Regularidad de la Función

Regularidad:

Máximo Orden de Derivación

con derivada continua

Función de Clase C1

• Derivada 1ª continua

• Curva Explícita: Sin “Picos”

• Curva Paramétrica: Velocidad continua

Función de Clase C2

• Derivada 2ª continua

• Curva Explícita: Curvatura continua

• Curva Paramétrica: Aceleración continua

Page 136: animacion curso

Expresan la Posición en función del tiempo (parámetro)

La Derivada 1ª es el vector Velocidad

La Derivada 2ª es el vector Aceleración

)(

)(

)(

thz

tgy

tfx

)(

)(

tgy

tfxCurva 2D Curva 3D

Curvas Paramétricas

10

1

21

1

2

2

2

t

t

ty

t

tx

20

)(sen

)cos(

t

ty

tx

Page 137: animacion curso

Por sencillez y coste computacional, sólo se utilizan

polinomios o cocientes de polinomios

• Los polinomios puros presentan numerosos problemas

- Grado alto para obtener flexibilidad

- Coste computacional elevado si el grado es alto

Grado = 100 40.000 operaciones para dibujo de 100 puntos

- Mal adaptados a interpolación Tiempo de cálculo (n2)

- Oscilación en la interpolación

- No Control de Forma (en todo caso Global)

• Curvas polinomiales (de grado bajo) compuestas a trozos

Tipos de Curvas

Page 138: animacion curso

]3,0[211176

275

32

32

t

ttty

tttx

Curva de Interpolación:

Curva polinomial paramétrica interpolando los puntos:

Ejemplo: Interpolación por un Polinomio

)0,6(),0,2(),2,0(),6,0(

Soporte de Tiempos: 3,2,1,0T

06

02

20

60

27931

8421

1111

0001

33

22

11

00

ba

ba

ba

ba

Page 139: animacion curso

Curvas de Bezier

Curva compuesta por tramos polinomiales que se unen

con continuidad posicional y de la tangente

Curva de Bezier de 2º grado

)(2)1(

1

)(

1 itsiPQP i

i

i

i

2

1

)(

1

2)1(2)1()( sQssPsQtC i

i

ii ],[ 1

ii

i

i tttt

tts

Queda 1 parámetro libre

Puntos de Interpolación: nQQQ .,..,, 21

Curva de Bezier de 3er

grado Puntos de Interpolación: nQQQ .,..,, 21

Quedan n parámetros libres

3

1

2)(

2

2)(

1

3)1(3)1(3)1()( sQssPssPsQtC i

ii

ii

)(2)1(

1

)(

1 itsiPQP i

i

i

i

Page 140: animacion curso

)4,3[3)2,4()1(2)1()0,3()(

)3,2[2)0,3()1(2)1()1,2()(

)2,1[1)1,2()1(2)1()1,1()(

)1,0[)1,1()1(2)1()0,0()(

2)4(

1

2

4

2)3(

1

2

3

2)2(

1

2

2

2)1(

1

2

1

ttssssPstC

ttssssPstC

ttssssPstC

ttssssPstC

)3(

1

)4(

1

)2(

1

)3(

1

)1(

1

)2(

1

)0,3(2

)1,2(2

)1,1(2

PP

PP

PP

Interpola los puntos: )2,4(),0,3(),1,2(),1,1(),0,0(

para cualquier valor del único punto de control libre: )1(

1P

Curvas de Bezier. Ejemplo: Grado 2

Page 141: animacion curso

1 2 3 40

1

2

1

1 2 3 40

1

2

1

)1,5.0()1(

1 P

Influencia del parámetro libre

)3,5.0()1(

1 P

Curvas de Bezier. Ejemplo: Grado 2

Page 142: animacion curso

3)2,4()1(3)1(3)1()0,3()(

2)0,3()1(3)1(3)1()1,2()(

1)1,2()1(3)1(3)1()1,1()(

)1,1()1(3)1(3)1()0,0()(

32)4(

2

2)4(

1

3

4

32)3(

2

2)3(

1

3

3

32)2(

2

2)2(

1

3

2

32)1(

2

2)1(

1

3

1

tssssPssPstC

tssssPssPstC

tssssPssPstC

tssssPssPstC

)3(

2

)4(

1

)2(

2

)3(

1

)1(

2

)2(

1

)0,3(2

)1,2(2

)1,1(2

PP

PP

PP

Interpola los puntos: )2,4(),0,3(),1,2(),1,1(),0,0(

para cualesquiera valores de los 5 puntos de control libres

)4(

2

)3(

2

)2(

2

)1(

2

)1(

1 ,,,, PPPPP

Curvas de Bezier. Ejemplo: Grado 3

Page 143: animacion curso

Curvas de Bezier. Propiedades

• Control local de forma:

Si se modifica un punto de interpolación o un punto de control, la

curva sólo cambia en 2 tramos (3er grado)

• Control global de forma:

En cada tramo, la curva está contenida en la envolvente convexa

de los puntos de control

• Coste computacional muy bajo:

La evaluación de la curva en un valor de t requiere determinar

el tramo al que afecta y evaluar un polinomio de 3er grado

Page 144: animacion curso

Curvas de Bezier. Propiedades (3er

grado)

Interpolación y Tangente

Control Local de Forma

Page 145: animacion curso

Curvas de Bezier

Control Local de Forma Fuente PostScript

Page 146: animacion curso

Interpolante Cúbico de Hermite

Curva de Bezier de 3er

grado en la que los puntos de control

se calculan en función de los puntos de interpolación y de

los vectores Tangente en los mismos

1

)(

3

11

)(

2

)(

1

)(

0

3

3

i

i

ii

i

ii

i

i

i

QP

Dt

QP

Dt

QP

QP

1Q

2Q

3Q

4Q

5Q

1D

2D

3D

4D

5D

Page 147: animacion curso

Interpolante de Catmull-Rom

Interpolante cúbico de Hermite en el que los vectores

tangente en cada punto se precalculan

1...,,2,1)()()( 11121

121

2 nir

iiiiiiii QQQQQQrD i

Las tangentes en los puntos extremos son suministradas

por el usuario, o se calculan mediante una parábola

1iQ

iQ

1iQ

1iQ

iQ

1iQ

Page 148: animacion curso

Tensión, Bias y Continuidad

El Spline de Kochanek proporciona tres métodos para

promediar la cuerdas anterior y posterior en un punto

Tensión: 10)(2

)1(11

iiii QQrD

Para = 0 Interpolante de Catmull-Rom

Para 1 los módulos de las tangentes decrecen

25||||10|||| ii DD

Page 149: animacion curso

Tensión, Bias y Continuidad

Bias:

Para b = 0 Interpolante de Catmull-Rom

Para b < 0 la cuerda entrante tiene más peso que la saliente

Para b > 0 la cuerda entrante tiene menos peso que la saliente

11)(2

1)(

2

111

bQQ

bQQ

bD iiiii

Continuidad: 11

)(2

1)(

2

1

)(2

1)(

2

1

11

11

c

QQc

QQc

D

QQc

QQc

D

iiiii

iiiii

Para c = 0 Las tangentes entrante y saliente coinciden

Para c 0 Discontinuidad de la tangente

Page 150: animacion curso

Curvas Spline

Curva compuesta por tramos polinomiales uniéndose con

continuidad posicional y de las dos primeras derivadas

• Pueden considerarse interpolantes de Hermite (curva de Bezier) en el

que las tangentes Di no son dadas ni precalculadas en función de las

cuerdas, sino para alcanzar continuidad de la derivada segunda

1,...,2)()("

1

" niiiii tCtC

• Son las curvas más lisas entre las que interpolan puntos dados

Page 151: animacion curso

B-Splines

Splines univariados básicos idénticamente nulos en la

mayor parte del intervalo de definición [t1 , tn ]

• Se consideran n+2 B-Splines constituyendo una Base:

ControldePuntosPtBPtS k

n

k

kk

1

0

)()(

)(tBk

Page 152: animacion curso

Splines en la Base de B-Splines

• Interpolación:

- Un Spline no interpola sus puntos de control

- Pueden calcularse los puntos de control para que el spline interpole

n puntos y tangentes dadas D1 ,Dn

• Control local de forma:

Si se modifica un Punto de control, la curva sólo cambia en 4 tramos

• Inclusión en Triángulo:

S(ti ) es el baricentro de los puntos Pi-1 , Pi , Pi+1

• Coste Computacional muy bajo:

La evaluación sólo requiere el cálculo de 4 sumandos

Page 153: animacion curso

Splines en la Base de B-Splines

• No interpolación de Puntos

de Control

• Inclusión en triángulo de 3 puntos

• Modificación de un Punto

de Control

Page 154: animacion curso

Curvas Racionales

Curva simple o compuesta que se expresa como

combinación de cocientes de polinomios

)(

)(.........

)(

)(

)(

)()( 2

21

1tW

tPQ

tW

tPQ

tW

tPQtR n

n

ControldePuntosQQQ

PolinomiostWtPtPtP

n

n

.....,,,

)(),(.....,),(),(

21

21

• Permiten representar exactamente las cónicas

• En la práctica sólo se emplean curvas compuestas

y se denominan NURBS (Non-Uniform Rational B-Spline)

Page 155: animacion curso

Edición de una Curva (3D Studio Max)

Page 156: animacion curso

Control del Movimiento

Movimiento sobre una Curva paramétrica

Al utilizar las ecuaciones paramétricas para posicionar un punto de un

objeto, en general éste se moverá sobre la curva con velocidad arbitraria

Page 157: animacion curso

Movimiento a lo largo de una Curva

Cambio de parámetro

Un cambio de variable t = F(u) con F(u) continua y biyectiva da lugar

a nuevas ecuaciones paramétricas para la misma curva

Page 158: animacion curso

Movimiento a lo largo de una Curva

Movimiento no uniforme Movimiento con velocidad const.

Page 159: animacion curso

Ejemplo: Arco de Circunferencia

Movimiento decelerado

20

)

)cos(

u

uy

ux

sen(

Reparametrización: t = tg(u/2)

Movimiento uniforme

10

1

2

1

1

2

2

2

t

t

ty

t

tx

Page 160: animacion curso

Velocidad

Vector Velocidad: El constituido por la derivada 1ª de cada

coordenada con respecto al tiempo

)]('),('),('[)(

)(

)(

)(

thtgtftV

thz

tgy

tfx

Celeridad (vulgarmente Velocidad):

Módulo (norma) del vector Velocidad

222)]('[)]('[)]('[)( thtgtftV

• Es, en cualquier parametrización, tangente a la curva

• Lo que varía de una parametrización a otra es su módulo

Page 161: animacion curso

Aceleración

)]("),("),("[)( thtgtftA

• Su módulo y su dirección dependen de la parametrización

• Aunque el módulo de la velocidad sea constante, si ésta varía de

dirección, se produce aceleración no nula

Vector Aceleración: Constituido por la derivada 2ª de cada

coordenada con respecto al tiempo

TtVdt

dtAT )()(Aceleración Tangencial:

Aceleración Normal: Nr

tVtAN

2)(

)(

Movimiento uniformemente acelerado: Es aquél con Aceleración

tangencial de módulo constante: ||V(t)|| proporcional al incremento de tiempo

Page 162: animacion curso

Ejemplo:

a) Circunferencia con parametrización racional

2

2

1

1

t

tx

21

2

t

ty

222

2

221

2)(

)1(

12,

)1(

4)(

ttV

t

t

t

ttV

3232

2

32

2

)1(

4)(

)1(

)3(4,

)1(

134)(

ttA

t

tt

t

ttA

)

)cos(

uy

ux

sen( 1)()](),cos([)(

1)()]cos(),([)(

uAuuuA

tVuuuV

sen

sen

b) Circunferencia con parametrización trigonométrica

)(),0(

)()0,(

tVt

tVt

Creciente: movimiento acelerado

Decreciente: movimiento decelerado

)(tV constante: movimiento uniforme

Page 163: animacion curso

Movimiento Uniforme sobre una Circunferencia

)sen

)cos(

uy

ux

(Cambio de parámetro:

)](sen

)](cos[)(

tFy

tFxtFu

[

)]([cos)(''

)]([sen)(''

tFtFy

tFtFx wttFwtFtV )()(')(

(

cos( )

sen )

x wt

y wt

Ecuación general del movimiento uniforme sobre una circunferencia

• Celeridad Velocidad Tangencial = w

• Aceleración Tangencial = 0 Aceleración Normal = w2

Page 164: animacion curso

Movimiento Acelerado sobre una Circunferencia

La Aceleración tangencial es constante: ||V(t)|| proporcional a t :

)()(')(')()](sen

)](cos[0tttFtFtV

tFy

tFx

[

tty

ttx

2

2

2

2cos

sen

Movimiento uniformemente acelerado

sobre una circunferencia

)()( 0tttV

tttFtFsigno2

2)(:constante)('Como

Page 165: animacion curso

Parametrización por Longitud de Arco

El ejemplo de la Circunferencia muestra que el Control de la

Velocidad y/o Aceleración requiere partir de unas ecuaciones

paramétricas que permitan recorrer arcos iguales en tiempos

iguales y después, reparametrizar

• Una curva está parametrizada por Longitud de Arco

cuando

a igualdad de tiempos se recorren distancias iguales

Longitud de un arco de curva:

dtthtgtfdttVttLt

t

t

t 2

1

2

1

222

21 )]('[)]('[)]('[)(),(

Page 166: animacion curso

Parametrización por Longitud de Arco

1) Para una parametrización C(t) = [f(t), g(t), h(t)]

obtener la longitud de arco recorrido s = L(t0 , t)

Cálculo de una Integral Indefinida

2) Expresar t en función de s

Inversión de una función

• En general es imposible obtener la integral indefinida y, en caso

de que sea posible, no lo será el invertir la ecuación (no lineal)

• Necesidad de métodos numéricos o aproximados

Page 167: animacion curso

Ejemplo 1: Línea Recta

• Ecuación paramétrica inicial: ],[),(),( qptbayx

)()(],[)(22 constantevqptVqptV

],[),(),( 0 qpv

stbayx

• Ecuación parametrizada por longitud de arco :

],[),(),( qpsbayx

v

sttttvduvduuVttLs

t

t

t

t 000 )()(),(

00

Page 168: animacion curso

Ejemplo 2: Circunferencia

• Ecuación paramétrica inicial:

22

2

1

2,

1

1),(

t

t

t

tyx

222

2

221

2)(

)1(

12,

)1(

4)(

ttV

t

t

t

ttV

)(1

2)cos(

1

122

2

st

ts

t

tsen

• Ecuación parametrizada por longitud de arco :

)(),cos(),( ssyx sen

)2tan()arctan(21

2),0(

0 2sttdu

utLs

t

Page 169: animacion curso

Ejemplo 3: Parábola

• Ecuación paramétrica inicial: ),(),(2

ttyx

2

212

41

0

24141241),0( ttttLnduutLs

t

)(

241)(]2,1[)( ttVttV

Imposibilidad de inversión analítica de la ecuación

• Para cada valor concreto de s = s0

resolver la ecuación:

0

2

212

41 41412 sttttLn )(

Page 170: animacion curso

Parametrización aproximada (1)

Dados los instantes inicial y final t0 y tn

Calcular la longitud total del arco de curva

Problema: calcular valores intermedios

dttVttLLnt

tn

0

)(),( 0

Para ello, se resuelven las ecuaciones,

cuyas incógnitas son los ti :

1...,,2,1),( 0 nisittL i0t

1t

2t

1nt nt

s

n

LttLsttt iin ),(,...,, 1121

dttVttLit

ti

0

)(),( 0donde

No es una reparametrización: Se evalúa la curva en instantes de

tiempo (no espaciados uniformemente) que proporcionen puntos

igualmente espaciados sobre la curva

Page 171: animacion curso

Parametrización aproximada (2)

Dados los instantes inicial y final t0 y tn

mnm kCPtt kknm ,...,1,0)(,...,, 100

k

j

jjkk PPL1

1 Obtener una Tabla:

Realizar un sobremuestreo de la curva C(t) :

Lk : Longitud de la Poligonal P0 , P1 , . . . , Pk

Lm : Longitud aproximada de la curva entera n

Ls m

Para i = 1, . . . , n-1 determinar de la Tabla k tal que:

y tomar ti = k o realizar una interpolación 1 kk LsiL

Page 172: animacion curso

Control de Velocidad

Curva parametrizada por longitud de arco

A intervalos iguales del parámetro s se recorren distancias iguales

sobre la curva

Especificación de la Velocidad (módulo)

Definir cómo debe variar s (distancia) en función del tiempo: s = F(t)

)(')(')('

)(')(')('

)(')(')('

)]([

)]([

)]([

)(

)(

)(

tFshtz

tFsgty

tFsftx

tFhz

tFgy

tFfx

shz

sgy

sfx

)(')(')]('[)]('[)]('[)(')(222

tFtFshsgsftFtV

Luego: ( ) '( ) ( )s F t con F t V t

Page 173: animacion curso

Movimiento con Velocidad constante

Control de Velocidad. Ejemplos

00 )('.||)(|| vtFvctetV

000 )()( sttvtFs

Movimiento con Velocidad aumentando constantemente

01

01.||)(||

tt

vvcte

dt

tVd

000

2

0

01

01 )()()(2

)( sttvtttt

vvtFs

)()(||)(|| 00

01

01 tFvtttt

vvtV

Page 174: animacion curso

Movimiento que comienza con

velocidad 0, aumenta hasta una

velocidad máxima y decelera

para terminar con velocidad nula

Curva Ease-in/Ease-out

Movimiento realista para desplazarse

entre 2 puntos partiendo del reposo

y deteniéndose en el punto final

0 12

1 0

4'( ) || ( ) || ( )( )

( )

mV

F t V t t t t tt t

0t 1t

maxv

( )|| ||V t

3 2

0 0

1 0 02

1 0

4 ( ) ( )( ) ( )

( ) 3 2

mV t t t t

s F t t t st t

Page 175: animacion curso

Curva Ease-in/Ease-out

Movimiento Uniforme Movimiento con Ease-In/Out

20

)/2(3)/2(2

))/2(3)/2(2cos(23

23

t

tty

ttx

)sen(

Ejemplo: Ease-In/Ease-Out sobre una circunferencia

Ejemplo: Ease-In/Ease-Out sobre una línea recta

1010

0

)32(

0

2

ts

y

ttx

y

sx

Page 176: animacion curso

Control de Velocidad con Ease-in/out

Trayectoria Original Reparametrización Ease-in/Out

Page 177: animacion curso

Control de Velocidad. Reparametrización

Trayectoria Original Reparametrización

Page 178: animacion curso

Control Cinético Total

Utilización de curvas de posición y velocidad para

la especificación de cualquier parámetro (tracks)

• Movimiento de objetos

• Orientación de objetos rígidos o articulados

• Movimiento de cámaras

• Modificación de parámetros de una cámara

• Deformación de objetos

• Modificación del color, textura, transparencia

• Modificación de la iluminación

Page 179: animacion curso

Cinemática y Dinámica del Movimiento

Cinemática

Estudio del movimiento de forma independiente a las causas

(fuerzas) que lo producen

- Determinación de la posición, orientación y velocidad

- Interacción entre objetos

- Sistemas con ligaduras, estructuras articuladas

Dinámica

Estudio de las fuerzas que provocan el movimiento y la

reacción de los objetos a éstas

- Determinación de la aceleración

Page 180: animacion curso

Especificación y Control

de la Orientación

4

• Orientación de un Cuerpo Rígido

• Representación de la Orientación

• Cuaterniones

• Interpolación de Orientaciones

• Orientación sobre una Curva

Page 181: animacion curso

Orientación de Objetos 3D

Especificación del movimiento de un objeto rígido

• Posición de un punto (Centro de gravedad)

• Orientación respecto al Sistema de Referencia Universal

Orientación:

Sistema de Referencia Local

- Punto origen

- 3 Ejes ortonormales

e1

e2

e3

Page 182: animacion curso

Eje X Local: e1 arbitrario (2 parámetros)

Eje Y Local: e2 perpendicular a e1 (1 parámetro)

Eje Z Local: e3 = e1 e2

• La Orientación queda especificada con 3 parámetros

• No tienen por qué ser los que definen a los Ejes

• Sistemas alternativos para facilitar la Interpolación

Sistema Local de Ejes

Page 183: animacion curso

Representación de la Orientación

• Los sistemas sencillos e intuitivos no se prestan

bien a la interpolación

Orientaciones interpoladas correctas, pero no esperadas

Page 184: animacion curso

Procedimiento directo: Dar explícitamente los 3 Ejes

Matriz de Rotación

z

y

x

z

y

x

z

y

x

e

e

e

e

e

e

e

e

e

e

e

e

3

3

3

3

2

2

2

2

1

1

1

1

Matriz de Rotación:

zzz

yyy

xxx

eee

eee

eee

R

321

321

321

Problemas:

• Necesita 9 parámetros (cuando sólo son necesarios 3)

• Interpolación: Las matrices intermedias no son Ortogonales

Ortogonal

Page 185: animacion curso

Matriz de Rotación

SRSR

2

3

21

21

2

3

0

010

0

Orientación de un objeto:

Premultiplicación de la matriz R

por las coordenadas del objeto

Page 186: animacion curso

Considera 3 Ejes fijos del Sistema Universal

Angulos respecto a Ejes fijos

No necesariamente distintos, pero se

establece un orden fijo (Ej.: XYX)

• La orientación se especifica mediante

los ángulos que hay que rotar el objeto

alrededor de cada Eje para orientarlo

• Utiliza sólo 3 parámetros

• Representación sencilla

cos0

cos0

001

)(

sen

senxR

cos0

010

0cos

)(

sen-

sen

yR

100

0cos

0cos

)(

sen

sen-

zR

SRRRS xyz )]()()([

Orientación de un objeto:

Premultiplicación de las 3 matrices R por las

coordenadas del objeto

Page 187: animacion curso

)º30(xR

)º20(yR )º110(zR

Page 188: animacion curso

Similar al anterior, pero con los Ejes ligados al objeto

que se quiere orientar

• Equivalente a una representación de Ejes fijos especificada

en orden inverso

Angulos de Euler

),,(),,( EjesFijosEuler RR

• Sistema mucho más intuitivo

Yaw (Guiño)

Roll (Volteo, Giro)

Pitch (Cabeceo)

Page 189: animacion curso

)º(110ZR

)º20(' YR )º(" 30XR

Page 190: animacion curso

• Gimbal Lock (Bloqueo de Giróscopo)

Pérdida de un grado de libertad en ciertas configuraciones

Problemas (Ejes Fijos y Euler)

Con una rotación de 90º

alrededor del Eje Y, los

ángulos y no son

independientes

)()º90()()º90()( xyxyz RRRRR

• Interpolación no intuitiva

Page 191: animacion curso

• Dadas 2 orientaciones de un objeto, existe una

rotación alrededor de un cierto Eje que permite

pasar de una orientación a otra

Representación Eje-Angulo

La orientación se define

dando el Eje y el ángulo

en relación al objeto en

posición estándar

º832.118

935.0

329.0

131.0

E

Page 192: animacion curso

Similar a Eje-Ángulo, pero con una formulación

matemática sencilla que permite pasar de una

orientación a otra fácil e intuitivamente

Cuaterniones: Generalización de los números complejos

Cuaterniones

Vectorwvu

númeroEscalarskwjviusQ

],,[

)(

Aritmética:

jikikjkjikji

1222

Page 193: animacion curso

Rotación de un vector alrededor de un Eje:

Cuaterniones y Rotaciones

Eje/Ángulo:

Cuaternión:

Orientación:

],,[ wvuE

][2

sen2

cos kwjviuQ

1

321321 )(],,[ QkvjvivQVvvvV

El Cuaternión tiene nula la componente escalar

La parte vectorial es el vector rotado

V

La Orientación de un sólido se define por un Cuaternión

Page 194: animacion curso

Sucesión de Rotaciones:

Rotación de Cuaternión P seguida de Rotación de Cuaternión Q :

Cuaterniones y Rotaciones

11

321 ])([ QPkvjvivPQV

1

321 )()()( PQkvjvivPQ

Interpolación:

Interpolación Lineal:

Interpolación Lineal Esférica

21)1( QtQtQ No conveniente

21

)])1(Q

tQ

tQ

sen

sen(

sen

sen[

Page 195: animacion curso

Orientación sobre una Curva

• La orientación de un objeto móvil es muy difícil

de especificar

El Sistema de Ejes locales

debe adaptarse a la forma

y orientación de la curva

sobre la que se mueve:

Utilizar las ecuaciones

paramétricas de la curva

para definir la orientación

en cada punto

Page 196: animacion curso

Curva Paramétrica:

Triedro de Frenet (Triedro Móvil)

)]("),("),("[)("

)]('),('),('[)('

)](),(),([)(

tztytxtP

tztytxtP

tztytxtP Posición

Velocidad (Tangente)

Aceleración

Tangente a la curva

Normal

Binormal

Eje X Local:

Eje Z Local:

Eje Y Local:

)('

)(')(

1tP

tPe

L

)(")('

)(")(')(

3tPtP

tPtPe

L

)(

1

)(

3

)(

2

LLLeee

Page 197: animacion curso

Orientación con el Triedro de Frenet

Page 198: animacion curso

Orientación de una Cámara

• Puede hacerse mediante el Triedro de Frenet

• Más útil es definir un Punto de Interés que puede estar

fijo a un objeto o moverse

)()()(

1 tPtPDD

De M

L

]0,,[)(

2 uveL

)(

2

)(

1

)(

3

LLLeee

( )P t

( )M

P t],,[)(

1 wvueL

Page 199: animacion curso

Orientación de una Cámara

Punto de Mira fijo centrado en un objeto

Page 200: animacion curso

Orientación con el Triedro de Frenet

Page 201: animacion curso

Orientación con el Triedro de Frenet

Page 202: animacion curso

Estructuras Jerárquicas

Estructuras Articuladas

5

Page 203: animacion curso

Estructuras Jerárquicas

Conjunto de objetos relacionados jerárquicamente

(dependencia en forma de árbol) de modo que el

• Sistemas planetarios

• Objetos articulados

• Engranajes

movimiento de un objeto

hijo está condicionado

por el del objeto padre

del que depende

Page 204: animacion curso

Transformación entre Sistemas

P

)1(

1e

)1(

2e

)1(

3e

1Q)2(

1e

)2(

2e

)2(

3e

2Q

Dados 2 objetos S1, S2 (dependiente de S1) con Sistemas

de Referencia Locales

Transformar coordenadas entre ambos

1 1 1 1,[ , , ]Q X Y Z 2 2 2 2

,[ , , ]Q X Y Z

Page 205: animacion curso

Transformación entre Sistemas

)2(

32

)2(

22

)2(

122

)1(

31

)1(

21

)1(

111

eeeQP

eeeQP

11

)1(

3

11

)1(

2

11

)1(

1

)(

)(

)(

QPe

QPe

QPe

][][][)(

)]()[()(

)2(

3

)1(

2

)2(

2

)1(

2

)2(

1

)1(

212

)1(

122

)1(

1

)1(

eeeeeeQQe

QQQPeQPe

kkkk

kk

Page 206: animacion curso

Transformación entre Sistemas

Llamando )( 12

)1()2()1(QQeee kkjkkj

33232231231

23222221221

13212211211

110001

2

2

2

3333231

2232221

1131211

1

1

1

Coordenadas de P en el

Sistema

en función de las del

Sistema

1 1 1 1,[ , , ]Q X Y Z

2 2 2 2,[ , , ]Q X Y Z

Page 207: animacion curso

Transformación entre Sistemas

En general, dados los Sistemas de Referencia:

)1(

1

)(

ii

i

iPTP

i

i

i

i

T

P

P

1

)1(

)(

Coordenadas en el Sistema

Coordenadas en el Sistema

Matriz de transformación

)()(11

2

0

1

)0(....

i

i

ii

i PMPTTTP

0 0 0 0 1 1 1 1,[ , , ] , ,[ , , ] , . . . , ,[ , , ]

i i i iQ X Y Z Q X Y Z Q X Y Z

,[ , , ]i i i i

Q X Y Z

1 1 1 1,[ , , ]

i i i iQ X Y Z

Page 208: animacion curso

21 3 4 5

1

2

3

4

5

1

1

2

2

1Q

Cambio entre Sistemas de Referencia: Ejemplo 2D

12 1( , )Q

1

10 8 0 6( )

[ . , . ]e

1

20 6 0 8( )

[ . , . ]e

20 0( , )Q

2

11 0( )[ , ]e

2

20 1( )

[ , ]e

2 1

2 1

0 8 0 6 2

0 6 0 8 1

. .

. .

2

2

0 8 0 6 3 2 1 2 2 3 23 2

0 6 0 8 2 1 3 4 1 4 4

. . . .( , )

. . . .P

Page 209: animacion curso

Si un punto P se mueve respecto al sistema

según las ecuaciones

Composición de Movimientos

)(

)(

)(

)()(

tz

ty

tx

tP

i

i

i

i

El movimiento respecto al S.R. Univers. es:

Mi(t) puede depender de t )()()()()0(

tPtMtPi

i

,[ , , ]i i i i

Q X Y Z

0 0 0 0,[ , , ]Q X Y Z

Page 210: animacion curso

Cinemática Directa e Inversa

Cinemática Directa:

• Cálculo de las matrices de transformación Mi(t) y del

movimiento relativo P(i)(t) como funciones del tiempo

• Obtención de las ecuaciones absolutas P(t) = F(t)

Cinemática Inversa:

• Dada la posición absoluta P(t) = F(t) y (posiblemente)

algunas de las matrices Mi(t), calcular el valor de t o

de una función de t

Page 211: animacion curso

Transformación entre Sistemas de Referencia

Ejemplo 1: Sistema Planeta-Satélite

0X

0Y

1X

1YP1

)0(

01

)0(

)1()0(

)( QeQQe

ee

kkk

kjjkkj

1Q

0Q

1

0

)(

)(

1000

0100

)(010

)(001

1

0

)(

)(

1

1

1

1

0

0

ty

tx

tQ

tQ

ty

tx

y

x

)()()(

)()()(

110

110

tQtyty

tQtxtx

y

x

Page 212: animacion curso

Sistema Planeta-Satélite

0X

0Y

1X

1YP

1Q

0Q

Movimiento de P respecto

al Sistema

)()(

)cos()(

1

1

vtrty

vtrtx

sen

Movimiento de Q1 respecto

al S.R. Univer.

)()(

)cos()(

1

1

wtRtQ

wtRtQ

y

x

sen

1 1 1 1,[ , , ]Q X Y Z

0 0 0 0,[ , , ]Q X Y Z

Page 213: animacion curso

Movimiento absoluto

)()()(

)cos()cos()(

wtRvtrty

wtRvtrtx

sensen

Sistema Tierra-Luna:

365

213

wwv

sen sen

26 2( ) cos cos

365 3650 365 ( )

26 2( )

365 365

x t r t R t

t días

y t r t R t

Page 214: animacion curso

Sistema Tierra-Luna: Cinemática Inversa

Ecuaciones Directas:

Inversión:

)()()(

)cos()cos()(

wtRvtrtyb

wtRvtrtxa

sensen

])cos[(22222

twvrRRrba

rR

Rrbatwv

2

)(])cos[(

2222

Page 215: animacion curso

Ejemplo 2: Movimiento de una rueda

Page 216: animacion curso

Movimiento de una rueda

Transformación entre Sistemas de Referencia

0X

0Y

0Q

1X

1Y

1Q

)cos(

)(

)(

)cos(

)1(

2

)0(

222

)1(

1

)0(

221

)1(

2

)0(

112

)1(

1

)0(

111

ee

ee

ee

ee

sen

sen

(0) (0)

1 1 1 0 1

(0) (0)

2 2 1 0 2

( )0

( ) 00

de Q Q e d

de Q Q e

(1)

1[cos , sen ]

te

(1)

2[sen ,cos ]

te

Page 217: animacion curso

Movimiento de una rueda

1

0

)(

)(

1000

0100

00)(cos)(

)(0)()(cos

1

)(

)(

)(

1

1

0

0

0

ty

tx

tt

tdtt

tz

ty

tx

sen

sen-

Transformación entre Sistemas de Referencia

)(cos)()()()(

)()()()(cos)()(

110

110

ttyttxty

tdttyttxtx

sen

sen

)0(

)0(

)(

)(

1

1

1

1

y

x

ty

tx

Movimiento de P respecto al Sistema : 1 1 1 1

,[ , , ]Q X Y Z

Las Coordenadas son constantes

Page 218: animacion curso

Movimiento de una rueda

)(cos)()(

)()()(cos)(

00

00

tytxty

tdtytxtx

sen

ens

Movimiento absoluto:

(t) es la misma función

para todos los puntos

Supuestos adicionales:

1. Velocidad lineal del Centro constante: v = cte.

2. Velocidad angular constante: w = ’(t) = cte.

3. Relación entre v y w debido al rozamiento

Page 219: animacion curso

Movimiento de una rueda

Velocidad angular constante: w = ’(t) = cte. (t) = wt

Velocidad lineal del Centro constante: v = cte.

vttdt

td

t

dtdctev

)(

)()0()(.

Sincronización entre v y w :

- Tiempo en dar 1 vuelta:

- Distancia recorrida:

2( ) 2 | | 2

| |

2( ) 2 | |

| |

T w T Tw

vd T vT R v w R

w

Page 220: animacion curso

Movimiento de una rueda

Recorrido del Centro

RtwtC ||)(

Angulo de Giro

wtt )(

)cos())(

||))cos()(

00

00

wtywtxty

Rtwwtywtxtx

sen(

en(s

Page 221: animacion curso

Estructuras Articuladas

Conjunto de elementos rígidos unidos mediante

juntas de unión rotatorias y manteniendo una

relación de dependencia de tipo árbol

Page 222: animacion curso

Cadenas Cinemáticas

Sucesión ordenada de elementos rígidos unidos

entre sí mediante juntas de unión rotatorias

Page 223: animacion curso

Número de movimientos independientes

• 1 DOF Muñeca

• 2 DOF Codo

• 3 DOF Hombro

• Las juntas con 2 o 3 DOF se consideran como la

superposición en el mismo punto del espacio de

2 o 3 juntas con un único DOF

Grados de Libertad (D.0.F.)

Page 224: animacion curso

Relación entre ángulos

y Posición/Orientación

de los elementos de la

Cadena

Cadena 2D con 2 articulaciones

• Dados los ángulos, queda

unívocamente definida la

posición y orientación de

cada elemento de la cadena

• El proceso inverso está, en general, indeterminado

Cinemática de una Cadena 2D

Page 225: animacion curso

Expresión de Posición

y/o Orientación en

función de los ángulos

)(sensen

)cos(cos

21211

21211

rry

rrx

• Las ecuaciones son No-Lineales

• Mediante Cinemática Directa puede posicionarse

aproximadamente cada articulación

Cinemática Directa

1r

2r

Page 226: animacion curso

• Cálculo de los ángulos correspondientes a una

configuración espacial dada

• Posicionamiento preciso del extremo

• Inversión de las ecuaciones (2D con 2 articulaciones)

22221

222211

21

2

2

2

1

22

2

sen)cos(

sen)cos(tan

2

)()(cos

yrrrx

xrrryarc

rr

rryxarc (2 soluciones)

Cinemática Inversa

Page 227: animacion curso

Problemas:

• Zona de No-solución

• Zona de solución no-

convexa

• 2 posibles soluciones

• Para más de 2 brazos:

En general, infinitas

soluciones

Cinemática Inversa

Page 228: animacion curso

)...(sen....)(sensen

)...cos(....)cos(cos

2121211

2121211

nn

nn

rrry

rrrx

Para Posicionamiento de 1 Articulación:

• Sistema No-Lineal de 2 ecuaciones con n incógnitas

• Quedan n-2 Grados de Libertad (redundancia)

Cadenas generales 2D

Page 229: animacion curso

Problemas:

• Sistemas altamente No-Lineales

• Pueden no existir soluciones

• En general existen infinitas soluciones (Redundancia)

• Necesidad de imponer condiciones (Restricciones)

• Mal Condicionamiento Inestabilidad

Cinemática Inversa

Page 230: animacion curso

• Cada articulación puede

tener hasta 3 Grados de

Libertad

• La formulación de las

ecuaciones directas es

más compleja

• Emplean Sistemas

Locales de Referencia

Cinemática de una Cadena 3D

Page 231: animacion curso

Cinemática de una Cadena 3D

Page 232: animacion curso

Formulación del sistema de ángulos en función de

giros individuales (1 DOF)

Representación por Ángulos de Euler

1000

0100

0010

001

1000

00

00

0001

1000

00

0010

00

1000

0100

00

00

11

11

22

22

33

33

1

a

cs

sc

cs

sc

cs

sc

Li

i

• Convertir a Cuaterniones para Interpolación

Page 233: animacion curso

1000

0cos0

0cos0

001

1000

100

00cos

00cos

1

ii

ii

i

i

ii

ii

i

i

a

dL

sen

sensen

sen

Notación Denavit-Hartemberg

Page 234: animacion curso

Concatenación de transformaciones locales

12

1

1

2

0

1 ....

m

m

m

m LLLLWT

• Cada matriz es a su vez producto de otras 4

• Dificultad de obtener explícitamente las ecuaciones

• Los programas de Cálculo Simbólico sólo son útiles con muy

pocas variables (ángulos)

• La derivación (Jacobiana) es complicada

Ecuaciones Cinemáticas

Page 235: animacion curso

• Resolución del Sistema de Ecuaciones

- Métodos tipo Newton

- Métodos basados en Control de Velocidad

• Métodos basados en Optimización

- Plantean un Objetivo (p.e. Posicionar un punto)

- Tratan de minimizar la distancia al Objetivo

imponiendo que se cumplan las restricciones

- Utilizan variantes de métodos estándar (Gradiente

Conjugado y Multiplicadores de Lagrange)

Métodos de la Cinemática Inversa

Page 236: animacion curso

Plantean un problema de Evolución en el tiempo

),...,,(),...,,( 2121 nn Jdt

dPFP

1 21( , , ..., ) , ...,

t

i

n

j

ndF d d

Jdt dtd

Estas ecuaciones expresan la velocidad de cada articulación en

función de las velocidades angulares

Métodos basados en Control de Velocidad

Page 237: animacion curso

Puede considerarse un Sistema Lineal con matriz J

siendo el Gradiente el vector de incógnitas

• La matriz J depende de los ángulos y es rectangular

• Las derivadas dP/dt son desconocidas

• La(s) solución(es) no proporcionan los ángulos

),...,,( 21 nJdt

dP

Métodos basados en Control de Velocidad

Page 238: animacion curso

Problema de Evolución:

• Para t = t0 se supone conocida una pose inicial

(Posición/Orientación y ángulos para cada articulación)

• Para t = t1 ,t2 ,...,tk se calculan poses intermedias de

forma que para t = tk se alcance la pose requerida

( ) ( 1) ( ) ( 1)

1 1

j j j j

i i i

j j j j

d dP P P

dt t t dt t t

Métodos basados en Control de Velocidad

Page 239: animacion curso

,...,kjdt

dt ij

i

j

i 1)1()(

• Si se conocen 1(j-1) ,..., n

(j-1) para t = tj-1 las fórmulas

permiten calcular los nuevos ángulos 1(j) ,..., n

(j)

• Las derivadas d i /dt se obtienen de la resolución del

sistema lineal de ecuaciones

dt

dPJ n ),...,,( 21

Métodos basados en Control de Velocidad

1j jt t t

Page 240: animacion curso

mnmxn

n Rdt

dPRRJ

dt

dPJ ),...,,( 21

n

n RzzJJIdt

dPJ

)(),...,,( 21

Pseudo-Inversa:

mxnnxnmxmRDRVRUUDVJ

ttUDVJ

1)(

ttJJJJ si rango(J) = m

Resolución del Sistema de Ecuaciones

Page 241: animacion curso

Ecuaciones Directas

Métodos basados en Optimización

),...,,( 21 nFP

Restricciones

• Posicionamiento de puntos:

• Orientación de vectores:

• Límites a los ángulos:

• Punto por encima de un plano:

• Puntos a distancia constante: dPP jk

niiii 1)1()0(

),...,,( 21 nkk FP

hzk

),...,,( 21 nkk GV

Page 242: animacion curso

• Planteamiento de un Objetivo

- Posicionamiento/Orientación de articulaciones

- Angulos similares a otros dados

• Medición de la aproximación al Objetivo

Determinar el conjunto de ángulos que optimice la

aproximación cumpliendo restricciones adicionales

Métodos basados en Optimización

Page 243: animacion curso

• Función Objetivo

Incorpora las ecuaciones cinemáticas

• Optimización

Minimización de la distancia a la configuración dada

sujeta a condiciones lineales de tipo desigualdad

niiii

nn

asujeto

PFG

1)1()0(

2121

:

),...,,(),...,,(min

Método de Zhao y Badler (1994)

Page 244: animacion curso

• Función Objetivo

Cuadrática en los ángulos

• Optimización

Minimización del objetivo sujeta a restricciones que incorporan

las ecuaciones cinemáticas (No lineales)

PFasujeto

cG

n

ii

n

i

in

),...,,(

)(),...,,(min

21

2)0(

1

21

Método de Gleicher (1997)

Page 245: animacion curso

Aplicaciones de la Cinemática Inversa

Andadores Mecánicos

Víctor G. Mato

• Posicionamiento preciso

de extremidades

• Modificación (Edición) de

movimientos existentes

• Adaptación (Retargetting)

del movimiento

• Composición de movimientos

Page 246: animacion curso

Aplicaciones de la Cinemática Inversa

Page 247: animacion curso

Animación Físicamente Basada 6

Page 248: animacion curso

Introducción

• Los objetos se mueven de acuerdo con leyes

físicas: Gravedad, Elasticidad, Fluidez, etc.

• Están sujetos a interacciones entre ellos

• La simulación correcta del movimiento y/o

comportamiento (p.e. deformación) requiere

formular las leyes físicas que lo rigen

• Estas leyes dan lugar a ecuaciones/sistemas

diferenciales o en derivadas parciales

Page 249: animacion curso

Dinámica

• Es la base de la simulación física

• Estudia las fuerzas que actúan sobre los

objetos y sus reacciones a ellas

• Temas de estudio:

- Dinámica de la partícula

• Movimiento de una partícula sometida a fuerzas

• Sistemas de partículas

• Sistemas Masas-Resortes

- Dinámica de Sólidos rígidos

- Dinámica de fluidos

Page 250: animacion curso

Dinámica de la partícula

• El movimiento de una partícula/sólido rígido sin

rotación está regido por las Leyes de Newton:

- En ausencia de fuerzas, una partícula en reposo permanece en

reposo y, si está en movimiento, éste es uniforme

- La suma de las fuerzas que actúan sobre una partícula le producen

una aceleración con igual dirección y de magnitud inversamente

proporcional a la masa

- Si una partícula ejerce una fuerza sobre otra, la segunda reacciona

ejerciendo otra igual y de sentido contrario

)(" tPmFAmFi

i

i

i

Page 251: animacion curso

Ecuaciones de la Dinámica

• En general, una Fuerza será variable en el tiempo

y también función de la posición y de la velocidad

de la partícula

i

iii tPtPtFtPmtPtPtFF )]('),(,[)(")]('),(,[

Ecuación Diferencial de 2º Orden

i

iz

iy

ix

tztytxtztytxtF

tztytxtztytxtF

tztytxtztytxtF

tz

ty

tx

m

)]('),('),('),(),(),(,[

)]('),('),('),(),(),(,[

)]('),('),('),(),(),(,[

)("

)("

)("

Son necesarios 2 datos iniciales por variable

Page 252: animacion curso

Ejemplo 1

mftz

mfty

mftx

f

f

f

tz

ty

tx

m

f

f

f

cteF

z

y

x

z

y

x

z

y

x

/)("

/)("

/)("

)("

)("

)("

.

)0('

)0('

)0('

)/()('

)/()('

)/()('

z

y

x

k

k

k

kmftz

ktmfty

ktmftx

z

y

x

zz

yy

xx

)0(

)0(

)0(

)0(')2)(/()(

)0(')2)(/()(

)0(')2)(/()(

2

2

2

z

y

x

h

h

h

htztmftz

htytmfty

htxtmftx

z

y

x

zz

yy

xx

Fuerza Constante

Page 253: animacion curso

)0()0(')2)(/()(

)0()0(')2)(/()(

)0()0(')2)(/()(

2

2

2

ztztmftz

ytytmfty

xtxtmftx

z

y

x

)0(

)0(

)0(

)0('

)0('

)0('

2

1

)(

)(

)(2

z

y

x

t

z

y

xt

f

f

f

mtz

ty

tx

z

y

x

00

2

00

2

22

1)( PtV

tAPtV

tF

mtP

Fuerza Constante

Gravedad, Movimiento Uniformemente Acelerado

Page 254: animacion curso

28.9],0,0[

smggA

00)( xtVtx x

00

2

2)( ztV

tgtz z

00)( ytVty y

El movimiento se desarrolla

en un plano y es parabólico

00)( xtVtx x

00

2

2)( ztV

tgtz z

Si V0 = [0, 0, V0z] Caída Libre

Fuerza Constante (Gravedad)

Page 255: animacion curso

Ejemplo 2 Fuerza Proporcional al

Desplazamiento (Resorte)

||||)(

0

00

PP

PPLLkF

Ley de Hooke

k: Coeficiente de rigidez

L0 : Longitud sin Tensión

L: Longitud en Tensión

El movimiento es lineal y puede

suponerse que ocurre en el Eje X

Page 256: animacion curso

Fuerza Proporcional al Desplazamiento

(Resorte)

0

0

Ltxm

ktx"

LtxkF

)()(

)(

0)()( kLtxktxm

m

kwwt

w

vwtLxLtx )()cos()()( 0

000 sen

Ecuación Diferencial Lineal de 2º Orden

Page 257: animacion curso

Fuerza Proporcional al Desplazamiento

Simulación de Elasticidad

Page 258: animacion curso

Ejemplo 3

)(')(" txktxmvkF

Movimiento en un medio viscoso (fluido)

La Fuerza que opone el medio al movimiento en su

seno es proporcional a la velocidad de la partícula

y de sentido contrario al movimiento

k

mvrrxertx

tr

v0

0 )()(0

Page 259: animacion curso

Ejemplo 4

Fuerzas que intervienen: Gravedad y Tensión del Hilo

Péndulo Simple

P(t)

T

mg

)](cos)(

)](sen)(

trrty

trtx

[

[

0)]([sen)(" tgtr

Ecuación Diferencial

No Lineal de 2º Orden

No resoluble exactamente

Page 260: animacion curso

Resolución Numérica de la E.D.O.

• Método de Euler (1 variable):

t0 t1 ti ti+1 tn-1 tn

1,...,1,0

1

1 )()()('

ni

ii

iii

tt

txtxtx

1,...,1,0

1

1 )(')(')("

ni

ii

iii

tt

txtxtx

Page 261: animacion curso

• Método de Euler Datos iniciales:

1,...,1,0)(')()( 1 niiii txttxtx

1,...,1,0)(")(')(' 1 niiii txttxtx

Para i = 0,1, ..., n-1

Calcular la Aceleración en ti

Calcular la Velocidad en ti+1

Calcular la Posición en ti+1

End

)(")(')(' 1 iii txttxtx

)(')()( 1 iii txttxtx

)(')( 0000 txVtxP

k

iiiki txtxtFm

tx )]('),(,[1

)("

Page 262: animacion curso

Momento Lineal. Conservación

Momento Lineal (Cantidad de Movimiento):

)(mVdt

d

dt

dVmAmF

Vmp

dt

dpF

2ª Ley de Newton:

Conservación del Momento Lineal: .0 CtepF

Page 263: animacion curso

Trabajo y Energía Cinética

2

1

P

PdPF Trabajo realizado por una Fuerza:

Integral curvilínea que depende de la trayectoria

2

1

2

1

2

1

2

1

)(2

P

P

P

P

P

P

P

PVVd

mdVVmdP

dt

dVmdPAm

2

1

2

2

2

1

2

2

2||||

2

1||||

2

1||||||||

2)||||(

2

2

1

VmVmVVm

Vdm P

P

Energía Cinética: 2

||||2

1VmEC

Trabajo y Energía Cinética: 12 CC EE

Page 264: animacion curso

Conservación de la Energía Cinética

Si sobre una partícula no actúa ninguna Fuerza,

la Energía Cinética se conserva:

121200 CCCC EEEEF

2

1

2

2 ||||2

1||||

2

1VmVm

En la práctica, para que este principio sea de aplicación

la Fuerza de la Gravedad debe estar contrarrestada

Page 265: animacion curso

Energía Potencial

Si la Fuerza que actúa sobre una partícula no depende del

tiempo ni de la velocidad y sólo es función de la posición

de la partícula respecto a un punto, el Trabajo realizado al

mover la partícula entre 2 puntos depende exclusivamente

de las posiciones inicial y final y de la Trayectoria seguida

para ir de un punto a otro

Fuerzas Conservativas: Aquéllas tales que el Trabajo que

realizan es independiente de la trayectoria de la partícula

• Si una Fuerza es conservativa, el Trabajo que realiza es

(sólo) función de las posiciones inicial y final:

)()( 21

2

1

PEPEdPFP

P E(P): Energía Potencial

Page 266: animacion curso

Energía Mecánica

Trabajo realizado por una Fuerza:

Trabajo realizado si es Conservativa:

12 CC EE

21 PP EE

22112112 PCPCPPCC EEEEEEEE

Energía Mecánica: PCM EEE

Conservación de la Energía Mecánica: 21 MM EE

• Los principios de conservación son útiles cuando se

desconocen las Fuerzas que actúan

Page 267: animacion curso

Sistemas de Partículas

• Conjunto de partículas sometidas a fuerzas exteriores

y (posiblemente) a fuerzas de interacción entre ellas

Fuerzas de interacción Newtonianas:

- Explosión, Choque (acción-reacción)

- Unión rígida entre partículas

- Unión elástica (resortes) entre partículas

• Debido a que las Fuerzas internas cancelan entre sí,

la aceleración de las partículas puede considerarse

que se debe exclusivamente a las Fuerzas externas

Page 268: animacion curso

Momento Lineal. Energía Cinética

Momento Lineal de un Sistema de Partículas:

dt

dpp

dt

d

dt

dpVm

dt

dAmF

i

i

i

i

i

ii

i

iiEXT

)(

Conservación del Momento Lineal: .0 CtepFEXT

Energía Cinética de un Sistema de Partículas:

2||||

2

1ii

i

C VmE

Page 269: animacion curso

Trabajo en un Sistema de Partículas

Fuerzas internas Newtonianas:

Aunque se anulen entre sí, el Trabajo realizado por cada

una es distinto al actuar sobre recorridos diferentes

12 CCINTEXT EE

Partículas con posición relativa constante:

El Trabajo realizado por las Fuerzas internas es nulo

12 CCEXT EE

Ejemplo: Partículas unidas

mediante resortes

Page 270: animacion curso

Conservación de la Energía Cinética

Si sobre un Sistema de partículas no actúa ninguna

Fuerza externa y el Trabajo realizado por las Fuerzas

internas es nulo, la Energía Cinética se conserva:

12120 CCCCEXT EEEE

Consecuencia: 2)1(2)2(

|||||||| i

i

ii

i

i vmvm

• En un Sistema real la Fuerza de la Gravedad debe

estar contrarrestada para que sea de aplicación

Page 271: animacion curso

Energía Potencial. Energía Mecánica

Trabajo realizado por las Fuerzas Externas (Conservativas)

212121

)()()()()( PP

i

i

P

i

i

P

i

i

P

i

PEXT EEEEEE

12 CCEXT EE

Conservación de la Energía Mecánica

22112112 PCPCPPCC EEEEEEEE

Page 272: animacion curso

Ejemplo 1: Explosiones

Estado Inicial: Masa M no sujeta a la Gravedad

Estado Final: Explosión con división en n fragmentos

• Desde el instante inicial hasta el instante inmediatamente

posterior a la explosión se conserva el Momento Lineal

FI pp

0 VMpI

i

n

i

iF Vmp 1

01

i

n

i

i Vm

Page 273: animacion curso

Explosiones. Ejemplo

Estado Inicial: M = 35 Kg

Estado Final: m1 = 10 Kg ||V1 || = 15 m/s

m2 = 20 Kg ||V2 || = 10 m/s

V1 o V2 = 0

0520100 31

3

1

VVVm i

i

i 2V

KgmmMm 5)( 213

smVVVVVV /50||||16||||4||||422

2

2

13213

P1

P2

P3

º13.533

4

150

200

||||

||||

11

22 Vm

Vmtg

Page 274: animacion curso

Explosión-Desintegración

Page 275: animacion curso

Ejemplo 2: Choques

Estado Inicial: P1 , P2 dirigiéndose a un punto de impacto

Estado Final: Rebote tras Choque Perfectamente Elástico

• Si no actúa la Gravedad (p. e. choque de Bolas de Billar) se

conserva el Momento Lineal

• Si no existe disipación

(Choque Perfectamente

Elástico) se conserva la

Energía Cinética

• En general es necesario

especificar el ángulo de

salida

(I)

1P

(I)

2P

(F)

1P

(F)

2P

(I)

1P

(I)

2P

(F)

1P

(F)

2P

Page 276: animacion curso

Choques Perfectamente Elásticos

)(

22

)(

11

)(

22

)(

11

FFIIvmvmvmvm

2)(

22

2)(

11

2)(

22

2)(

11 ][][][][21

21

21

21 FFII

vmvmvmvm

Choque Frontal: Angulo de Incidencia = Angulo de Salida = 0

(I)

1P(I)

2P

21

)(

212

)(

11)(

2

21

)(

22

)(

121)(

1

)(22)(

mm

vmmvmv

mm

vmvmmv

IIF

IIF

)(

2

)(

2

)(

2

)(

121

IFIFvvvvmmSi

Page 277: animacion curso

Sistemas Masas-Resortes

• Simulación de Sólidos Flexibles:

Modelización de un objeto

mediante un conjunto de

partículas de igual masa

conectadas por resortes

• Aplicaciones:

Objetos Elásticos

Láminas Flexibles

Tejidos

Page 278: animacion curso

Sistemas Masas-Resortes: Tejidos

• En general existen Fuerzas internas (Resortes) y Externas

Page 279: animacion curso

Modelización

Superficie Paramétrica

discretizada a través de

curvas isoparamétricas

Colocación de masas en

los nodos y unión entre

ellas mediante resortes

Page 280: animacion curso

Modelización

• Generalmente se añaden resortes adicionales que

conectan nodos más alejados

Page 281: animacion curso

R(i, j): Subíndices de las masas unidas a Pij por un resorte

j)R(i,(k,h)

khij

khij

ijkh

ijkhint PPPP

LKji,F )(1)(

0

Fuerza Interna total sobre una particula

Fuerzas Externas

• Gravedad

• Fuerza debida a la Viscosidad

• Fuerza debida a la velocidad del medio (Viento)

• Reacción por colisión con otros objetos

Page 282: animacion curso

Datos iniciales:

(0)

(0)

ij

ij

V

P Posición inicial de la masa mij

Velocidad inicial de la masa mij

Ecuación del Movimiento

FTotal (i, j) = FInt (i, j) + FExt (i, j) = mij ·Aij

")(1

0

ijijEXT

j)R(i,(k,h)

khij

khij

ijkh

ijkh PmFPPPP

LK

mjni 11

Page 283: animacion curso

[T0 , T1 ] t0 , t1 , . . . , tn t = tk+1 - tk

Método de integración de Euler

Integración en el Tiempo

)(1

)( ji,Fm

tA Total

ij

kij

)()()( kijkij1kij tAΔt tVtV

)()()( kijkij1kij tVΔt tPtP

Page 284: animacion curso

Ejemplo: Tejidos

Page 285: animacion curso

Dinámica de Sólidos Rígidos

• El movimiento de un Sólido comprende Traslación y

Rotación alrededor de algún Eje (posiblemente externo)

• Puede verse como una Traslación del Centro de Masas

y una Rotación alrededor de un Eje pasando por el Centro

Page 286: animacion curso

Movimiento de un Sólido rígido

Centro de Masas:

n

i

ii

n

i

iM mMPmM

C11

1

PdmM

CM

1

Sistema de Partículas

Rotación de partículas alrededor de un Eje:

Todas las Partículas del Sólido

giran alrededor del Eje en un

plano perpendicular un mismo

ángulo en un tiempo dado

Page 287: animacion curso

Cinemática y Dinámica de la Rotación

Velocidad angular:

Aceleración angular:

E: Vector dirección del Eje Edt

d

dt

d

Relación con las magnitudes lineales:

Vrdt

rdArV

)(

r

V

Aceleración Tangencial:

Aceleración Normal:

Tdt

VdrAT

||||

NrrVAN 2)(

Page 288: animacion curso

Rotación de un Sólido rígido

• Todas las partículas tienen igual velocidad angular

(Módulo y Dirección, que es la del Eje)

• Cuando se aplica una Fuerza a una partícula, sólo

la componente tangencial con respecto al plano de

rotación afecta a la rotación y su acción depende de

la distancia de la partícula al Eje

Momento de una Fuerza:

Momento de Inercia:

Momento Angular:

Fr

Μ

dmrI 2

prJ

Page 289: animacion curso

Momento Angular y Momento de Inercia

• Partícula prJ

r

V

IrmJ 2

• Sistema de partículas unidas rígidamente

• Sólido rígido

2)(|||||||| rmrmrVmrJ

IrmrmJJn

i

i

n

i

i

n

i

i

1

2

1

2

1

IJ

IdmrmrddJJ 22

)(

IJ

Page 290: animacion curso

Dinámica de la Rotación

Variación del Momento Angular:

FrpVAmrpdt

rd

dt

dpr

dt

prd

dt

dJ

)()(

Idt

Id

dt

dJ

)(M

Variación del Momento Angular:

Si el Momento de Rotación de las Fuerzas que actúan

sobre un sólido es nulo, el Momento Angular se conserva

Page 291: animacion curso

Dinámica de Sólidos rígidos

Page 292: animacion curso

Temas Avanzados de Animación 7

Page 293: animacion curso

Actores Sintéticos. Movimiento del cuerpo humano

Simulación mediante Estructuras Articuladas complejas

y utilización de Cinemática/Dinámica Directa e Inversa

Temas Avanzados de Animación

Page 294: animacion curso

Dinámica de Tejidos

Simulación mediante Sistemas Masas-Resortes

Temas Avanzados de Animación

Page 295: animacion curso

Animación Facial

Simulación utilizando superficies B-Spline deformables

Temas Avanzados de Animación

Page 296: animacion curso

Efectos Especiales

Dinámica de Fluidos (líquidos, gases)

Temas Avanzados de Animación

Page 297: animacion curso

Actores Sintéticos

Actor/Personaje Sintético:

Modelo en Ordenador de un cuerpo humano/animal

generado como una estructura articulada

La estructura se completa

con músculos (Superficies

deformables) y se recubre

con piel (B-Splines) para

generar el personaje final

Page 298: animacion curso

• Niveles de abstracción

- Esqueleto

- Estructura 3D

- Piel/Envolvente

- Texturas/Ropa

Actores Sintéticos

Page 299: animacion curso

Esqueleto

• Define cada Pose y, por

tanto, el Movimiento del

personaje

• Abstracción matemática

representada por una

Estructura Articulada

• Para visualizar el esqueleto se utilizan figuras

geométricas simples (Prismas, Elipsoides)

Estructura Articulada. Esqueleto

Page 300: animacion curso

Representación

Estructura cinemática

compuesta por elementos

rígidos y articulaciones

Visualización

Permite apreciar las

características abstractas

del movimiento

Esqueleto

Page 301: animacion curso

Simulación del Movimiento

Animación tradicional

• Básicamente 2D

• El dibujante no controla exactamente las dimensiones

Animación de Personajes Sintéticos

• Opera con modelos (esqueletos) 3D

• Difícil definir poses correctas mediante especificación

de cada articulación

Page 302: animacion curso

Manipulación de ángulos: Cinemática Directa

0

2

0

1

60

60

Posicionamiento de articulaciones

Page 303: animacion curso

El cálculo de los

ángulos conocidas

las posiciones, se

denomina

Cinemática Inversa

0

2

0

1

30

80

Para posicionar de forma precisa una articulación es

necesario determinar exactamente los ángulos

Posicionamiento de articulaciones

Page 304: animacion curso

•Utiliza Cinemática Directa

Manipulación de los ángulos

•Físicamente basado

Ejemplo: Ciclo del caminar

•Muchas limitaciones

Sólo algunos movimientos sencillos

Generación de Movimientos

Page 305: animacion curso

•Utiliza Movimientos ya existentes

- Previamente generados mediante Cinemática Directa

- Capturados de la realidad

•Modifica el Movimiento en algún sentido

Trayectoria de articulaciones, proporciones, objetivos

•Utiliza intensivamente Cinemática Inversa

Posicionamiento preciso de articulaciones

Edición de Movimientos

Page 306: animacion curso

Generación del Movimiento

Page 307: animacion curso

Movimiento de un Actor Sintético:

Requiere la especificación exacta de la posición de

cada una de las articulaciones del esqueleto en cada

instante de tiempo (Frame)

Técnicas de especificación del movimiento:

- Métodos algorítmicos o de simulación física

- Métodos Interpolatorios (KeyFraming)

- Captura del movimiento (de la realidad)

- Adaptación (Edición) del movimiento

Especificación del Movimiento

Page 308: animacion curso

• Generación de movimientos basándose en

leyes físicas o en algoritmos heurísticos

- Limitación a movimientos básicos sencillos

- Utiliza predominantemente Cinemática Directa

Ciclo del Caminar

1. Métodos Algorítmicos/Simulación

Page 309: animacion curso

1. Generación de Poses en instantes concretos (Key Frames)

2. Utilización de técnicas interpolatorias para generar Poses

intermedias entre cada 2 Keys

KeyFrame 1

(Frame 1)

KeyFrame 2

(Frame 30)

2. Métodos Interpolatorios (KeyFraming)

Page 310: animacion curso

Métodos Interpolatorios (KeyFraming)

• Cada Pose se genera de forma precisa mediante

Cinemática Inversa (a veces Cinemática Directa)

Key-1 Key-2 Key-3 Key-4 Key-5 Key-6

F-0 F-30 F-60 F-90 F-120 F-150

Page 311: animacion curso

• Interpolación:

Angulos de las articulaciones (una por cada ángulo)

Se espera que las poses intermedias sean naturales y

que el movimiento en su totalidad sea natural

• Cinemática Directa:

Reconstrucción de la posición de cada articulación

• Curvas de interpolación:

B-Splines cúbicos (Aceleración continua)

Métodos Interpolatorios (KeyFraming)

Page 312: animacion curso

•Problemas entre Key-Frames

- La interpolación de ángulos no es intuitiva

Requiere conversión a Quaterniones

- Las restricciones que se cumplen en los Key-Frames

en general dejan de cumplirse en los intermedios

Las distancias entre puntos varían

- En los Frames intermedios, algunas articulaciones

pueden colisionar con el entorno

Penetración de los pies en el suelo

Métodos Interpolatorios (KeyFraming)

Page 313: animacion curso

El movimiento realizado por un Actor real se registra

mediante dispositivos de captación

3. Captura del Movimiento

- Graban la posición 3D

de las articulaciones

del actor a una tasa de

120 Reg/s.

- Para cada una de las

tomas, se calculan los

ángulos de las articu-

laciones y se aplican

a un Modelo mediante

Cinemática Directa

- Sólo permite un número limitado de movimientos, pero

existen librerías con centenares de ellos

Page 314: animacion curso

Ventajas:

Recoge la Esencia del Movimiento

• Velocidad y aceleración

• Naturalidad de la acción

Captura del Movimiento

Inconvenientes:

Tanto el Actor como su movimiento son específicos

• El Actor Sintético tendrá otras proporciones

• El movimiento que se necesita será diferente

Page 315: animacion curso

4. Edición del Movimiento

Page 316: animacion curso

Parte de un Movimiento ya existente

• Generado algorítmicamente o por simulación física

• Generado por Interpolación (KeyFraming)

• Capturado de la realidad

Se modifica (Edita) el movimiento

• Adaptación a las medidas del actor sintético

• Modificación de trayectorias seguidas por articulac.

• Composición de movimientos complejos

Requiere uso intensivo de Cinemática Inversa

Edición del Movimiento

Page 317: animacion curso

Aplica el movimiento original

a un modelo con proporciones

y medidas diferentes, aunque

manteniendo la naturalidad y

esencia del movimiento

1- Re-escalado y Traslación del

modelo original

2- Para cada Frame: Aplicación

de ángulos y reconstrucción

mediante Cinemática Directa

3- El nuevo movimiento editado

puede incumplir restricciones

importantes

Adaptación (Retargetting)

Page 318: animacion curso

Problemas:

Interacción incorrecta

con el entorno

• Pies suspendidos

encima del suelo

• Pies traspasando el

suelo

Retargetting

Page 319: animacion curso

Movimiento Corregido mediante imposición

de restricciones y Cinemática Inversa

Retargetting: Corrección

Page 320: animacion curso

Retargetting. Ejemplos

Page 321: animacion curso

Swing Dance (M Gleicher, 1995)

Dance Troupe

(A. Gardner, 2001)

Retargetting. Ejemplos

Page 322: animacion curso

La Edición se basa en Restricciones espaciales

y se resuelve mediante Cinemática Inversa

Edición de Trayectorias

Modificación de la trayectoria seguida por una o varias

articulaciones para generar un movimiento distinto

Page 323: animacion curso

Edición de Trayectorias

Edición Per Key

· Imposición de restricciones en instantes concretos (Keys)

· Cálculo mediante Cinemática Inversa de la configuración

del esqueleto en los Keys especificados

· Frames intermedios: Interpolación de configuraciones

Problemas

· Resultados imprevisibles entre Key-Frames (Colisión)

· Transición antes/después de cada Key-Frame

Page 324: animacion curso

Problema:

Deslizamiento

de los pies

Solución:

Fijación de

restricciones

Edición Per Key

Page 325: animacion curso

Edición de Trayectorias

Edición Per Frame

· Imposición de restricciones en instantes concretos (Keys)

· Obtención de una nueva trayectoria por Interpolación

· Frames intermedios: Cinemática Inversa en cada Frame

Problemas

· Coste computacional muy alto

· Pueden perderse detalles importantes del movimiento

Page 326: animacion curso

Edición de Trayectorias

Edición Interactiva

Avatar Control

J. Lee et al., 2002

Page 327: animacion curso

Edición de Trayectorias

Motion Graphs

L. Kovar et Al.,

2002

Edición Interactiva

Page 328: animacion curso

• Combinación de varios

movimientos generando

una transición continua

entre ellos

Método 1: Generación de una curva de interpolación

para cada ángulo en cada articulación (3 Nº Artic.)

Método 2: Generación de una curva de interpolación

para la trayectoria de cada articulación

Composición de Movimientos

Page 329: animacion curso

Composición de movimientos

Motion Graphs

L. Kovar et Al.,

2002