Centro de Investigación y de Estudios Avanzados del IPN Departamento de Ingenierı́a Eléctrica Sección de Computación Estado de Arte Tesista: Claudia Magdalena Ramı́rez Trejo Director de tesis: Luis Gerardo de la Fraga 1. Tı́tulo de proyecto Animación de modelos deformables 2. Introducción Para realizar la animación del comportamiento que tienen los modelos deformables elásticos e inelásticos, al interactuar con ellos aplicando fuerzas externas, se presentan los siguientes problemas: primero, la implementación de las estructuras de datos para representar los objetos basados en malla de simplejos; en segundo lugar, implementar un mecanismo de detección de colisiones para lograr la interacción con los objetos a través de un guante de realidad virtual; finalmente estudiar y discretizar las ecuaciones básicas de movimiento de un cuerpo y de Newton, para cuantificar la deformación de los objetos como respuesta a la colisión. 3. Estado del arte A continuación se presentan una descripción breve de cada uno de los problemas, mencionados anteriormente, que conlleva realizar la animación de modelos deformables y los trabajos que serán utilizados como base para dar solución a éstos: 3.1. Representación del objeto deformable En general una malla de simplejos está formado por por polı́gonos (caras), los que a su vez están formados por aristas y finalmente las aristas están definidas por vértices. Las relaciones que existen entre la malla y sus componentes son las siguientes: 1. Una malla está formada por m caras. 2. Una cara puede tener n aristas. 3. Una arista está formada por dos vértices. 4. Cada vértice tiene tres vértices vecinos. 1 5. Un vétice solo puede pertenecer a tres caras. 6. Un vértice pude pertenecer solamente a tres aristas. Para indicar los componentes que forman la malla y la relación que existe entre ellos, es necesario implementar una serie de estructuras de datos. Estas estructuras también son útiles para visualizar, en un sitema computacional, los modelos basados en mallas de simplejos, pues se requiere indicar al sistema que parte de del modelo debe mostrarse en la pantalla, cuáles son los polı́gonos que forman las caras de la malla y el orden que tienen. Las estructuras de datos de representación que serán utilizadas son las diseñadas en la tesis [1], en la cual implementaron la modelización de macromoléculas biológicas a baja resolución que son formas geométricas tridimensionales generales, usando mallas de simplejos. En este trabajo se usan modelos deformables basados en mallas de simplejos para generar varios modelos iniciales de entrada al algoritmo iterativo de reconstrucción. Para la representación y visualización de los modelos retomoron y modificaron las estructuras propuestas por Delingette [2]. El sistema determina la fuerza requerida para lograr la deformación del modelo considerando la fuerza interna y el factor de elasticidad de la malla. Las estructuras fueron implementadas en el lenguaje C en Linux. Los elementos de un mismo tipo están guardados en listas doblemente ligadas. Esto facilita la inserción de cualquiera de estos elementos, agiliza las búsquedas de un elemento en partı́cular, y la eliminación es más sencilla. 3.2. Algoritmos de detección de colisión La deformación que sufren los modelos se determina de acuerdo a sus caracterı́sticas elásticas, a la superficie de choque entre el guante y el modelo, y la fuerza aplicada. Al trabajar con modelos deformables no se tiene como entidad mı́nima el objeto (malla de simplejos) sinó a las partı́culas en sı́. Por lo tanto está claro que las colisiones se producirán entre alguna partı́cula, arista o alguna parte interna de las caras de la malla, y el guante. Existen diversos métodos que pueden ser utilizados para detectar colisiones en un sitema, entre los más conocidos se encuentran el método de bisección o backtracking y el método de bounding boxes. Aún no han determinado que algoritmo es el más adecuado por lo que la elección del algoritmo de detección de colisiones depende directamente de los requerimientos de velocidad y precisión que se desee o necesite en el sistema. En este trabajo de tesis aún no ha establecido el algoritmo que será utilizado pero en su momento se hará un análisis de las ventajas y desventajas que presenta cada uno de estos. Aunque uno de los más recientes y que presenta mejores caracterı́sticas es el algoritmo elaborado en [3], el cual computa la fuerza de colisión entre objetos sólidos tomando en cuenta la fuerza de fricción. También permite diferentes puntos de contacto con fricción dinámica y estática, y para ambos sistemas con o sin fricción es considerablemente rápido, simple y más confiable que investigaciones previas a este problema. 2 3.3. Respuesta del sistema a la colisión La respuesta del sistema es calcula usando las ecuaciones de movimiento de Newton y las fórmulas básica de movimiento de un cuerpo. También pueden ocuparse las ecuaciones de Lagrange que son similares a las leyes de Newton solo que involucran diferenciales. A continuación se presentan los artı́culos que aplican las ecuaciones de Lagrange y de Newton para calcular la deformación de modelos deformables, ası́ como la discretización de éstas. Algunos también incorporan algoritmos de detección de colisiones, aunque la representación de los modelos que usan no siempre está basada en mallas de simplejos. 1. Entre algunos de los más recientes se encuentra un motor de 3D que muestra la interacción con cuerpos no rı́gidos en el cuál fueron estudiados modelos existentes de objetos elásticos y deformables, ası́ como algortimos de detección de colisión. El modelo de un objeto es creado como un conjunto de puntos conectados por resortes con un factor de elasticidad k, la colisión de los objetos es determinada usando un motor de detección de colisión. Después de que ocurre la colisión la respuesta es calculada usando leyes fı́sicas. Los objetos con los que trabajan son cuerpos elásticos y deformables. Ellos cambian su forma bajo la influencia de fuerzas externas de acuerdo a un conjunto de reglas comúnmente usadas en modelos fı́sicos. Los objetos son representados por una malla de polı́gonos, triángulos. Los bordes de los triángulos poseen cualidades fı́sicas de resortes. Los vértices tienen propiedades de cuerpos rı́gidos que son conectados por resortes. [4]. 2. También se puede mencionar el artı́culo donde se presenta un modelo fı́sico de los tejidos faciales de la epidermis, tejidos grasos subcutáneos y el esqueleto facial. El modelo de tejidos es representado por una malla de unidades de resorte no lineal con diversas propiedades visco-elásticas. Los vectores de fuerza muscular están construidos por fibras rı́gidas sujetadas al hueso combinados dentro de la capa de la dermis. Se emplea una técnica de integración numérica para calcular el desplazamiento dinámico de los nodos de la malla bajo la influencia de contracciones musculares internas [5]. 3. En el artı́culo [6] se presenta una aproximación general del diseño y animación de modelos deformables complejos con superficies implı́citas. Las superficies implı́citas son introducidas como una capa extra cubierta de cualquier estructura que se mueve y deforma a através del tiempo. Ofreciendo una definición compacta de una superficie lisa alrededor de un objeto, proveen un mecanismo de detección de colisión. La capa se deforma de acuerdo al contacto generado entre los objetos que chocan. Un modelo fı́sico simple basado en la aproximación del comportamiento elástico es diseñado para computar la respuesta a la colisión. Cabe señalar que aunque no vayan a ocuparse las ecuaciones de Lagrange en esta tesis es importante análisar diferentes criterios que proponen estos artı́culos para computar la deformación de los modelos. 3 Referencias [1] Jorge Eduardo Ramı́rez. Modelos deformables para caracterizar macromoléculas biológicas. Tesis de maestrı́a, Centro de Investigación y de Estudios Avanzados del IPN, Departamento de Computación, Junio 2004. [2] H. Delingette. Simplex meshes: a general representation for 3d shape reconstruction. Technical Report RR-3954, INRIA, 1994. [3] David Braff. Fast contact force computation for nonpenetrating rigid bodies. Robotic Insititute Carnegie Mellon University Pittsburgh, July 1994. [4] Liliya Kharevych y Rafi (Mohammad) Khan. 3d physics engine for elastic and deformable bodies. Universidad de Maryland College Park, December 2002. [5] Demetri Terzopoulos and Keith Waters. A physical model of facial tissue and muscle articulation. pages 77–82, 1990. [6] Cani Gascuel y Mathieu Desbrun Marie Paule. Animation of deformable models using implicit surfaces, March 1997. 4