====== Toile mobile ======
{{ :nsi:tds:animation:toile_mobile.png?direct&600 |}}
Des nœuds sont de simples disques. Ils sont initialisés au hasard dans la fenêtre, au repos.
Quand deux nœuds sont à une distance inférieure à une certaine limite $R_{MAX}$, il s'exerce une force d'attraction élastique entre les deux nœuds.
Pour symboliser cette force, on trace un trait entre les deux nœuds quand ils sont à une distance inférieure à $R_{MAX}$.
À cause de cette force les nœuds subissent une accélération et se mettent mouvement.
Lorsque un nœud touche un bord, il rebondit sans perte de vitesse.
===== Quelques équations =====
Nous avons $N$ nœuds que l'on peut noter $n_i$, $i$ allant de $0$ à $N-1$.
Si la distance $n_in_j$ (avec $i \neq j$) est inférieure à $R_{MAX}$ alors le vecteur vitesse $\vec{v}_i$ de $n_i$ est modifié de la façon suivante :
$$\vec{v}_i \to \vec{v}_i + k\cdot \overrightarrow{n_in_j}$$
Comme rien ne freine les nœuds, ils ont tendance à prendre progressivement de la vitesse. Au bout de quelques instants l'animation est trop rapide. On peut alors appliquer un léger coefficient de frottement. Mais il faut le rendre très faible.
$$\vec{v}_i \to \mu \cdot \vec{v}_i$$
===== Rebond =====
SI x > largeur ALORS
vx = -vx
x = 2*largeur - x
SINON SI x < 0 ALORS
vx = -vx
x = -x
FIN
Même principe pour ''y''.
===== Des choix =====
On pourra choisir un cadre 600x400, $R_{MAX} = 50$, $k = 0.01$, $\mu = 0.999$.
===== À vous =====
Réalisez l'animation !
Solution possible en [[nsi:langages:processing:solutions:toile_mobile|Processing]].