Comme une image est confinée à un cadre, massPoints
ne doit pas être autorisé à dépasser la portée du canvas
(zone graphique de la page web), sinon le dessin disparaîtrait tout simplement. Pour éviter cela, lorsque les massPoints
franchissent les limites visibles du dessin, ils vont rebondir contre des murs invisibles. Ceux-ci sont définis par un nouvel outil de création :
environment
L’environnement
correspond généralement au cadre du canvas
. Il peut aussi être redéfini dynamiquement : les murs peuvent se déplacer à l’intérieur (recadrage par rognage) ou à l’extérieur du canvas
(effet passe-partout), provoquant un effet de recadrage dynamique. Avec une grande économie de moyens, cet outil cet outil peut être utilisé pour créer des effets spectaculaires :
- une simulation de tremblement de terre (pour peu que la tour eiffel ne soit pas arrimée au sol),
- un effet de compression,
- même un électrocution par la foudre.
L’outil de création environment
L’outil environnement
contrôle tout massPoint
qui se déplace au-delà d’une certaine limite. Si un massPoint
touche une bordure, il rebondira et restera à l’écran.
Pour un rebond correct, le massPoint
doit être ramené au point d’impact avec le bord. Lorsque le point de masse
atteint un bord vertical (côté droit ou gauche), la composante de vitesse horizontale est inversée. Analogiquement, lorsqu’il atteint un bord horizontal, la vitesse verticale est inversée. Afin de laisser le point de masse
se stabiliser, un frottement est appliqué à la vitesse inversée, simulant la perte d’énergie cinétique. Ce n’est bien sûr pas de la physique dure, mais une technique de simulation de base assez réaliste.