Outils pour utilisateurs

Outils du site


nsi:tds:animation:toile_mobile

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.

nsi/tds/animation/toile_mobile.txt · Dernière modification : de goupillwiki