Anda di halaman 1dari 36

Animacin y simulaciones fsicas usando grficas por computadora

Csar Mendoza ( www.mendozajullia.com ) Asesorias: Mircoles 5 7 pm Departamental II Despacho 147

Realidad virtual
Humanos (inmersin & percepcin )

Hardware (sistemas electromecnicos)

Software (grficos por computadora)

Temas
Iluminacin en tiempo real, Visualizacin cientfica, Texturado, Sombreado, Renderizado en tiempo real, Programacin tarjetas GPU, Animacin y modelado de sistemas fsicos etc.

Simulacion fsica e interactiva de:


Objetos rgidos Fludos Objetos deformables Gases Explosiones Cabello Nieve Nube Ropai.e. Todo tipo de fenmenos naturales

Animacin Convencional

Simulacin cientfica

Animacin basado en leyes fsicas

Quin es quin ?
Animacin convencional
Interpolacin + keyframes Totalmente controlable Predefinido, no interactivo

Animacin basada en leyes fsicas


Sigue leyes de nuestro macromundo Clculos en tiempo real Interactiva

Quin es quin ?
Simulacin cientfica
Reproduccin de fenmenos fsicos Substituto de experimentos reales

Animacin basada en leyes fsicas


Imitacin de los fenmenos fsicos Comportamiento plausible Realismo (depende de la rpidez de clculo
y restricciones de estabilidad)

Fsica es un campo muy extenso


Dinmica: Estudio de fuerzas y masas que causan movimientos a lo largo del tiempo.

Aplicaciones
Simulacin de materiales Modelo del comportamiento de agentes de videojuegos Simuladores de ciruga Industria flmica

Elementos clave en una simulacin-animacin


Poner los objetos en un mismo marco de referencia Anlisis de interacciones (deteccin de colisiones entre objetos, clculo de fuerzas) Clculo de dinmica, posicin del objeto Renderizado de objetos

Factores importantes en el rendimiento de una simulacin


Tcnicas para resolver las ecuaciones dinmicas de un modelo fsico (mtodos de integracin, paso de tiempo) Nivel de detalle del objeto Nmero de elementos en la escena virtual Tcnicas de deteccin de colisin Clculo de la respuesta a la colisin Tcnicas de renderizado (sombreado, iluminacin, etc.)

Rapidez
Que tan rpido son resueltas las ecuaciones dinmicas de los objetos simulados.

Interactividad

Tiempo-real

REAL tiempo real: la imagen que el usario percibe debe corresponder a un paso de simulacin.

Real tiempo-real
1 seg. en la vida del objeto dt = 0.25 seg 1 seg Proceso de Renderizado simulacin dt dt dt dt

Si dos imgenes son desplegadas en un intervalo de 1 seg. entonces este periodo DEBE corresponder a 1 seg. del compor tamiento real del material.

De lo contrario, muy lento


1 seg. del tiempo en la vida real del objeto

dt = 0.25seg

dt

dt

Proceso muy complicado !

Imgenes actualizadas cada dt

O muy rpido
1 seg. de la vida real del objeto Proceso muy sencillo !

dt = 0.25 dt

dt

dt

dt

dt

dt

dt

Imgenes actualizadas cada dt

Sincronizacin
An cuando podemos tener 30 imgenes por segundo, si no corresponden a 1/30 segundos de la vida real, entonces el sistema no esta sincronizado.

No tiempo real real

Tipo de modelo
La rapidez tambien depende del tipo de modelo:
Masa-muelle (muy rpido) Mtodo de elemento largo (muy rpido) Mtodo de elementos de frontera (rpido) Mtodo de elementos finitos (FEM): Formulacin clsica (muy lento) Con simplificaciones : Condensado(muy rpido) Explicito (rpido)

Numero de elementos
Nmero de muelles Nmero de tetrahedros Nmero de puntos Muestreo espacial adaptativo

Muestro espacial adaptativo


Tambien conocido como simulacin por nivel de detalles Representaciones jerrquicas Cantidades de puntos-masa para diferentes precisiones en el modelado de objetos Este mtodo permite enfocar la carga computacional en regiones de inters del objeto.

Pero existen algunos problemas:


Cmo se definen las regiones de inters ? Cul es la mejor combinacin entre la deformacin geomtrica y la deformacin basada en la fsica. Cuntos y cules deben ser los grados de libertad para las deformaciones ? Como se cambia entre los diferentes niveles de detalle de un objeto ? Cual es la mejor tcnica para realizar el actualizado de los puntos de los objetos ? Casi imposible de realizar en tiempo-real modificaciones topolgicas An mucho por investigar

Manejo de las colisiones


Detectar la colisin entre uno o ms objetos Detectar la respuesta a las colisiones

Aun hay mucha investigacin que se hace para realizar la deteccion de colision entre objetos: Fase de optimizacin: Da una idea de donde puede existir la colision (mtodos de descomposicion espacial, jerarquas de cajas englobantes) Fase de localizacin exacta de la colision (algoritmo de GJK). Aceleracin por hardware Demasiado ! Requieren varias clases

Deteccion de la colisin
Depende del tipo de modelo:
Modelos non-poliedrales (e.g. superficies implcitas, paramtricas) Modelos poliedrales (e.g. sopas de polgonos, objetos estructurados concavos y convexos)

Algunos factores que influyen en la interactividad: La forma geomtrica del objeto


El nmero de polgonos en el objeto La naturaleza fsica del objeto (rgido deformable)

Modelos para el clculo de la respuesta a la colisin


Modelos basados en los impulsos: el fenmeno de la colisin es considerado instantneo (objetos rgidos) Modelos basado en el mtodo de penalidades: en el momento de la colisin, la fuerza reactiva primero reduce la velocidad relativa de dos objetos y despus los repela dependiendo de la penetracin. Hiptesis: deformacin == interpenetracin (objetos rgidos y deformables)

Interpenetracin

Caso rigido

Caso deformable

Mtodo de penalidad
Fuerza = rgidez * interpenetracin
(aunque otros modelos mas complicados existen)

Para objetos rgidos: Rpido, solo se realiza un clculo Para objetos deformables: Lento, clculo de la fuerza para cada primitivo (tringulos, puntos,etc.)

Adems
Varios objetos en contacto

Clculo de fuerza para cada contacto

Se reduce el rendimiento

Modelos basados en la restriccin: Movimiento(t) = f (fuerza) C(Movimiento(t)) > 0 El movimiento de los objetos es una funcin de la fuerza sujeta a restricciones de no penetracin. A continuacin un ejemplo

Planos de restriccin

El movimiento de la esfera depende de la fuerza Restriccin: Posicin de la esfera > normal_plano*puntoEnPlano

Fuerzas externas pueden afectar la topologa de los objetos

Separar, dividir o destruir elementos de los objetos Verificar a cada paso de tiempo la complitud del objeto (estabilidad).

Tcnicas de renderizado
Tcnicas del Nivel de detalle (Level of detail - LoD)
Nuevamente: Problema entre el intercambio de diferentes niveles de detalles.

Display lists de OpenGL (solo para objetos rgidos) Se almacenan los primitivos del objeto
El problema no es la razn de cambio del actualizado de los objetos, sino el transporte de datos del procesador a la tarjeta grfica. Actualmene, se puede reducir este trfico de datos con simples operaciones en la tarjeta grfica (e.g. vertex shaders)

Multi-procesos Clipping

Paso de tiempo
Como lo dijimos previamente, el rendimiento de un sistema de simulacion depende del paso de tiempo que se utiliza para resolver las ecuaciones de un modelo. e.g [Volino,Thalman 2001]
Simulacion de ropa, 4096 vrtices, 16875 tetrahedros, 22320 muelles, Intel Pentium 4, 2 GHz

Mtodo Expl.Euler RK 2 Impl.Euler RK 4 Verlet

time-step[ms] 0.5 3.8 49.0 17.0 11.5

comp.time[ms] 9.5 18.9 172 50.0 9.5

Paso de tiempo adaptativo


Se minimizan los gastos computacionales al utilizar pasos de tiempo adaptativos.
Pasos de tiempo muy pequeo si las fuerzas en los vrtices cambian rapidamente Pasos de tiempo grandes si las fuerzas no cambian mucho. Pero: Carga computacional por el rastreo del cambio de fuerzas Cambios de los pasos de tiempo puede perturbar la suavidad de la simulacin.

Ejemplos: Una esfera que cae libremente no requiere pasos de tiempo adaptativo. La deteccion de colision requiere pasos de tiempo adaptativos

Anda mungkin juga menyukai