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
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)
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
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.
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.
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)
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)
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
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
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
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
• 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
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.
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
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
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:
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
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)
Animación por Ordenador
Ivan Sutherland: SketchPad System.
Dibujos animados de líneas (1963)
W. Disney + 4 Compañías: Tron
Escenarios por ordenador (1982)
Animación por Ordenador (Flying Logos)
Animación por Ordenador
John Lasseter (Pixar):
Luxo Jr Nominada al Oscar (1986)
Tin Toy Gana un Oscar (1988)
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
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)
Animación por Ordenador
2005: Madagascar (DreamWorks) 2005: Robots (Blue Sky)
2006: Cars (Pixar) 2007: Ratatouille (Pixar)
Animación por Ordenador
2008: Wall-e (Pixar/Disney)
Kung-Fu Panda (DreamWorks)
2009: Monstruos vs Aliens (DreamWorks)
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
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
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.
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
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
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
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)
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
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)
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
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
Comparación de Codecs
Clip Original: 1200 Frames (600x400x24) a 24 Frames/seg. (50”)
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
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
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, ...
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
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
Edición de Vídeo (RadVideo)
Elección de Codec
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
Coloreado (Inking & Coloring)
Intercalado (Inbetweening)
Intercalado (Morphing)
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
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.
Animación Generada por Ordenador
Técnicas de Bajo Nivel
Control preciso de la posición, orientación y velocidad
Técnicas de Bajo Nivel
• Objetos
• Cámara
- Pto. Focal
- Pto. Mira
• Luces
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)
Técnicas de Alto Nivel
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
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
Elementos para la Síntesis
de Imágenes por Ordenador
2
Técnicas Básicas
• Modelado de objetos 2D/3D
• Transformaciones (posición/orientación)
• Cámaras virtuales
• Visibilidad
• Iluminación y Color
• Texturas
• Fotorrealismo
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
Coordenadas
Cartesianas
Coordenadas Polares
Sistemas de Referencia 2D
Sistemas de Referencia 2D (3D Studio Max)
Coordenadas
Cartesianas
Coordenadas
Esféricas
Coordenadas
Cilíndricas
Sistemas de Referencia 3D
• 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
• 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)
Ejemplo: Plano 2D de una Ciudad
• 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
Estructuras de Datos
Ejemplo de Superficie poliédrica
Vértices: 22.841
Polígonos: 41.259
Estructuras de Datos
Ejemplo de Superficie Regular aproximada por polígonos
Vértices: 20.255
Polígonos: 40296
Modelado Constructivo
Modelado Constructivo
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
Traslación
0P
1P
01],[ PPba
],[),(),( bayxyx 0( , ) ( , ) ,x y r x s y r s
Escalado respecto al Origen
Transformaciones Afines 2D
Rotación alrededor del Origen
)cossen,encos(),( yxyxyx s
Transformaciones Afines 2D
)2cos2sen,2en2cos(),( yxyxyx s
Simetría/Reflexión
Transformaciones Afines 2D
Shear
),tg(),( yyxyx
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
Escalado
),,(),,( ztysxrzyx
Traslación
),,(),,( czbyaxzyx
Transformaciones Afines 3D
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
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)
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
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
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
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
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
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
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
FOV = 50º
Modificación de la Distancia Focal/FOV
FOV = 20º FOV = 90º
Tele-objetivo Gran Angular
Modificación de la Distancia Focal/FOV
Cámara Virtual (3D Studio Max)
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
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
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
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
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
• 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
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
Algoritmo del Z-Buffer
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
(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
Rojo
Verde
Azul
Primarios Secundarios
+
+
+
=
=
=
Amarillo
Magenta
Cyan
Grises/Blanco
+ + =
Combinación de Colores (Fuentes de Luz)
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
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)
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)
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
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)
Juego (ChessBase) Power Point
Interfaces para representación del color
PhotoShop 3D Studio Max
Interfaces para representación del color
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
- 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
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
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
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
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
Especificación de los parámetros
del modelo de Phong en 3D Studio
Modelo de iluminación de Phong
Modelo de iluminación de Phong
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
Foto-realismo
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
Texturas de color
Imagen bitmap (fotografía)
Aplicación sobre un Plano, un
Cilindro y una Esfera
El efecto de esta textura produce una gran sensación de relieve
Bump Mapping
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
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
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
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
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
Ray Tracing recursivo
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
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
Radiosidad
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
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)
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
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
Curva pasando por Puntos
Interpolación de Puntos
Ejemplo: Balanceo de una Cámara
Interpolación de Angulos
Interpolación de Colores
Aplicación: Transición entre imágenes
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
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
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
]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
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
)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
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
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
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
Curvas de Bezier. Propiedades (3er
grado)
Interpolación y Tangente
Control Local de Forma
Curvas de Bezier
Control Local de Forma Fuente PostScript
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
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
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
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
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
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
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
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
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)
Edición de una Curva (3D Studio Max)
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
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
Movimiento a lo largo de una Curva
Movimiento no uniforme Movimiento con velocidad const.
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
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
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
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
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
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
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 )]('[)]('[)]('[)(),(
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
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
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
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 )(
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
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
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
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
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
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
Control de Velocidad con Ease-in/out
Trayectoria Original Reparametrización Ease-in/Out
Control de Velocidad. Reparametrización
Trayectoria Original Reparametrización
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
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
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
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
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
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
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
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
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
)º30(xR
)º20(yR )º110(zR
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)
)º(110ZR
)º20(' YR )º(" 30XR
• 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
• 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
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
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
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[
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
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
Orientación con el Triedro de Frenet
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
Orientación de una Cámara
Punto de Mira fijo centrado en un objeto
Orientación con el Triedro de Frenet
Orientación con el Triedro de Frenet
Estructuras Jerárquicas
Estructuras Articuladas
5
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
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
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
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
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
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
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
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
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
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
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
Sistema Tierra-Luna: Cinemática Inversa
Ecuaciones Directas:
Inversión:
)()()(
)cos()cos()(
wtRvtrtyb
wtRvtrtxa
sensen
])cos[(22222
twvrRRrba
rR
Rrbatwv
2
)(])cos[(
2222
Ejemplo 2: Movimiento de una rueda
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
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
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
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
Movimiento de una rueda
Recorrido del Centro
RtwtC ||)(
Angulo de Giro
wtt )(
)cos())(
||))cos()(
00
00
wtywtxty
Rtwwtywtxtx
sen(
en(s
Estructuras Articuladas
Conjunto de elementos rígidos unidos mediante
juntas de unión rotatorias y manteniendo una
relación de dependencia de tipo árbol
Cadenas Cinemáticas
Sucesión ordenada de elementos rígidos unidos
entre sí mediante juntas de unión rotatorias
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.)
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
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
• 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
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
)...(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
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
• 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
Cinemática de una Cadena 3D
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
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
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
• 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
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
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
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
,...,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
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
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
• 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
• 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)
• 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)
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
Aplicaciones de la Cinemática Inversa
Animación Físicamente Basada 6
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
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
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
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
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
)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
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)
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
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
Fuerza Proporcional al Desplazamiento
Simulación de Elasticidad
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
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
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
• 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
)("
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
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
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
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
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
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
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
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
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
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
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
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
Explosión-Desintegración
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
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
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
Sistemas Masas-Resortes: Tejidos
• En general existen Fuerzas internas (Resortes) y Externas
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
Modelización
• Generalmente se añaden resortes adicionales que
conectan nodos más alejados
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
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
[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
Ejemplo: Tejidos
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
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
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)(
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
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
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
Dinámica de Sólidos rígidos
Temas Avanzados de Animación 7
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
Dinámica de Tejidos
Simulación mediante Sistemas Masas-Resortes
Temas Avanzados de Animación
Animación Facial
Simulación utilizando superficies B-Spline deformables
Temas Avanzados de Animación
Efectos Especiales
Dinámica de Fluidos (líquidos, gases)
Temas Avanzados de Animación
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
• Niveles de abstracción
- Esqueleto
- Estructura 3D
- Piel/Envolvente
- Texturas/Ropa
Actores Sintéticos
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
Representación
Estructura cinemática
compuesta por elementos
rígidos y articulaciones
Visualización
Permite apreciar las
características abstractas
del movimiento
Esqueleto
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
Manipulación de ángulos: Cinemática Directa
0
2
0
1
60
60
Posicionamiento de articulaciones
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
•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
•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
Generación del Movimiento
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
• 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
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)
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
• 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)
•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)
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
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
4. Edición del Movimiento
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
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)
Problemas:
Interacción incorrecta
con el entorno
• Pies suspendidos
encima del suelo
• Pies traspasando el
suelo
Retargetting
Movimiento Corregido mediante imposición
de restricciones y Cinemática Inversa
Retargetting: Corrección
Retargetting. Ejemplos
Swing Dance (M Gleicher, 1995)
Dance Troupe
(A. Gardner, 2001)
Retargetting. Ejemplos
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
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
Problema:
Deslizamiento
de los pies
Solución:
Fijación de
restricciones
Edición Per Key
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
Edición de Trayectorias
Edición Interactiva
Avatar Control
J. Lee et al., 2002
Edición de Trayectorias
Motion Graphs
L. Kovar et Al.,
2002
Edición Interactiva
• 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
Composición de movimientos
Motion Graphs
L. Kovar et Al.,
2002