Workshop Modèles physiques

chdh | easternbloc | 2012
ch@chdh.net | nm@chdh.net
-

Introduction

a - video modèles physiques dans pd/GEM
b - exemples pmpd : 01/02/05/08/14/

1: Création d'une corde

a - création de structure : mass, link (arguments de creation, entrees / sorties)
b - calcul : metro.
c - affichage des positions et déplacements : slider.
d - metro : send
e - envoi d'une force sur la masse

patch : 1.string.pd

2: Création d'une corde 2D

a - remplacement mass2D, link2D
b - remplacement de l'envoi d'une force

patch : 2.corde2d.zip

3 : exercice : affichage d'une corde dans GEM

Afficher la corde créée précédemment dans GEM.
a - afficher la première masse avec une sphère et redimensionner son déplacement pour qu'il soit visible dans la fenêtre GEM (mapping)
b - faire une abstraction du code permettant l'affichage de la masse et dupliquer la pour afficher l'ensemble des masses.
c - essayer différentes représentations pour les masses : cube, circle .
+ : repérer les clics et la position de la souris dans GEM avec l'objet gemmouse pour contrôler le déplacement des masses aux extrémités.

patch : 3.corde2d.zip

4: exercice : Secousse de la caméra

Dans cet exercice, on va créer un effet de secousse de la scène GEM à l'aide d'un déplacement de la caméra contrôlé par modèle physique.
a - explorez les possibilités du message "view" dans l'aide de l'objet gemwin.
b - placez un cube dans l'espace, il nous permettra de visualiser les déplacements de caméra.
c - créez une masse fixe reliée à une masse mobile en 2 dimensions.
d - prenez la sortie en position de la masse mobile pour contrôler les coordonnées x et y d'un message "view" qu'on enverra à la gemwin.
e - envoyez un message force2D à la masse mobile pour "secouer" la caméra. Affiner les paramètres du modèle physique pour obtenir l'effet souhaité.
+ : on pourra changer les valeurs des forces envoyées de manière aléatoire en utilisant deux objets random.

patch : 4.secousse.pd

5 : Interactions globales


Utilisation des objets interacteurs.
a - exemple pmpd 08 : iAmbient2D (force)
b - exemple pmpd 19/21 : iCircle2D (position, radius, type)
c - exemple pmpd 24 : iCircel2D qui suit chaque masse
d - ajout iAmbient2D à l'exercice 3.

patch : 5.interactors.pd

6 : l'objet pmpd


a - installation librairie version 0.10 : download
b - exemple pmpd 52 : creation structure, no creation
c - exemple pmpd 56 : creation lien simple
d - exemple pmpd 57 : autre type de force
e - exemple 53 : membrane 1D

7: exercice : Manipulation d'un modèle


L'objectif de cet exercice est d'explorer les possibilités de synthèse visuelle à partir de la membrane vue précédemment.
a - Dans un premier temps, explorez les rendus possibles à partir des valeurs que l'on obtient en sortie du modèle physique. Au lieu de déplacer les cubes en Z avec cette valeur, essayer différentes choses, par exemple :
- au lieu de déplacer les cube en Z, modifier la taille des cube.
- garder la taille des cubes constante mais appliquer la sortie du modèle à une rotation sur ces cubes.
- remplacer les cube par des sphères et utiliser la sortie de msd pour changer la taille des sphères.
b - Dans un second temps on va essayer de réaliser des comportements "autonomes" de la membrane. A l'aide de metro et de random, réaliser plusieurs petits morceaux de codes qui viennent envoyer au hasard :
- des forces à toute la membrane
- des forces sur un élément
- des nouveaux paramètres du modèle (K, D, ...)
c - Que peut-on imaginer d'autre?

8 : comportements complexes

a - instabilités : ex.47, extrapolation de la nature
b - non linéarites : ex.62, relation de distance complexe
c - morphing : ex.41, passage d'une forme à une autre