Chapitre 3.

Un système de synthèse graphique animée.

 

 

 

Ce chapitre présente comment les composantes et les processus grammaticaux précédemment introduits ont été implantés pour aboutir à l’animation d’un signeur virtuel capable de produire des phrases signées synthétiques.

Pour cela, il nous a d’abord fallu résoudre le problème du positionnement et de l’orientation de la chaîne articulée que constituent les segments du corps humain. A partir d’un modèle de ce dernier, nous détaillons les méthodes retenues pour la synthèse des configurations manuelles et pour la localisation et l’orientation de la main dans l’espace. Puis nous explicitons la manière dont les mouvements sont générés pour s’approcher des courbes de vitesse issues de leur analyse.

 

Après une partie introductive destinée à justifier un certain nombre de choix de développement, la description textuelle du signe est abordée, tant pour la partie manuelle que pour les expressions du visage, ainsi que l’utilisation des paramètres.

Nous présentons ensuite les phases successives impliquées dans la synthèse proprement dite du signe, avant d’étudier l’implantation des mécanismes grammaticaux au niveau du discours.

Les différentes composantes ayant été introduites, est alors proposé un aperçu synoptique de la structure du logiciel développé, muni de son dictionnaire de signes et de son interface graphique.

Pour clore ce chapitre, nous insistons sur les résultats de l’évaluation à laquelle les signes synthétiques ont donné lieu, avant d’en présenter un cas concret d’utilisation.

 

 

3.1. Génération de configurations et de mouvements naturels.

L’animation graphique d’un personnage virtuel n’est autre qu’une suite d’images fixes affichées à une cadence suffisante pour donner l’impression de mouvement, ce qui consiste d’abord à être en mesure de générer des postures corporelles. Afin que celles-ci soient aussi naturelles que possible, il nous faut disposer d’un modèle réaliste du corps humain, présenté rapidement au début de cette partie. Puis nous examinons comment cette structure articulée est effectivement utilisée pour synthétiser les configurations de la main et du bras. Enfin, la production du mouvement proprement dit est présentée ici.

 

3.1.1. Modélisation géométrique du corps humain.

3.1.1.1. Structures articulées.

Les structures articulées décrivent des objets possédant un mouvement global non rigide, mais dont chacune des parties constituantes se conforme isolément aux contraintes des mouvements rigides [AGG 94]. Ce type de modèle est utilisé pour représenter aussi bien les bras de robots que les corps des vertébrés à squelette interne. Il consiste en une chaîne de segments de longueur constante, reliés par des articulations possédant chacune un ou plusieurs degrés de liberté. Dans le cas du corps humain, il s’agit d’une à trois rotations, physiologiquement contraintes en amplitude (et dont les axes ne sont pas toujours faciles à définir de façon très précise).

A chaque segment est associé un repère cartésien local, centré en son articulation proximale, et défini de la manière suivante :

Pour définir la paume droite par exemple (figure 3.1), nous attachons au poignet un repère dont l’axe X est dirigé suivant la plus grande dimension de la main (i.e. vers MCP3), et l’axe Z orienté vers l’articulation CMC1 à la base du pouce. Seules deux rotations sont permises en cette articulation[24].

Toute la partie supérieure du corps humain est ainsi modélisée sous la forme d’une chaîne articulée, y compris les éléments du visage dont nous présentons les particularités plus loin dans ce chapitre. Le repère de référence absolue est situé à la base du torse, comme on peut le constater dans l’annexe 3.2 qui reprend l’ensemble de la structure. Les longueurs et les limites angulaires des articulations sont issues de différentes études anthropométriques [HUM 90, BUC 92b, KOB 89].

 

3.1.1.2. Formalisme matriciel.

Si le positionnement d’un solide dans l’espace est relativement aisé, il en va différemment de son orientation. Pour faire coïncider un repère cartésien avec un autre repère orienté de façon quelconque, trois rotations successives sont nécessaires. Aux angles d’Euler et aux angles de roulis-tangage-lacet, peu utilisés en biomécanique, nous avons préféré la séquence lacet-tangage-roulis qui fournit des coordonnées plus faciles à visualiser [BUC 92a, ROM 94]. Comme le met en évidence la figure 3.2, l’ordre de ces rotations détermine l’orientation finale : l’abduction/adduction q autour de y0 transforme d’abord le repère initial (indicé 0) en (x’,y0,z’) ; la flexion/extension j autour de z’ transforme alors celui-ci en (x’’,y’’,z’), lui-même amené sur le repère final (x1,y1,z1) par la rotation axiale d’angle y autour de x’’.

 

Figure 3.2 : Convention adoptée pour les angles et exemple de l’épaule droite[25].

 

 

Ces changements de repères peuvent être avantageusement représentés sous forme matricielle en vue de calculs ultérieurs. La notation homogène permet de plus de composer rotations et translations par simple multiplication, en faisant intervenir des matrices carrées de dimension 4x4. Dans le formalise retenu, la matrice de passage du repère lié à l'articulation i (Ri) au repère lié à l'articulation i+1 (Ri+1) s’écrit ainsi :

est le vecteur translation entre l’origine de R i et celle de R i+1, et où est la matrice de changement de repère en orientation définie par les 3 angles q i, j i et y i de R i :

(c et s signifient respectivement cosinus et sinus).


Soit xi un vecteur x, exprimé dans le repère Ri. Si l'on connaît les coordonnées de x dans le repère distal Ri+1, celles-ci s'expriment alors dans le repère proximal par la relation :

Un tel calcul peut être propagé le long de la chaîne articulaire par multiplications successives pour obtenir l’expression de tout vecteur dans n’importe quel repère, et notamment ses coordonnées globales :

 (1)

Par cette méthode, tout calcul de position d’un point manuel, ou de l’orientation d’un segment quelconque dans l’espace (en particulier la paume), s’effectue par simples multiplications matricielles. Cela va aussi nous permettre de résoudre le problème de positionnement par des méthodes numériques, présentées de façon concise dans les paragraphes qui suivent.

 

 

3.1.2. Synthèse des configurations manuelles.

Le système hiérarchique choisi pour la description des configurations manuelles fait appel à la cinématique directe pour l'affectation des primitives aux différents doigts. Pour les propriétés manuelles se posent en revanche des problèmes de géométrie inverse, fréquemment rencontrés en robotique et en biomécanique.

 

3.1.2.1. Configurations du pouce.

Il s'agit ainsi de placer l'extrémité du pouce à une certaine position de la main (par exemple, l’extrémité du majeur – propriété #Extrémité – ou la partie ventrale de l’index). Or la complexité cinématique de cet articulateur rend impossible l'obtention de solutions littérales, même avec un modèle simplifié comme le nôtre.

Différentes méthodes sont utilisées pour résoudre ce problème. La philosophie générale est de procéder par itérations successives [KOR 82]. Certains auteurs [RIJ 91] s'appuient en outre sur des relations expérimentales existant entre les angles du pouce. Une autre méthode intéressante [BAD 87] consiste, dans un premier temps, à modéliser sous forme d'arbre la chaîne à décrire, puis à réduire celui-ci en fonction des segments affectés par les buts. Le critère de convergence est l'équilibre de l'arbre pondéré par l'importance de chaque but, traduisant la minimisation de la distance par rapport aux positions cibles. La méthode et l'algorithme décrits par Badler et ses collaborateurs sont d'ailleurs adaptés par Lee [LEE 93] au suivi par la main d'un modèle animé. Ils peuvent aussi être utilisés dans l'animation et la spécification de mouvement à un niveau plus élevé [MOR 90]. Il en est de même de la cinématique inverse, en particulier lorsqu'elle est couplée à la description de la trajectoire de l'organe terminal [BAD 99].

Pour le pouce qui n'est formé que de trois segments, nous n'allons pas mettre en œuvre une technique aussi sophistiquée et lourde à manipuler, mais plutôt résoudre le système (redondant) de positionnement en faisant l'hypothèse que la flexion en MCP est connue. Celle-ci ne varie en effet pas sensiblement et reste faible (aux alentours de 10°) dans toutes les configurations.

 

Figure 3.3 : Modèle cinématique du pouce.

 

Si nous appelons respectivement R1, R2 et R3 les repères liés aux articulations CMC, MCP et IP (cf. figure 3.3), y1 la rotation initiale (constante) de passage de R1 à R2, et p1, p2, p3 les longueurs des segments du pouce (respectivement métacarpien, phalanges proximale et distale), les coordonnées de son extrémité T s'écrivent :

 

La méthode que nous allons appliquer, dite de la descente par coordonnées, est inspirée de [KOB 89]. Elle consiste à considérer la distance du point xT au point cible x comme fonction d'une seule des inconnues, les autres étant fixes. Appelons a i le i-ème couple de rotation et déterminons sa valeur optimale a i*. Réécrivons xT

 xT = aa sin a i + ba cos a i + da
 (2)

où les vecteurs aa, ba, et da ne dépendent pas de a i.

La distance ½ x - xT½² minimale est alors obtenue pour

 (3)

En dérivant (2), équation paramétrique du cercle de centre da , il vient :


Et en retranchant cette équation de (3), on obtient finalement  

Des deux valeurs possibles pour a i*, il nous faut garder celle pour laquelle ½ x - xT½ est minimale, c'est-à-dire celle qui fournit une dérivée seconde - ou encore la quantité  - positive. De l'intervalle admissible, on retient enfin la borne la plus proche, au cas où la valeur trouvée n'y est pas comprise.

 

Cette méthode fournit des configurations réalistes pour le pouce. La figure 3.4 illustre, en représentation fil de fer et sous divers points de vue, différentes formes obtenues pour des contacts issus de propriétés manuelles.

 

 

 

#Pulpe(2)
[BecOiseau]

#Ventral(2)
[Clé]

#Recouvert(4,5)
[R]

#Extrémité(3)
[PouceMajeur]

#PouceEntre(2,3)
[T]
 

Figure 3.4 : Propriétés manuelles et configurations du pouce correspondantes.

 

3.1.2.2. Contraintes sur les angles articulaires.

La structure ligamentaire métacarpo-phalangienne de la main humaine est telle que les flexions respectives des doigts au niveau de cette articulation sont fortement interdépendantes. C’est une relation que l'on ne saurait ignorer si l'on souhaite obtenir des configurations réalistes. Elle se traduit par le fait que la flexion d'un doigt isolé est limitée par l'état d'extension des doigts adjacents et, inversement, que l'extension d'un doigt est entravée par la flexion de ses voisins. En pratique, la main humaine procède naturellement à un compromis dans les cas les plus critiques, à savoir que si deux doigts voisins doivent être l'un tendu, et l'autre replié, ni la flexion ni l'extension ne sera maximale, mais chacune prendra une valeur moyenne.

L'étude de Lee [LEE 95] a permis de dégager quatre doubles inégalités traduisant ces limitations mutuelles :

max (j3-54° , j 2min) £ j2 £ min (j3+25° , j2max)

max (j2-25° , j4-45° , j 3min) £ j3 £ min (j2+54° , j4+20° , j3max)

max (j3-20° , j5-44° , j 4min) £ j4 £ min (j3+45° , j5+48° , j4max)

max (j4-48° , j5min) £ j5 £ min (j4+44° , j5max)

 

Ces contraintes sont appliquées a posteriori pour modifier éventuellement les angles définis par les configurations digitales et les propriétés manuelles globales.

Deux autres types de contraintes ont été prises en considération :

Ces deux lois ont été empiriquement déterminées sur la base de résultats probants.

 

3.1.2.3. Système d'encodage et synthèse.

Les configurations manuelles ont la particularité d’être considérées comme des composants élémentaires dans notre système, bien qu'elles soient initialement générées à partir d'entités et de propriétés plus fines (dont on a vu les détails dans le chapitre 2). Elles sont en effet destinées à être utilisées telles quelles dans la description d’un signe, et doivent donc être mémorisées au préalable. Détaillons un peu le mécanisme de création de ces configurations.

Leur description se trouve dans un fichier texte que l'utilisateur a tout loisir de modifier (Configs.hcs). Elle respecte une certaine syntaxe, composée d'une suite d’affectations, dont la spécification formelle est la suivante :

"Config" <nom>
"Fingers"
(<n°_dgt>|<nom_dgt>|"AllFingers")":"(<nom_config>|[q MCP] j MCP j PIP j DIP | ¶

[q MCP/CMC] j CMC j MCP j IP)

"Hand"
[<type_contact> [":" <n°_dgt1> ["," <n°_dgt2> ["," <n°_dgt3>] ] ]
"End"

 

La première étape consiste à assigner (dans la section Fingers) les primitives de configurations digitales aux différents doigts. Les doigts concernés sont spécifiés soit par leur numéro, soit par leur nom anglais (cf. tableau 3.1). Le mot-clé AllFingers permet d’affecter la même configuration à tous les doigts simultanément. Il est également possible de l'utiliser dans le cas où tous ne sont pas concernés : étant donné que les assignations sont effectuées dans leur ordre d'apparition dans le fichier, il suffit de spécifier ensuite une autre configuration pour les doigts qui font exception (comme l’index et le majeur dans la figure 3.5).

Section Fingers
n°_dgt

1

2

3

4

5
nom_fr_dgt

Pouce

Index

Majeur

Annulaire

Auriculaire
nom_dgt

Thumb

Index

Middle

Ring

Little
nom_config

Pouce : {Extended Hook Bent Flat E}

Autres doigts : {C O Bent Stiff Flat NearFlat Hook E Extended}

Section Hand
type_contact {Tip Pad Abducted Adducted Abduct Adduct Cross Crossed Covered CoverThumb Ventral ThumbBetween}
 

Tableau 3.1 : Symboles disponibles pour la description
des configurations manuelles
(repris des tableaux 2.6 à 2.8).

 

Dans un deuxième temps, les propriétés manuelles globales peuvent être spécifiées dans la section Hand. Le symbole correspondant vient en tête de ligne, suivi du ou des doigts concernés (indiqués dans le tableau 2.8).

La figure 3.5 illustre, à travers l’exemple du V, les trois étapes de l’obtention d’une configuration manuelle à partir de sa description textuelle. L’annexe 3.3 contient par ailleurs une liste exhaustive des spécifications et des représentations synthétiques pour les formes rencontées en LSF.

Description

Textuelle
 

Application des

Config. digitales
 

Application des

propriétés manuelles
 

Application des

contraintes articulaires
Config V
Fingers
AllFingers : Bent
2 : Extended
3 : Extended
Hand
Abduct: 2,3
Covered : 4
End

 

 

 

è

 

 

 

è

 

 

 

è

             

Figure 3.5 : Etapes de la synthèse de la configuration V (main gauche).

 

3.1.3. Localisation et orientation.

Pour pouvoir générer une spécification manuelle complète, nous devons aussi être en mesure de calculer les angles du bras et du poignet, qui définissent respectivement la localisation et l’orientation de la main dans l’espace.

 

3.1.3.1. Positionnement du poignet dans l'espace.

Le positionnement du poignet [LOS 98] est également un problème de type géométrique inverse et s'exprime de la façon suivante : étant donnée une position souhaitée du poignet (x y z), quels sont les angles articulaires à appliquer au bras (c'est-à-dire au système {bras supérieur/épaule, avant-bras/coude}) pour atteindre ce point ?

 

Pour obtenir la position du poignet P, nous devons prendre en compte les 4 degrés de liberté suivants du bras humain :

 

Ecrivons les équations donnant la position de P dans le repère R1 (lié à l'épaule). En appelant l1 et l2 les longueurs respectives du bras supérieur et de l'avant-bras, on exprime aisément les coordonnées de P dans le repère R2 lié au coude :

 (4)

 

Une telle chaîne articulaire est redondante du point de vue du positionnement du poignet: il est clair que le nombre d'inconnues (4) est supérieur au nombre d'équations (3); il existe donc une infinité de solutions à ce système. Autrement dit, le poignet étant fixé, le bras peut posséder de nombreuses configurations différentes, correspondant à diverses positions du coude. Comment choisir celle qu’adopte naturellement le bras humain ?

La procédure utilisée pour le calcul des postures du pouce s’est révélée mal adaptée à celui des postures cherchées pour le bras. Cela est dû au fait que, pour le pouce, nous avions pu faire l’hypothèse d’une flexion limitée en MCP, et nous ramener ainsi à un système non redondant. D’autres méthodes de robotique basées sur la pseudo-inverse [COI 86] ou des fonctions de coût [ROM 94] ne donnent pas complètement satisfaction relativement à nos objectifs. Ceci nous a amenés à proposer une méthode spécifique.

De prime abord, la minimisation des moments de gravité paraît être un critère à prendre en ligne de compte. Mais dans bien des cas, il semble que ce soit plutôt celle des efforts générés au niveau des surfaces articulaires (épiphyses, ...) qui détermine la forme du bras. Cette étude dépassant néanmoins le cadre de la présente thèse, et n’en ayant d’ailleurs pas trouvé trace dans la littérature, nous nous sommes orientés vers une méthode simple dont les résultats sont tout à fait satisfaisants. Celle-ci consiste :

 

  1. Cherchons à exprimer littéralement j e , y e et j c en fonction de q e. il vient de (4) :


    et

    soit encore

    et

    En portant ces valeurs dans y, on obtient alors

    ce qui fournit une équation du second degré en dont les solutions sont :


      avec
     (4)


    On peut remarquer que, parmi les deux solutions possibles pour j e, une seule correspond à une configuration " naturelle " du bras humain.
    La redondance du système (4) nous impose de calculer le triplet (j e , y e, j c) pour chaque valeur acceptable de q e. Ensuite, pour chaque point intersection du maillage de l'espace défini par les localisations symboliques introduites au paragraphe 2.3.1.2, il nous a fallu choisir la configuration du bras qui nous paraissait la plus " naturelle ".
  2. Ceci permet alors de sélectionner cette configuration pour n'importe quel point M de l'espace du signeur, en ne retenant bien entendu que la configuration dont les angles sont les plus proches de ceux des points alentours. Détaillons la méthode en quelques lignes.

 

Pour chacun des 4 angles du bras, on commence par calculer, sur l'ensemble V des points du maillage, la moyenne pondérée par l'inverse de la distance à chacun :

, a Î { q e, j e, y e, j c }

Ceci nous fournit un quadruplet d'angles . Dans l'ensemble des solutions possibles, noté Poss, il nous faut ensuite rechercher celle dont le quadruplet d'angles est le plus proche de celui que nous venons de calculer :

Ce sont ces quatre angles q* que nous retenons comme configuration du bras la plus proche de la réalité.

 

3.1.3.2. Orientation absolue de la main.

Il nous faut à présent obtenir les trois autres angles de la chaîne articulaire du bras, y c, q p et j p, qui définissent l’orientation palmaire. Les axes définis pour la paume sont tels que est confondu avec et avec . La matrice d'orientation globale de la main, notée , s'exprime dès lors en colonnes :

Ainsi dans l'exemple de la posture initiale du signe caisse (ci-contre),

Afin de trouver les angles recherchés, exprimons la relation liant la matrice d'orientation globale du poignet (après rotations dans l'épaule et flexion du coude) à la matrice  :

 (6)

Les données du problèmes sont :


En réécrivant (6) : , et en développant,

on trouve les angles recherchés par identification :

    ,
 ,    (7)

Bien entendu, l'équation (6) peut admettre un triplet solution qui ne soit pas acceptable pour les angles concernés du corps humain, auquel cas les valeurs de y c, q p et j p trouvées en (7) ne satisfont pas (6). Ces angles sont en effet calculés grâce à la fonction Arctan, qui retourne une valeur comprise dans l'intervalle ] -p /2 , p /2 [ , intervalle qui est précisément la plage de valeurs admissibles pour la pronation / supination et un sur-ensemble de celles des angles du poignet.

Dans certaines situations, il n’est pas nécessaire de spécifier complètement l’orientation de la main ; seule celle de la paume (i.e. le vecteur ) est réellement pertinente. Non mentionnée jusqu’à présent, cette fonctionnalité permet à l’utilisateur de laisser le système calculer lui-même le vecteur  de sorte que la contrainte articulaire du poignet soit minimale. Le critère correspondant est l’annulation de q p car c’est cet angle, dont le débattement est le plus faible, qui détermine la direction de l’index une fois fixé. Pour calculer m et a connaissant n , on exprime les conditions souhaitées :

La résolution de ce système fournit et , avec :

De plus, a étant défini au sens près, on impose (étant données les limites en pronation/supination), la condition m . m > 0. Si tel n’est pas le cas, a (et donc m ) doit être opposé.

L’orientation absolue souhaitée pour la main étant ainsi intégralement déterminée, les angles articulaires correspondants peuvent être ensuite calculés comme exposé plus haut.

 

3.1.3.3. Orientation et positionnement.

Un de nos objectifs est de pouvoir spécifier un point particulier sur la main, point qui est alors placé à la position donnée de l'espace au lieu du poignet. Dans un tel cas, les problèmes de positionnement et d'orientation absolue de la main, que nous venons de traiter dans les paragraphes précédents, ne sont plus indépendants et il nous faut les envisager conjointement.

 

Exprimé de façon mathématique, le problème se pose en ces termes : étant donnés

 

 

quelles sont les coordonnées absolues du poignet ?

Les relations vectorielles et fournissent une réponse immédiate :

 

Nous somme désormais capables de calculer l’ensemble des angles de la structure bras/main nécessaires pour amener un point manuel quelconque en une position donnée de l’espace, avec une orientation palmaire définie. Le tableau 3.2 illustre les différentes possibilités de positionnement/orientation offertes par les méthodes précédemment décrites.

Cas possibles
Point à atteindre : (75 75 60),
configuration Moufle
Angles bras Angles poignet Représentation
(main gauche, vue de profil)

Cas 1 :

Orientation relative (yc,qp,jp donnés)
- dont " naturelle " (yc=qp=jp=0) -


Aucun point spécifié

qe=2.6°

je=-8.8°

ye=2.3°

jc=107.8°

yc donné

qp donné

jp donné

Cas 2 :
Orientation absolue[26]

Aucun point spécifié

qe=2.6°

je=-8.8°

ye=2.3°

jc=107.8°

yc=-2.3°

qp=-8.8°

jp=-2.6°

Cas 3 :
Orientation absolue

Point spécifié : Extrémité de l'index

qe=4.3°

je=-47.2°

ye=4.1°

jc=124.4°

yc=-1.4°

qp=12.9°

jp=-2.5°

Cas 4 :

Orientation relative (yc,qp,jp donnés)

Point spécifié

Calcul impossible avec les méthodes exposées car

et nous n'avons pas q e, j e, y e et j c en fonction de x, y et z.

   

Tableau 3.2 : Différents cas possibles de positionnement / orientation, sur un exemple.

 

 

3.1.4. Synthèse du mouvement

 

Pour générer le mouvement, les études les plus poussées utilisent généralement la dynamique inverse, associée à une méthode de contrôle de haut niveau [ZEL 82]. Ces techniques permettent de calculer automatiquement, au prix d’une complexité de mise en œuvre importante, les couples et forces à appliquer aux différentes articulations de la chaîne à partir de la spécification cinématique de ses extrémités. T. Lebourque [LEB 99b] a pour sa part adapté un modèle de contrôle sensori-moteur [GIB 94] qui respecte certaines lois psychomotrices du mouvement, et qui possède la particularité de gérer la coarticulation. Cette fonctionnalité permet d’aboutir à des trajectoires lissées passant à proximité des cibles à atteindre.

L’objet de notre recherche se focalise davantage sur les propriétés spatiales du signe, directement liées à ses propriétés linguistiques. C’est la raison pour laquelle les aspects temporels de la synthèse du mouvement n’ont été étudiés que dans une moindre mesure, et qu’un système simple a été retenu à dessein. En particulier, les déplacements successifs sont ici supposés indépendants les uns des autres, et les transitions considérées comme des mouvements naturels. L’étude de la génération du mouvement se limite donc à celle des primitives de déplacement.

 

3.1.4.1. Génération du mouvement.

L’impression de mouvement est produite par la succession d’images fixes à une cadence suffisamment rapide. En animation de synthèse, il suffit souvent de disposer pour cela de quelques images-clés (keyframes), l’ordinateur déterminant lui-même les vues intermédiaires par interpolation. C’est la technique que nous avons adoptée. Mais l’automatisation des calculs se heurte à certaines difficultés inhérentes à la complexité du mouvement humain :

 

En informatique, il n’est pas aisé de travailler avec la variable temps, car les durées effectives de calcul et d’affichage sont beaucoup trop dépendantes des performances de la machine sur laquelle tourne le programme et des choix d’implémentation effectués. Les facteurs influençant ces durées sont d’ordres matériel (processeur, carte graphique, mémoire, ...) et logiciel (langage de développement utilisé notamment). C’est pourquoi on utilise le nombre d’images n et la variable chronologique i, représentant l’index d’une image dans la séquence. Ces variables sont transmises comme paramètres de toutes les méthodes ayant en charge la synthèse du mouvement, de sorte que l’affinage de la détermination de n ne remet pas en cause le système.

Le calcul de n est important, car ce nombre conditionne directement la durée de l’animation (tf n’étant plus connu a priori). Pour le moment, sa détermination est basée sur les règles simples suivantes :

a.
Equations et profil

Exemples

  • signe mur (ligne de longueur d)
  • signe s’asseoir (arc de rayon R)

b. Chronogrammes réels (l ) et théoriques (-)

 

Figure 3.7 : Modèle de vitesse implanté pour les mouvements non circulaires.

 

Une fois déterminé le nombre n d’images, les différentes positions-clés sont interpolées conformément aux lois données à la figure 3.7 pour les trajectoires rectilignes directes et en arc de cercle (les positions étant par ailleurs régulièrement espacées le long d’un cercle). Dans ces équations, le temps tf est remplacé par n et au temps t se substitue l’index i.

 

Figure 3.8 : Implantation de dynamiques particulières.

 

Les dynamiques particulières correspondant aux mouvements brutalement initiés ou stoppés sont modélisés par une distribution différente des positions sur la trajectoire, correspondant respectivement à une vitesse uniformément décroissante ou croissante (voir figure 3.8). Ces lois constituent une simplification des résultats obtenus lors du suivi de mouvement, mais produisent en pratique une impression visuelle très proche de la réalité.

 

3.1.4.2. Mouvements secondaires.

Les mouvements secondaires internes à la main ne posent pas de difficulté particulière. Il s’agit pour chacun d’une alternance de positions d’un ou plusieurs doigts entre deux configurations digitales extrêmes. Le rythme auquel se succèdent ces différentes postures est considéré comme constant et indépendant de la vitesse du mouvement principal. Il est cependant probable que ces deux grandeurs sont corrélées, comme pourrait le montrer une étude plus poussée au moyen d’un gant numérique et d’un capteur de position/orientation.

Ainsi, l’agitation des doigts (#vibrer) est générée sous la forme d’une suite de flexions et d’extensions, synchronisées entre les doigts impliqués. A chaque image est ajoutée ou retranchée une valeur fixe, celle de la flexion angulaire moyenne. Le nombre de répétitions dépend donc du nombre d’images à produire, qui doit être suffisamment important.

Le mouvement secondaire nommé #compter présente une synchronisation particulière. Il faut en effet s’assurer que la séquence est bien calée sur le nombre total d’images et, pour obtenir une animation fluide, gérer les index des images auxquelles chacun des doigts commence à se déplier (cf. figure 3.9).

 

Figure 3.9 : Synchronisation du dépliage des doigts
dans le mouvement secondaire compter.

 

Les mouvements se produisant au niveau du poignet sont un peu plus délicats à mettre en pratique.

Pour générer l’ondulation de la main par exemple, on ne peut se contenter d’une simple alternance de flexions/extensions du poignet. Pour obtenir une synthèse acceptable, il faut au minimum tenir compte de l’influence de ces mouvements locaux sur la trajectoire du poignet, qui se met à osciller autour du chemin originel (rectiligne dans la majorité des cas)[29]. Cela peut être modélisé par une sinusoïde dans le plan défini par les points extrêmes et le vecteur d’orientation de la main au point final. A chaque image i, l’orientation de l’index est alors donnée par la tangente à cette trajectoire (voir l’exemple du signe poisson sur la figure 3.10).

 

Figure 3.10 : Oscillations du poignet lors du mouvement local d’ondulation.

 

Le même phénomène survient dans le cas de la torsion si la main est initialement perpendiculaire à la trajectoire principale. Ainsi, dans le cas du signe chameau (tableau 3.3), le poignet ondule légèrement pendant que se succèdent les pronations/supinations de l’avant-bras, alors que ce dernier mouvement local ne modifie pas la trajectoire du signe géographie. Dans un certain nombre de cas, la torsion consiste en fait en une circumduction dont la flexion/extension reste modérée. Cela se produit lorsque la main n’est pas dans le prolongement direct de l’avant-bras ; ainsi dans crayon l’index doit-il être strictement maintenu dans l’espace inter-digital de la main de base. Un symbole spécial (twistAt) a été réservé à cet effet. C’est alors une succession d’orientations qui est calculée, dont chacune conditionne la valeur des angles au niveau du poignet et de l’avant-bras.

La circumduction est elle aussi marquée en réalité par un léger déplacement du poignet (autour d’un point ou d’une trajectoire), approximativement circulaire. En première approche toutefois, nous l’avons négligé et avons considéré la seule évolution simultanée des angles de flexion/extension et d’abduction/adduction (l’extrémité des vecteurs et décrit alors un cône dans l’espace), auxquelles peut se superposer la rotation de l’avant-bras (si ). Superposée à une trajectoire principale rectiligne, la circumduction produit un mouvement global de la main hélicoïdal (comme dans le signe mouche).

Torsion
(géographie)

Torsion+sinusoïde
(chameau)

Torsion+index à direction fixe (crayon)

Circumduction (mouche)
 

Tableau 3.3 : Mouvements locaux de torsion et de circumduction.