dynamique
Principe
Temps réel
L´ordre des actions dans la main loop of OpenGL est:
F1() fonction.
Annulation de force
Execution des trajectoires.
F2() fonction.
Traitement des collision anc.
Traitement des limites dynamiques.
Traitement de la dynamique (utilisant forces, force rota, force rota add ...)
Annulation de force rota,
force rota add.
Détection des collisions (modifiant les force rota add
pour le prochain traitement de la dynamique).
F3(), F4() fonctions.
Traitement des limites.
Affichage
F5() fonction (force rota add pent être modifiées).
Swapp et retour au début de la boucle.
Dynamique des objets
les
objets d´anyflo ainsi que leurs
sommets
peuvent être munis de propriétés dynamiques. En
yes dynamic et en mode interaction
les lois de la mécanique leur seront appliquées. Ces propriétés sont:
des masses.
des forces.
des vitesse.
des couples.
des ressorts.
des vitesses.
des accélérations.
Des limitations peuvent être précisées sur ces paramètres:
limit force.
limit speed.
Des limitations géométriques peuvent être précisées:
limit dist.
Dynamique des images
Une image id est un objet particulier dont la description est un tableau rectangulaire de
dimensions dim image(id) dont les éléments sont des vecteurs
de dimension 4 (R,G,B,A). Il est possible de lui attribuer des propriétés cinématiques:
image speed.
image accélération.
Ainsi que des propriétété dynamiques:
dynamic image(id)=1 qui en fait un objet dynamiques sur les composantes rouge, vert et bleu de la couleur.
dynamic image(id)=2 rendant aussi la transparence dynamique.
mass image.
spring image.
etc..
Remarques:
1) Il est nécessaire de faire yes image pour que la dynamique des images
soit prise en compte.
2) Un pinceau dynamic peut être associé à une image
dynamique pour faire une palette dynamique, see un exemple dans la fonction PINCEAU_DYNA()
du fichier demo1_dynamic.func.
Pratiquement
1) Construire des objets.
2) Affecter des masses, éventuellement des
vitesses initiales.
3) On peut définir des contraintes (anc, attach,
limit).
4) On peut définir:
Des forces sur des volumes et/ou sur des sommets
Des couples.
Des (champs) de force,
des (ressorts).
Des (collisions).
5) Puis lancer l´animation par interaction après avoir fait
yes dynamic.
dynamic
dynamic
Retourne le nombre de calculs d´un pas de la dynamique.
dynamic(n)
Affecte ce nombre.
Remarques:
1) n vaut 2 par défaut.
2) Plus n est grand, meilleure sera l´approximation, mais plus longs
seront les calculs.
3) Pratiquement dynamic(5) est un bon choix.
4) Il faut l´augmenter pour des mouvements rapides ou en cas d´erreur de
détection de collision.
dynamic vol
dynamic vol(id)
Retourne la propriété dynamic du volume id.
dynamic vol(id)=d
Change cette propriété.
Note:
d=0: inhibie la dynamique pour ce volume. Si le volume id est de type
envelope with spring,
permet d´exécuter la dynamique après l´affichage.
d=1: active la dynamique pour ce volume.
Voir aussi: