#LiiL2015 - Pattern 4 #Bashô
Article 36– 2015-11-04
1- Coder
La simulation physique consiste à modéliser un système physique et les lois régissant son fonctionnement. Systèmes mécaniques, biologiques, sociaux, etc. : il est virtuellement possible de simuler tout type de système dont les lois peuvent être mises en équation.
Les phénomènes représentables sont variés et assez réalistes. Les lois régissant ces systèmes sont souvent relativement simples à programmer (F = m.a), mais peuvent conduire à des résultats complexes et imprévisibles ;par exemple appliqués à un système constitué de nombreuses particules. La programmation de ces systèmes est toujours intéressante tant pour le codage que pour le rendu visuel.
La modélisation est simple, sous la forme d'un système régi par les lois de la mécanique qui relient force extérieure et mouvement, par la relation fondamentale :
F = m.a ou a = F / m
F représente une force extérieure appliquée au corps considéré, m la masse du corps, et a l'accélération du corps. L'accélération d'un corps de masse m soumis à une force F est a.
F et a sont des vecteurs, définis par une intensité et une direction. L'accélération d'un objet soumis à une force F est de même direction que F.
F est la somme de toutes les forces qui peuvent être appliquée au corps : gravité, propulsion, freinage, effort d'attraction ou de répulsion, liés à l'utilisation de ressorts, ou pour des particules électrostatiques, etc...
Ne pas oublier l'effort de réaction : un corps exerce une force sur un autre corps (action), celui-ci exerce une force égale en intensité et de direction opposée sur le premier corps (réaction).
La simulation physique d'un objet soumis est basée sur la résolution des équations décrivant son fonctionnement. Pour un système mécanique, l'objectif peut être de déterminer les déplacements d'un corps. Les forces agissant sur le corps sont déterminées et l'accélération résultante peut être calculée. Il est ensuite possible de calculer les mouvements à partir de l'accélération :
Un corps initialement immobile et soumis à une accélération « a » aura au bout d'un temps « t » une vitesse v = a . t.
De même, un corps se déplaçant à la vitesse « v » se sera déplacé au bout d'un temps « t » de la distance x = v . t.
Une méthode de résolution : la résolution pas à pas. Elle consiste à effectuer en boucle la détermination des efforts appliqués et le calcul des mouvements résultants, chaque boucle étant supposée durer un temps connu (« pas de temps » ou « time step »).
Processing est naturellement adapté à ce genre de résolution, de par son utilisation de la boucle « draw ».
void draw() { … F = …; a = F / m; v = v + a * timeStep; x = x + v * timeStep; t = t + timeStep; … }
La pluie : Modélisation basée sur un système mécanique de particules soumises à deux types de forces extérieures : la gravité et un effort variable de vent.
A chaque « pas de temps » (ie à chaque itération de la boucle draw), la position de chaque particule est mise à jour.
Les traînées donnent une indication visuelle de la vitesse des particules. Elles sont dessinées à partir des positions aux 5 pas de temps précédents qui sont conservées en mémoire pour chaque particule.
Les particules au sol sont dessinées avec un rayon plus grand, afin de représenter une sorte de « flaque » plutôt qu'un ensemble de particules posées côte à côte. Pour cela, le rayon des particules est augmenté lorsque leur vitesse verticale devient proche de zéro (inférieure à un certain seuil).
Le calcul des mouvements : La bibliothèque Box2D. Elle permet également de prendre en compte les contacts entre particules et la collision des particules sur le sol représentées en bas de la fenêtre graphique.
Le calcul des mouvements d'une particule soumise à des forces extérieures est relativement simple à programmer tant que les particules n'interagissent pas entre elles. Par contre la résolution des problématiques de contact est assez complexe à mettre en œuvre ; elle est souvent assez gourmande en temps de calcul. L'utilisation d'une bibliothèque telle que Box2D est alors très efficace pour ce type de problématique et complètement justifiée.
Dans le cas des collisions, Box2D calcule les efforts résultants et permet de représenter des rebonds. Le rebond des gouttes sur le sol est donc obtenu directement par Box2D.
2- Est-ce une araignée qui pleure le vent d'automne Matsuo Bashô (1644-1695)
Sa poésie est plus subtile et crée l'émotion par ce que suggère le contraste ambigu ou spectaculaire d'éléments naturels simples opposés ou juxtaposés.
Né Kinsaku Matsuo et devenu Munefusa Matsuo, Bashô a la paternité, dans son esprit actuel, de cette forme poétique très codifiée d'origine japonaise qu'est le Haiku.
Petit poème, bref, il vise à dire l'évanescence des choses. Il doit donner une notion de saison et doit comporter une césure
3- Li-iL
Résidence artistique 3
Nous avons obtenu 8 jours – du 18 août 2015 au 27 août 2015 - de résidence à Stereolux – Nantes – pour des tâches liées au développement, au dispositif d'installation – prototyper, tester et évaluer en dimensions réelles - et à la construction d'une cohérence visuelle, au paramétrage des rendus et résolutions pour une optimisation graphique sur écran - prototypage et sur dispositif final sur tulle – prototypage.
Les développements ont concerné tant la capture, sélection, utilisation des data que la création en code processing de pattern de visualisations de données. Au total 9 tableaux connectés et un jingle promotionnelle LiiL.
Pour finir, les optimisations graphiques ont fait l'objet d'un patch pure data pour rendre le paramétrage contrôlable en temps réel.
Notre axe de visualisation repose sur l'interaction : voir une communauté twitter et, en temps réel, décliner les différentes actions qui impactent un compte et ses abonnés, les hashtags récurrents, les RT qui les lient, les mentions qui créent le réseau etc.
Aujourd'hui pattern4, des hashtags et une proposition artistique métaphorique.
@matakong44 [email protected]












