• Aucun résultat trouvé

36

III. CORDIS-ANIMA

III.1. Principes fondateurs

Le moteur de simulation par réseaux masses - interactions CORDIS-ANIMA a fait l’objet de développements depuis plusieurs années [CLF93, LJC*91, LJR*91]. Il est constitué aujourd’hui d’un ensemble de fonctionnalités de simulation particulaire et a été validé scientifiquement par la création d’une vaste panoplie de modèles en images, en sons et en interaction gestuelle.

Trois contraintes ont été définies pour le formalisme CORDIS-ANIMA :

• La technologie des transducteurs impose la discrétisation et la finitude des communications entre l’ordinateur et l’univers réel.

• Les objets physiques imposent de traiter la corrélation entre deux variables duales, l’une extensive, l’autre intensive.

• Les créateurs du formalisme ont choisi de respecter la modularité et la physicalité des objets aussi élémentaires soient-ils.

On en déduit que les communications physiques entre un opérateur et un objet simulé sur ordinateur sont, différemment aux communications physiques entre objets :

• discrètes en ce qui concerne leur localisation • finies en ce qui concerne leur nombre • orientées et à variables duales séparées

En revanche, la communication entre l’opérateur et l’objet simulé est de même nature que la communication inter objets. Les objets sont donc constitués d’éléments fondamentaux, les modules.

III.2. Un formalisme modulaire

La communication à l’intérieur de la machine se fait entre des entités, les modules, au comportement bien déterminé. Ces modules sont connectables entre eux grâce à des points de communication. Ces éléments qui réalisent la communication soit pour l’objet soit pour l’opérateur sont donc de deux types :

Chapitre 1 : Spécificités des modèles CORDIS-ANIMA et nécessité d’un environnement de conception et de simulation III. CORDIS-ANIMA

• les points M pour lesquels l’entrée est une variable intensive et la sortie une variable extensive. • les points L pour lesquels c’est l’inverse.

Les règles de connectivité sont les suivantes :

• La connexion entre deux points consiste à utiliser la sortie de l’un comme entrée de l’autre. En conséquence, ne sont connectables que des points de type opposés.

• On peut connecter plusieurs points L à un même point M. La force entrante dans le point M est la somme des forces sortant des points L auxquels il est connecté.

• Il est interdit de connecter plusieurs points M à un même point L car l’entrée de position d’un point de type L ne peut provenir de plusieurs positions de points M différents.

La base constituée d’un atome à deux points L, et d’un atome à un point M permet d’obtenir toutes les figures possibles de réseaux topologiques. Il en résulte la définition de deux types de modules élémentaires, les modules MAT et les modules LIA. Le module à un point M est le module MAT. Il modélise un élément matériel. Soumis à une force, dans un champ gravitationnel par exemple, il se déplacera en fonction de paramètres tels que sa masse et de la valeur de ce champ. L'élément matériel reçoit donc une force et retourne un déplacement.

Figure 2 : Schéma du module MAT.

Le module à deux points L est le module LIA. C'est un élément de liaison, qui permet de relier deux masses entre elles, et qui modélise la composante viscoélastique d'une structure physique. Il permet de déterminer les forces d'interaction entre deux éléments matériels. Il prend en entrée les déplacements de deux modules MAT via leur point M, et retourne deux forces d'interaction. Ce type catégorise donc tous les éléments de connexion d'un objet physique, soit des élasticités, des viscosités et autres, entre modules MAT.

Chapitre 1 : Spécificités des modèles CORDIS-ANIMA et nécessité d’un environnement de conception et de simulation III. CORDIS-ANIMA

38

Les objets CORDIS-ANIMA servant à la modélisation seront construits par l'assemblage d'éléments matériels et de liaisons basés sur les types MAT et LIA. Les éléments construits selon le type MAT peuvent être comparés aux particules élémentaires d'un objet physique et ceux construits sur le type LIA aux interactions qui les connectent. C’est à ce titre que nous parlons de réseaux masses - interactions (cf. figure 4).

Figure 4 : Un réseau CORDIS-ANIMA simple

Ainsi, la pratique de l’animation par réseaux CORDIS-ANIMA à la particularité d’être une approche constructiviste en partant de modules élémentaires pour arriver à des réseaux de plus en plus complexes, une sorte de LEGOTM dynamique.

III.3. Une base de paramètres compréhensible

Pour une bonne compréhension de la fonction de chaque module, il est nécessaire que les paramètres qui permettent d’en contrôler le comportement soient le plus compréhensibles possible pour l’utilisateur. Le choix a été fait de proposer une base de paramètres faisant référence à des grandeurs physiques comme la masse, l’élasticité ou la viscosité. Il est assez facile, en effet, de se faire une représentation de ces grandeurs. Une forte valeur d’élasticité produira des comportements très rigides, à l’inverse une faible valeur produira des comportements plutôt mous. Ces paramètres physiques font en réalité référence à notre expérience du quotidien comme, par exemple, lorsque nous manipulons des objets plus ou moins lourds.

III.4. Un formalisme orienté temps-réel

Tous les algorithmes des modules CORDIS-ANIMA sont des algorithmes de calcul élémentaires faisant intervenir très peu de multiplications, d’additions, de calcul de racines carrées et de branchements conditionnels. Comparé à un grand nombre de calculs numériques effectués aujourd’hui sur les ordinateurs, le calcul d’un pas de temps de simulation au sein d’un module CORDIS-ANIMA est très élémentaire et très peu coûteux. De plus la modularité du formalisme en fait un bon candidat

Chapitre 1 : Spécificités des modèles CORDIS-ANIMA et nécessité d’un environnement de conception et de simulation III. CORDIS-ANIMA

pour le calcul sur des machines fortement parallèles. Il en résulte que par nature, on peut dire de CORDIS-ANIMA qu’il est orienté temps réel. Au sein du groupe ACROE-ICA, il a donc été possible d’implanter plusieurs versions du simulateur CORDIS-ANIMA dans une version temps réel synchrone permettant de faire calculer des modèles à plusieurs milliers de Hertz [FCL98,Gir99].

III.5. Un formalisme pour la multi-sensorialité

Une démarche originale du groupe ACROE-ICA a été de développer l’ensemble de ses technologies à partir du seul formalisme CORDIS-ANIMA utilisé pour la génération de mouvements visuels, la génération de sons et l’interaction gestuelle. Grâce à des transducteurs gestuels rétroactifs, appelés également interfaces à retour d’effort ou interfaces haptiques, il est possible que l’utilisateur interagisse avec la simulation c’est-à-dire qu’il agisse sur les objets simulés et que ces objets lui retournent une information de force. Dans ce cadre, l’utilisateur se retrouve dans une situation nouvelle d’interaction avec des objets simulés capables de produire du son et de l’image grâce au même formalisme. Cette approche d’une instrumentalité dans les arts dynamiques est une approche relativement nouvelle pour l’animation là où elle l’est moins pour la musique par exemple. En effet, la musique a toujours utilisé des instruments faisant intervenir le geste dans une relation intime et physique.

Comme nous avons pu le voir, le formalisme CORDIS-ANIMA semble avoir de nombreux avantages tant en matière de simplicité qu’au niveau des possibilités créatives qu’il promet grâce à sa forte généricité. Cependant, dans la pratique du formalisme notamment pour l’animation, un verrou important a longtemps limité sa facilité d’accès et d’utilisation. En effet, la plupart des modèles réalisés ont été programmés directement en faisant appel à la bibliothèque de modules. Dans la version de CORDIS-ANIMA développée par Jimenez [Jim93], le modèle se présentait sous la forme d’un script qui contenait à la fois la structure du modèle, c’est-à-dire les modules et leur connexion, et les valeurs des paramètres physiques. Dans ce cas, gérer un modèle complexe est très peu commode et prend du temps car d’une part le texte à plat illustre mal la complexité et les valeurs quantitatives sont dispersées tout au long du programme. Il faut donner à voir le modèle, permettre à l’utilisateur d’en manipuler ses éléments. Il faut surtout permettre de manipuler de grosses quantités de modules et des fonctions d’interaction complexes. La toute première version d’une interface interactive pour le simulateur ANIMA (version de CORDIS-ANIMA pour l’animation) de l’environnement de conception appelé ANIMUS a été développé très tôt par Annie Luciani [Luc85] et A. Razafindrakoto [Raz86]. Cependant, elle ne permettait pas de manipuler que des modèles très simples de l’ordre de quelques dizaines de masses et quelques dizaines d’interactions.

Grâce au développement récent des interfaces interactives performantes, et des nombreux outils facilitant ce développement, il nous est aujourd’hui possible de remettre cette nécessité sur le chevalet. La motivation de cette thèse est donc de donner à l’utilisateur tout l’environnement de conception interactif nécessaire pour accéder à la création de modèles CORDIS-ANIMA mettant en valeur toutes leurs possibilités.

Chapitre 1 : Spécificités des modèles CORDIS-ANIMA et nécessité d’un environnement de conception et de simulation IV. La nécessité d’un environnement de conception interactif

IV. La nécessité d’un environnement de