Gauss's principle of least constraint

From formulasearchengine
Jump to navigation Jump to search
The three possible line-sphere intersections:
1. No intersection.
2. Point intersection.
3. Two point 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

xc2=r2
  • c - center point
  • r - radius
  • x - points on the sphere

Equation for a line starting at o

x=o+dl
  • d - distance along line from starting point
  • l - direction of line (a unit vector)
  • o - origin of the line
  • x - points on the line

Searching for points that are on the line and on the sphere means combining the equations and solving for d:

Equations combined
o+dlc2=r2(o+dlc)(o+dlc)=r2
Expanded
d2(ll)+2d(l(oc))+(oc)(oc)=r2
Rearranged
d2(ll)+2d(l(oc))+(oc)(oc)r2=0
The form of a Quadratic formula is now observable. (This quadratic equation is an example of Joachimsthal's Equation [1].)
ad2+bd+c=0
where
Simplified
d=(l(oc))±(l(oc))2l2((oc)2r2)l2
Note that l is a unit vector, and thus l2=1. Thus, we can simplify this further to
d=(l(oc))±(l(oc))2(oc)2+r2
  • If the value under the square-root ((l(oc))2(oc)2+r2) 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.

See also

References

  • David H. Eberly (2006), 3D game engine design: a practical approach to real-time computer graphics, 2nd edition, Morgan Kaufmann. ISBN 0-12-229063-1