Vers un environnement gnrique daide au dveloppement dapplications interactives de simulations de mta - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Vers un environnement gnrique daide au dveloppement dapplications interactives de simulations de mta

Description:

Si Age(AR) AgeMax Alors. Interpolation[Age0,AgeMax]- [Long0,LongMax] ... (Age(AX) AgeMax) Alors. Si Date Modulo Frequence1 = 0 Alors. Ajouter_Arete. FinSi. Si Date ... – PowerPoint PPT presentation

Number of Views:95
Avg rating:3.0/5.0
Slides: 50
Provided by: Fabr187
Category:

less

Transcript and Presenter's Notes

Title: Vers un environnement gnrique daide au dveloppement dapplications interactives de simulations de mta


1
Vers un environnement générique daide au
développement dapplications interactives de
simulations de métamorphoses
2
Introduction
Introduction
  • Applications
  • Cinéma
  • Jeux Vidéo
  • Art Contemporain
  • Domaine scientifique

3
Introduction
Introduction
Croissance et évolution de plantes au cours du
temps
Phénomènes corpusculaires (Nuages, feu)
Applications ?
4
Introduction
Introduction
Métamorphose Suite dobjets (O1 On) Oi -gt Oi1
appliquer des transformations géométriques et
topologiques
Où est le problème ?
5
Difficulté
Introduction
Ce que lon voudrait faire
Pour chaque top dhorloge Faire Pour tous les
axes  AX  de larbre Faire Selon
Ordre(AX) Faire 1 gt Pour toutes
les aretes  AR  de AX Faire Si
Age(AR) lt AgeMax Alors
InterpolationAge0,AgeMax-gtLong0,LongMax
Sinon LongMax
FinSi FinPour Si (Age(AX) lt
AgeMax) Alors Si Date Modulo
Frequence1 0 Alors
Ajouter_Arete FinSi Si
Date Modulo Frequence2 0 Alors
Ajouter_Axe (Ordre gt 2) FinSi
FinSi Etc. Autres gt Rien
FinSelon FinPourFinPour
Ce quil faut faire pour lobtenir
?
6
Problèmes
Introduction
  • Savoir programmer
  • Absence dinteractivité
  • Cycle de codage/compilation/test
  • Décalage mental entre les représentations

7
Question
Introduction
for (i1iltnbrei) métamorphose()
fairemachine() etc encore
Comment amener plus dinteractivité dans le
domaine de la création de métamorphoses ?
Métamorphose pour les nuls
8
Introduction
Introduction
  • Plan
  • Etude des différentes techniques danimation
    (analyse des besoins)
  • Dialogue et Architecture logicielle (conception
    logicielle)
  • Environnement de développement (réalisation
    logicielle)

9
Animation
Introduction
Animation
  • Méthodes existantes
  • Méthodes basées sur la topologie
  • Outils algorithmiques pour la conception de
    métamorphoses

10
Méthodes
Animation
Systèmes de contrôle Comment lutilisateur
maîtrise lanimation
Modèles danimation Informations propres à un
domaine particulier
Positions clefs
Pour chaque top dhorloge Faire Pour tous les
axes  AX  de larbre Faire Selon
Ordre(AX) Faire 1 gt Pour toutes
les aretes  AR  de AX Faire Si
Age(AR) lt AgeMax Alors
InterpolationAge0,AgeMax-gtLong0,LongMax
Sinon LongMax
FinSi FinPour Si (Age(AX) lt
AgeMax) Alors Si Date Modulo
Frequence1 0 Alors
Ajouter_Arete FinSi Si
Date Modulo Frequence2 0 Alors
Ajouter_Axe (Ordre gt 2) FinSi
FinSi Etc.
Maillage
Algorithmes
11
Méthodes
Animation
Pour chaque top dhorloge Faire Pour tous les
axes  AX  de larbre Faire Selon
Ordre(AX) Faire 1 gt Pour toutes
les aretes  AR  de AX Faire Si
Age(AR) lt AgeMax Alors
InterpolationAge0,AgeMax-gtLong0,LongMax
Sinon LongMax
FinSi FinPour Si (Age(AX) lt
AgeMax) Alors Si Date Modulo
Frequence1 0 Alors
Ajouter_Arete FinSi Si
Date Modulo Frequence2 0 Alors
Ajouter_Axe (Ordre gt 2) FinSi
FinSi Etc.
Dautre part les modèles, comme ceux utilisant
les propriétés physiques des objets ne suffisent
pas pour représenter des modifications
topologiques gt méthodes spécialisées
Mouvements et déformations
Structure
Ok
Non
12
Ce que lon veut
Animation
Représenter des phénomènes naturels gt
Modifications topologiques
Deux techniques Grammaires Méthodes basées sur la
topologie
13
Grammaires
Animation
Problème Pour décrire des comportements plus
évolués il faut introduire des notions propres à
la programmation
14
Méthodes basées sur la topologie
Animation
  • Systèmes de particules (nuages, vols doiseaux,
    etc.)
  • AMAP
  • Cartes modulaires

15
Méthodes basées sur la topologie
Animation
  • Objets structurés (exemple arbre)
  • Métamorphose suite dobjets (O1 On)
  • Oi à Oi1 appliquer des transformations
    géométriques et topologiques à Oi et ses sous
    éléments
  • Comportement associé aux sous-objets
  • Appliquer les transformations parcourir lobjet

16
Outils algorithmiques
Animation
Etude dexemples Aspect filaire dobjets 3D ou 2D
Pour chaque top dhorloge Faire Pour tous les
axes  AX  de larbre Faire Selon
Ordre(AX) Faire 1 gt Pour toutes
les aretes  AR  de AX Faire Si
Age(AR) lt AgeMax Alors
InterpolationAge0,AgeMax-gtLong0,LongMax
Sinon LongMax
FinSi FinPour Si (Age(AX) lt
AgeMax) Alors Si Date Modulo
Frequence1 0 Alors
Ajouter_Arete FinSi Si
Date Modulo Frequence2 0 Alors
Ajouter_Axe (Ordre gt 2) FinSi
FinSi Etc. Autres gt Rien
FinSelon FinPourFinPour
17
Outils algorithmiques
Animation
  • Construction
  • Création dun arbre
  • Insertion dun axe secondaire
  • Ajout dun entrenud
  • Modification géométrique
  • Angle dun entrenoeud
  • Longueur dun entrenoeud
  • Calculs
  • Taille dun axe
  • Longueur dun axe
  • Ordre dun axe
  • Longueur dun entrenud
  • Angle dun entrenud
  • Age dun entrenud
  • Position dun entrenud dans laxe
  • Opérations mathématiques
  • Interpolations
  • Modulo
  • Structures de contrôle
  • Conditions
  • Boucles
  • Algorithmes
  • Parcours de la structure

18
Conclusion Animation
Animation
Question Comment créer une application permettant
de modéliser facilement de telles
transformations ?
Modifications Géométriques Pas de problèmes
Pour chaque top dhorloge Faire Pour tous les
axes  AX  de larbre Faire Selon
Ordre(AX) Faire 1 gt Pour toutes
les aretes  AR  de AX Faire Si
Age(AR) lt AgeMax Alors
InterpolationAge0,AgeMax-gtLong0,LongMax
Sinon LongMax
FinSi FinPour Etc. Autres gt
Rien FinSelon FinPourFinPour
Modifications Topologiques Solution algorithmique
et textuelle
19
Architecture
Animation
Architecture
  • Création dune application de simulation de
    métamorphoses
  • Type dapplication et dialogue
  • Architectures
  • Solution architecturale H4
  • H4 augmenté Manipulation Directe et DTS Edit

20
AGICT
Architecture
Application Graphique Interactive de Conception
Technique
Application permettant de créer une
représentation informatique dun objet technique
susceptible dêtre manipulée par des fonctions
programmées de simulation ou de production
Cest le cas des applications de simulation de
métamorphoses
21
Dialogue Structuré
Architecture
Decomposing a main goal into sub-goals is the
natural way for users to solve problems Norman
1986
Une tâche peut utiliser le résultat d'une autre
tâche pour son exécution Quest-ce que cela
signifie ?
22
Dialogue Structuré
Architecture
Commandes
Ajouter un entrenud
/
Axe
Récupérer Longueur
2
Récupérer le Dernier Entrenud
Notion de production/consommation
Axe
Valeurs/Objets
23
Dialogue Structuré
Architecture
Récupérer Longueur
Production / Consommation Organisation
hiérarchique des tâches tâches de production
sont d'abstraction plus faible que celles de
consommation
valeur
Récupérer le Dernier Entrenud
Nécessité de définir les tâches ET les
informations produites et consommées
Quelle architecture pour notre application ?
24
Architectures et Dialogue Structuré
Architecture
  • Pas de solution universelle
  • Modèles classiques mal adaptés au support de
    tâches structurées et multi-paramètres
  • Aucun support méthodologique pour le Dialogue
    Structuré
  • Solution H4

25
Le modèle H4
Architecture
  • Créé en 1993 Guittet, Pierra, Girard
  • Hybride, basé sur ARCH
  • Décrit précisément le contrôleur de dialogue
  • But prendre en compte le dialogue structuré

Contrôleurde dialogue
Adaptateurde N.F.
AdaptateurdePrésentation
Présentation(Toolkit)
NoyauFonctionnel
26
Le modèle H4
Architecture
  • CdD sur les principes du dialogue structuré
  • Notion de production / consommation
  • Tâches questionnaires
  • Questionnaires regroupés en interacteurs
  • Interacteurs organisés hiérarchiquement
  • Jetons transportent des valeurs
  • Moniteur organise le passage des jetons entre
    les différents interacteurs

27
H4 Contrôleur de Dialogue
Architecture
Présentation
Interacteurs
Questionnaires
Moniteur
Noyau Fonctionnel
Entrenoeud
Entrenoeud

-
Entrenoeud
Longueur EN
Longueur EN

Division
Longueur EN
2
Entrées / Sorties
gt
28
H4 Problèmes
Architecture
  • Dialogue
  • Contraintes du Dialogue Structuré
  • Nécessité dun autre dialogue Manipulation
    Directe
  • Contrôleur de Dialogue
  • Difficulté de lécriture
  • Erreurs
  • Vérifications

Questionnaire Q_Circle_P_N (create_circle,
position,numeric) Questionnaire Q_Circle_P_P
(create_circle, position,position) Diaget
Creation (Creation, Q_Circle_P_N,
Q_Circle_P_P) Monitor my_monitor (Creation)
29
Manipulation Directe
Architecture
Manipulation Directe manipulation dobjets
graphiques à lécran avec retour immédiat
Interacteurs
En attente dune commande avant paramètres
Problème Dialogue Structuré logique
pré-fixée Manipulation Directe logique
post-fixée
30
Modifications pour la MD
Architecture
Moniteur détermine le mode de dialogue
Filtre et jetons
Interacteurs spécialisés
Moniteur
Manipulation Directe
Sélection Objet
Sélection Poignée
Interacteur i
Interacteur 1
Filtre
Présentation
31
Un Editeur pour H4
Architecture
  • Mise en uvre de H4 Texier 2000 ensemble de
    classes implémentant H4
  • Exemple
  • But faciliter lécriture du CdD

Questionnaire Q_Circle_P_N (create_circle,
position,numeric) Questionnaire Q_Circle_P_P
(create_circle, position,position) Diaget
Creation (Creation, Q_Circle_P_N,
Q_Circle_P_P) Monitor my_monitor (Creation)
32
DTS-Edit
Architecture
Mise en uvre de la Boîte à Outils de manière
interactive
  • Vérification de certaines propriétés
  • Un interacteur peut-il recevoir un certain token
    ?
  • Est-ce que 2 questionnaires appartenant à deux
    interacteurs ont le même nom ?
  • Est-ce que 2 questionnaires partagent la même
    séquence de tokens ?

33
DTS Edit
Architecture
Questionnaire Q_Circle_P_N (create_circle,
position,numeric) Questionnaire Q_Circle_P_P
(create_circle, position,position) Diaget
Creation (Creation, Q_Circle_P_N,
Q_Circle_P_P) Monitor my_monitor (Creation)
34
Conclusion Architecture
Architecture
  • H4 permet la prise en compte du Dialogue
    Structuré
  • Implémentation Boîte à outils et Editeur
    interactif
  • Possibilité dextension avec la Manipulation
    Directe

Quelle solution interactive pour la création
dune application de création de simulations de
métamorphoses ?
35
Environnement
Architecture
Environnement
  • Mettre en uvre de manière interactive
  • Algorithmes (parcours)
  • Boucles, Conditions
  • Paramètres, Variables

36
Programmation interactive
Environnement
  • Préférences
  • Langages de script
  • Macros
  • Programmation visuelle
  • Programmation sur exemple

Dans tous les cas Domaine bien défini Noyau
Fonctionnel unique
37
Environnement
Environnement
  • Originalité de lapproche Un modèle générique
  • Un moteur de Programmation sur Exemple
  • Interpréteur basé sur H4
  • Règles denregistrement

Enregistrement
Rejeu
CdD
NF spécialisé
AP
ANF
NF Générique
TK
38
Environnement Modèle Générique
Environnement
Container
  • Structure dun objet
  • Composition en sous-objets
  • Lien avec des scénarii
  • Parcours de lobjet

SupportDeProgramme
Parcours_actif boolean
InitParcours()
ParcoursEnCours()boolean
LienVersSDSSuivant()SupportDeScenario
ExecuterScenario(ListParameter)
possède
1
CList
1
ltltbindgtgt(SupportDeScenario)
ltltbindgtgt(Action)
Container
ltltbindgtgt(Parametre)
ListSupportsDeScenario
LActions
LParametres
ltltbindgtgt(TokenParameter)
1
1
CMap
ListParameter
1
est défini par
contient
1
est régi par
SupportDeScenario
1
régit
Scenario
GetScenario()Scenario
n
39
Moteur de PsE Interpréteur
Environnement
  • Idée utiliser le Contrôleur de H4
  • (utilisation des outils existants)
  • Scénario séquence de jetons
  • Jetons
  • Moniteur de Scénario
  • Interacteurs et questionnaires
  • Adaptateurs

Adaptateur de Scénario
Moniteur de Scénario
Interacteur
Interacteur
Interacteur
Scénario
N.F.
Quid des structures de contrôle ?
40
Interpréteur Conditions
Environnement
Moniteur de Scénario
Alors
AlorsSinon
Commande
 Alors 
Si
Initial
 Sinon 
Sinon
Commande
Interacteur i
Interacteur 1
Commande
 Si 
Initial
Si
Filtre
Booléen
Scénario
41
Interpréteur Boucles
Environnement
Moniteur de Scénario
Faire
Faire
Commande
 Faire 
Tant Que
Initial
 Fin 
Fin
Commande
Interacteur i
Interacteur 1
Commande
 TantQue 
Filtre
Initial
TantQue
Scénario
Booléen
42
Moteur de PsE Enregistreur
Environnement
  • Règles de construction
  • Gestion des paramètres formels
  • Gestion des structures de contrôle
  • Difficultés PsE
  • Distinguer variables/constantes/paramètres
  • Mise en place interactive des structures de
    contrôle
  • Consistance de la nomination
  • Représentation et correction de code
  • Interprétation des actions de lutilisateur

43
Travail du concepteur
Environnement
  • Correspondance avec le NF Générique
  • Création des jetons propres au modèle
  • Spécification du CdS et des questionnaires
  • Ecriture de lANF et des méthodes
  • denregistrement

Rejeu
Enregistrement
CdD
NF spécialisé
AP
ANF
NF Générique
TK
44
Exemple un modeleur de croissance en 1D1/2
Environnement
Exécution Parcours de larbre à chaque top
dhorloge
Axe dordre 3
Nud
Entre-nud
Racine
45
Exemple un modeleur de croissance en 1D1/2
Environnement
typedef SupportDeProgramme ltCNoeudgt
ArbreAbstrait class CArbre public
ArbreAbstrait
Instanciation Dérivation
void CArbreInitParcours (CNoeud idCont)
bool CArbreParcoursEnCours ()
IdSupportDeScenario CArbreSupportDeScena
rioSuivant () void CArbre ExecuterScenar
io (ListParameter parametres)
Implémentation
class CAxe public SupportDeScenario private 

Dérivation
46
Exemple un modeleur de croissance en 1D1/2
Environnement
  • Fonctionnalités
  • Création dun arbre
  • Insertion daxes
  • Ajout dentrenud
  • Modification par interpolation des
  • longueurs et angles des entrenuds
  • Gestion des conditions
  • Gain
  • Interpréteur déjà écrit
  • Guide précis pour lécriture de lenregistreur

47
Conclusion
Environnement
Conclusion
  • Objectif
  • Introduire plus dinteractivité dans un domaine
    où son absence est parfois rédhibitoire
  • Etude de deux domaines très éloignés
  • Réflexions sur le Dialogue et lArchitecture
  • Réalisation dun outil graphique pour la
    réalisation interactive du CdD de H4
  • Mise en place dun environnement générique
  • Réalisation dune maquette

48
Ouvertures
Conclusion
  • DTS-Edit et Validation
  • Génération commune du Contrôleur de Dialogue et
    du Contrôleur de Scénario
  • Outiller lenvironnement pour la génération
    partielle du moteur denregistrement
  • Réalisation dun cadre dapplication plus
    contraignant mais plus complet
  • Introduction de mécanismes de programmation par
    contraintes

49
Questions ?
Conclusion
Write a Comment
User Comments (0)
About PowerShow.com