Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. for (sp in springs) {
  2.     var p1:Particle = sp.p1;
  3.     var p2:Particle = sp.p2;
  4.    
  5.     var rijx = p2.x-p1.x;
  6.     var rijy = p2.y-p1.y;
  7.     var rij = fastSqrt(rijx*rijx+rijy*rijy);
  8.    
  9.     var dThreshold = sp.restLength*sBreakYield;
  10.     if (rij > sp.restLength+dThreshold) {
  11.         sp.restLength += plasticity*(rij-sp.restLength-dThreshold)*dt;
  12.     } else if (rij < sp.restLength-dThreshold) {
  13.         sp.restLength -= plasticity*(sp.restLength-dThreshold-rij)*dt;
  14.     }
  15.    
  16.     var lij = sp.restLength;
  17.     if (lij > sBreakLen) {
  18.         springs.remove(sp);
  19.         continue;
  20.     }
  21.    
  22.     var rijx = p2.x-p1.x;
  23.     var rijy = p2.y-p1.y;
  24.     var rij = fastSqrt(rijx*rijx+rijy*rijy);
  25.     if (rij > 0) {
  26.         rijx /= rij;
  27.         rijy /= rij;
  28.        
  29.         var d = kspring*(1-lij*hInverse)*(lij-rij);
  30.         var dx = d*rijx*.5*dt*dt;
  31.         var dy = d*rijy*.5*dt*dt;
  32.         p1.x -= dx;
  33.         p1.y -= dy;
  34.         p2.x += dx;
  35.         p2.y += dy;
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement