Line–sphere intersection
In analytic geometry, a line and a sphere can intersect in three ways: no intersection at all, at exactly one point, or in two points. Methods for distinguishing these cases, and determining equations for the points in the latter cases, are useful in a number of circumstances. For example, this is a common calculation to perform during ray tracing (Eberly 2006:698).
Calculation using vectors in 3D
In vector notation, the equations are as follows:
Equation for a sphere

  center point
  radius
  points on the sphere
Equation for a line starting at

  distance along line from starting point
  direction of line (a unit vector)
  origin of the line
  points on the line
Searching for points that are on the line and on the sphere means combining the equations and solving for , involving the dot product of vectors:
 Equations combined
 Expanded
 Rearranged
 The form of a quadratic formula is now observable. (This quadratic equation is an example of Joachimsthal's Equation .)
 where
 Simplified
 Note that
is a unit vector, and thus
. Thus, we can simplify this further to
 If the value under the squareroot ( ) is less than zero, then it is clear that no solutions exist, i.e. the line does not intersect the sphere (case 1).
 If it is zero, then exactly one solution exists, i.e. the line just touches the sphere in one point (case 2).
 If it is greater than zero, two solutions exist, and thus the line touches the sphere in two points (case 3).
References
 David H. Eberly (2006), 3D game engine design: a practical approach to realtime computer graphics, 2nd edition, Morgan Kaufmann. ISBN 0122290631
This article is issued from
Wikipedia.
The text is licensed under Creative
Commons  Attribution  Sharealike.
Additional terms may apply for the media files.