====== 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]].