duck

duck

Jun 17th, 2010
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var anyOverlapping = true;
  2. while (anyOverlapping)
  3. {
  4.     anyOverlapping = false;
  5.     for (var p1n = 0; p1n < points.Length-1; ++p1n) {
  6.         for (var p2n = (p1n+1); p2n < points.Length; ++p2n) {
  7.             var p1 = points[p1n];
  8.             var p2 = points[p2n];
  9.             var delta = p2n-p1n;
  10.             var distance = delta.magnitude;
  11.             if (distance < threshold) {
  12.                 var resolveDist = (threshold-distance) * 0.5;
  13.                 points[p1n] = p1 - delta.normalized * resolveDist;
  14.                 points[p2n] = p2 + delta.normalized * resolveDist;
  15.                 anyOverlapping = true;
  16.             }
  17.         }
  18.     }
  19. }
Advertisement
Add Comment
Please, Sign In to add comment