Advertisement
Guest User

Untitled

a guest
Jul 24th, 2014
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.43 KB | None | 0 0
  1.     public double intersect(Ray r)
  2.     {
  3.         Vector v = r.origin.sub(pos);
  4.         double b = 2 * r.direction.dot(v);
  5.         double c = v.dot(v) - radius * radius;
  6.         double d = b * b - 4 * c;
  7.         if(d > 0)
  8.         {
  9.             double x1 = (-b - Math.sqrt(d)) / 2;
  10.             double x2 = (-b + Math.sqrt(d)) / 2;
  11.             if (x1 >= 0 && x2 >= 0)
  12.                 return x1;
  13.             if (x1 < 0 && x2 >= 0)
  14.                 return x2;
  15.         }
  16.         return -1;
  17.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement