Table des matières
Toile mobile
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 600×400, $R_{MAX} = 50$, $k = 0.01$, $\mu = 0.999$.
À vous
Réalisez l'animation !
Solution possible en Processing.

