Animation par scènes ou images clés Interpolation de formes ou d’images
Origine de l’animation par scènes clés Tire son nom du système traditionnel de production développé par Walt Disney. Dans ce système, les artistes principaux ne produisaient que les scènes les plus importantes; ensuite, les assistants dessinaient les scènes intermédiaires. Scènes clés Scènes clés Scènes intermédiaires Avec l’animation par scènes clés sur ordinateur, c’est l’utilisateur qui fait office d’animateur principal et le programme d’animation, celui d’assistant.
Approche utilisée L’utilisateur définit les objets, les lumières, la caméra, etc. de chaque scène clé. Le système graphique se charge alors de calculer les scènes intermédiaires en tenant compte de ces différents paramètres. La technique de calcul utilisée dans l’animation par scènes clés est l’interpolation : elle repose sur le fait que chaque objet est défini à partir d’un nombre fini de points ou vecteurs d’approximation, d’interpolation ou de contrôle. 2 stratégies : Interpolation des objets eux-mêmes (b) Interpolation paramétrique Daniel Thalmann, EPFL-LIG
1. Interpolation des objets eux-mêmes La correspondance entre scènes clés ne se fait pas point par point mais entre objets. Rick Parent, Animatique Algorithmes et techniques. 2003, p. 122.
Différentes approches d’interpolation Interpolation linéaire Possibilités d’animation trop restreintes. Trajectoires souvent non réalistes, manque de fluidité, discontinuités temporelles. 2 Exemple : Balle bondissante 1 3 Interpolation non linéaire On peut tenir compte de plusieurs scènes clés (au lieu des 2 directement touchées) pour spécifier les caractéristiques du mouvement entre 2 positions clés. Ex. : utilisation de B-Splines. Mouvement toujours non réaliste à moins de tenir compte de la vitesse et de l’accélération entre les scènes clés. Hearn & Baker, Computer Graphics with OpenGL. 2004, 857p.
Comment établir la correspondance entre les scènes clés ? Le problème se complique lorsque 2 objets n’ont pas le même nombre de sommets. Effectuer un pré-traitement pour égaliser le # de sommets. Solution : Algorithme élémentaire Soient m et n les nombres de sommets de 2 objets (m > n), calculer R (m – 1) div (n – 1) ; calculer S (m – 1) mod (n – 1) ; ajouter R points aux S premiers segments et R – 1 aux autres.
Exemple de correspondance entre les scènes clés R = 2 = S n = 7 n' = 15 1 point aux 4 autres m = 15 2 points aux 2 premiers segments Daniel Thalmann, EPFL-LIG
Interpolation d’objets 3D : techniques basées sur des surfaces Lorsque les objets sont modélisés en facettes, la technique est beaucoup plus complexe. Pour assurer la correspondance entre facettes et sommets, il faut éventuellement ajouter des facettes et des sommets. Daniel Thalmann, EPFL-LIG 6 faces 8 sommets 5 faces 5 sommets Une fois cette opération effectuée, la procédure consiste à interpoler sommet à sommet.
Interpolation d’objets 3D : techniques basées sur des surfaces Les 2 objets à interpoler partagent la même topologie sommet-arête. 1er cas : Les objets sont transformés en interpolant simplement les positions des sommets, sommet par sommet. Exemple : 2 surfaces de Bézier à m x n points de contrôle. 2ième cas : Les 2 objets sont des polyèdres en forme d’étoile. Chaque objet renferme au moins un point de son noyau à partir duquel il est possible de tracer un segment vers tout point de la surface de l’objet sans couper la surface de cet objet. Exemple en 2D Les coordonnées sphériques peuvent être utilisées pour déduire les formes intermédiaires. noyau
Interpolation 3D: polyèdres en forme d’étoile Procédure : Les surfaces des objets sont échantillonnées par une distribution régulière de rayons émanant d’un point du noyau de l’objet. 1. Les sommets d’un objet intermédiaire sont construits en effectuant une interpolation entre les points d’intersection d’un rayon. 2. Les facettes d’un objet intermédiaire sont construites à partir des sommets selon la manière dont les rayons sont distribués dans l’espace sphérique : 3. x = sin cos y = sin sin z = cos
Interpolation 3D: polyèdres en forme d’étoile Cela illustre l’échantillonnage et l’interpolation d’objets en 2D. Rick Parent, Animatique Algorithmes et techniques. 2003, p. 163.
Interpolation d’objets 3D : tranches axiales 3ième cas : Tranches axiales E. Chen & R. Parent, Shape Averaging and Its Application to Industrial Design. IEEE CGA, 9(1), 1989, p. 47-54. Il s’agit d’interpoler des objets en forme d’étoile p / r à un axe central. L’animateur définit un axe qui passe par le milieu de chaque objet. À intervalles réguliers le long de cet axe, des tranches perpendiculaires sont découpées dans l’un de ces objets. Ces tranches doivent être en forme d’étoile p / r au point d’intersection entre l’axe et la tranche. Rick Parent, Animatique Algorithmes et techniques. 2003, p. 164.
Interpolation d’objets 3D : tranches axiales La partie de l’axe située à l’intérieur de chaque objet est paramétrée de 0 à 1. L’animateur définit aussi un vecteur d’orientation perpendiculaire à l’axe. Procédure : Pour chaque pas s de 0 à 1, une tranche est prélevée sur chaque objet. 1. Les tranches 2D peuvent être interpolées par paires (une de chaque objet) en traçant des rayons qui émanent du point central et qui échantillonnent la bordure à intervalles réguliers p / r au vecteur d’orientation. 2. Rick Parent, Animatique Algorithmes et techniques. 2003, p. 164.
Interpolation d’objets 3D : tranches axiales Les points d’intersection d’un rayon-polygone correspondant à une paire de tranches sont interpolés.
Interpolation d’objets 3D : tranches axiales Toutes les tranches d’un objet intermédiaire peuvent être utilisées pour construire cet objet. 3. E. Chen & R. Parent, Shape Averaging and Its Application to Industrial Design. IEEE CGA, 9(1), 1989, p. 47-54.
Interpolation d’objets 3D : projection sur une sphère L’approche consiste à projeter les 2 objets à interpoler vers une surface commune, par ex., une sphère de rayon 1. J. Kent, W. Carlson & R. Parent, Shape Transformation for Polyhedral Objects. Computer Graphics, 26(2), p. 47-54, 1992. Condition : la totalité de la surface de l’objet doit correspondre à la totalité de la sphère sans chevauchement. À chaque point de la surface de l’objet correspond un et un seul point sur la sphère (application bijective). Procédure : Il s’agit de construire un maillage triangulaire pour chaque objet. 1. Il s’agit de projeter les sommets des triangles de chaque maillage sur la sphère de rayon 1. 2. Il s’agit de découper chaque triangle projeté d’un maillage par rapport aux triangles projetés de l’autre maillage et vice versa. 3. On obtient ainsi un maillage combiné des deux précédents : les découpages extérieurs des 1er & 2ième maillages + la partie commune.
Interpolation d’objets 3D : projection sur une sphère Il s’agit de projeter en sens inverse les sommets des triangles du maillage combiné sur la surface de chaque objet. 4. Cette opération crée un nouveau modèle pour chacune des formes d’origine à la différence près que les nouveaux modèles possèdent maintenant des topologies identiques. Ces nouvelles définitions des objets peuvent ensuite être transformées par une interpolation sommet à sommet. 5. Note : L’implantation de l’opération de découpage peut s’avérer difficile car il faut tenir compte de plusieurs cas spéciaux. Il existe plusieurs moyens de projeter un objet vers une sphère unité mais, aucune n’est valide pour tous les objets. À eux tous, ils permettent de satisfaire la condition précédente pour la plupart des objets sans trous.
Interpolation d’objets 3D : projection sur une sphère Méthodes de projection : Projeter chaque sommet de l’objet à partir d’un point central vers la sphère. Ex. : polyèdres en forme d’étoile, polyèdres convexes. Méthodes basées sur le mode de construction de l’objet (approche orienté-objet). Ex. : surfaces de révolution. etc. Voir J. Kent, W. Carlson & R. Parent, Shape Transformation for Polyhedral Objects. Computer Graphics, 26(2), p. 47-54, 1992.
Interpolation d’objets 3D : techniques basées sur des surfaces Restrictions sur les techniques basées sur des surfaces : Ces restrictions portent sur les types d’objets qu’ils sont capables de traiter, en particulier les objets dotés de trous. L’interpolation de formes 3D reste une opération difficile à effectuer.
Technique des squelettes Burtnyk N., Wein . (1976) Interactive skeleton techniques for enhancing motion dynamics in key frame animation. Comm. ACM 19(10) : 564 -569. Pour faciliter l’application des techniques d’interpolation pour des objets complexes, on considère un squelette de l’objet au lieu de l’objet lui-même. Cette forme simple permet de décrire plus facilement et plus efficacement le mouvement souhaité.
Morphing 2D (technique de post-traitement d’image) Méthode qui consiste à interpoler à partir d’images clés plutôt que les objets des scènes clés. L’animateur doit spécifier les éléments correspondants dans les deux images clés. Ces correspondances sont utilisées pour contrôler la transformation.
Morphing 2D (technique de post-traitement d’image) Technique basée sur des grilles de coordonnées définies par l’animateur et superposées à chaque image La méthode la plus simple consiste à plaquer une grille sur chacune des images en plaçant judicieusement les sommets aux endroits clés : Les éléments correspondants des images doivent se trouver dans les cellules correspondantes des grilles. L’utilisateur définit ces grilles en traçant le même nombre de points d’intersection de grille dans les 2 images. Les grilles doivent être définies jusqu’aux bordures des images pour en inclure la totalité. Il s’agit ensuite de créer les images intermédiaires par interpolation li- néaire des sommets des 2 grilles pour former des grilles intermédiaires.
Morphing 2D Les grilles peuvent être régulières ou être définies à l’aide de splines. L’interpolation pour former des grilles intermédiaires peut s’effectuer : de manière linéaire ou les grilles d’images clés adjacentes peuvent être utilisées pour effectuer une interpolation d’ordre supérieur. Des pixels des images source et de destination sont étirés ou compressés en fonction de la grille intermédiaire.
Morphing 2D Une fusion pixel par pixel des 2 images est finalement réalisée. Ce n’est rien d’autre qu’un mélange des couleurs des 2 pixels correspondants : Cij = C1ij + (1 - ) C2ij Cas simple : est linéaire p / r au numéro d’image / # d’images. Cas non linéaire : cela donne souvent des résultats visuels plus intéressants.
Morphing 2D (technique de post-traitement d’image) Technique basée sur des lignes caractéristiques définies par l’animateur pour chaque image La correspondance entre images se fait en traçant des lignes caractéristiques sur les 2 images. T. Beier & S. Neely, Feature-Based Image Metamorphosis. Computer Graphics, 26, 2, 35-42, 1992. Ces lignes caractéristiques sont ensuite interpolées pour former un jeu de lignes caractéristiques intermédiaires. L’interpolation peut s’appuyer soit sur les extrémités des segments, soit sur les points centraux et l’orientation des segments.
Morphing 2D (technique de post-traitement d’image) T. Beier & S. Neely, Feature-Based Image Metamorphosis. Computer Graphics, 26, 2, 35-42, 1992. Les coordonnées de chaque pixel sur l’image intermédiaire sont obtenues pour chaque ligne caractéristique interpolée. Soient P1 et P2 les extrémités d’une ligne caractéristique, Cela définit un système de coordonnées 2D (U, V) sur l’image, où P1 est l’origine, la direction unitaire V est (P2 - P1) / || P2 - P1 ||, et la direction unitaire U est (Vy, - Vx). Nous pouvons alors en déduire les coordonnées d’un pixel en position P = (u, v).
Morphing 2D (technique de post-traitement d’image) Rick Parent, Animatique Algorithmes et techniques. 2003, 530p. Localiser le pixel de l’image source qui correspond à celui de l’image intermédiaire pour chaque ligne caractéristique interpolée. Compte tenu de la ligne caractéristique correspondante dans l’image source définie par les points Q1 et Q2, un système de coordonnées (S, T) similaire est établi. La position correspondante dans l’image source du pixel (u, v) est : Q = Q1 + u S + v T.
Morphing 2D (technique de post-traitement d’image) Un facteur de pondération est calculé indiquant l’influence que cette ligne caractéristique doit avoir sur le pixel. Chaque facteur est utilisé pour calculer la moyenne des localisations de l’image source générées par plusieurs lignes caractéristiques vers une localisation d’image source finale. Cette localisation est utilisée afin de déterminer la couleur du pixel de l’image intermédiaire. La même procédure est appliquée sur l’image de destination pour former son image intermédiaire. Une fusion pixel par pixel des 2 images est finalement réalisée pour former l’image intermédiaire finale. Ce n’est rien d’autre qu’un mélange des couleurs des 2 pixels correspondants : Cij = C1ij + (1 - ) C2ij
Morphing 2D (technique de post-traitement d’image) Note : Comment déterminer un facteur de pondération ? T. Beier & S. Neely, Feature-Based Image Metamorphosis. Computer Graphics, 26, 2, 35-42, 1992. Les auteurs proposent le facteur de pondération f suivant : f(Q) = || Q2 – Q1||p b a + dist(Q, segment de droite d’extrémités Q1 et Q2) où : - les paramètres a, b et p offrent un certain contrôle à l’animateur, - Q1 et Q2 : les extrémités de la ligne caractéristique de l’image source. Ces paramètres peuvent varier d’une ligne caractéristique à une autre. Pour calculer la moyenne des localisations à partir de ces facteurs de pondération, on doit : cumuler les localisations pondérées et diviser par les pondérations cumulées. Le choix des lignes caractéristiques est important. Si ces lignes se croisent, cela peut donner lieu à des résultats indésirables.
2. Interpolation paramétrique Il s’agit d’interpoler les paramètres du modèle de l’objet plutôt que l’objet lui-même : - l’animateur doit spécifier l’ensemble des valeurs de chaque paramètre, - la valeur de chaque paramètre à l’instant t est obtenue par interpolation, - l’objet à l’instant t est construit via les valeurs interpolées. Valeur spécifiée par l’animateur Triangle construit Ex. : Valeur interpolée Objet clé k+1 Objet clé k Courbe d’interpolation