ART

In analytic geometry, a line and a sphere can intersect in three ways:

Line-Sphere Intersection Cropped

No intersection at all
Intersection in exactly one point
Intersection in two points.

Methods for distinguishing these cases, and determining the coordinates for the points in the latter cases, are useful in a number of circumstances. For example, it is a common calculation to perform during ray tracing [1].
Calculation using vectors in 3D

In vector notation, the equations are as follows:

Equation for a sphere

\( \left\Vert {\mathbf {x}}-{\mathbf {c}}\right\Vert ^{2}=r^{2} \)

\( \mathbf {c} \)- center point
r - radius
\( \mathbf {x} \) - points on the sphere

Equation for a line starting at \( \mathbf{o} \)

\( {\displaystyle \mathbf {x} =\mathbf {o} +d\mathbf {u} } \)

d - distance along line from starting point
\( \mathbf {u} \) - direction of line (a unit vector)
\( \mathbf{o} \) - origin of the line
\( \mathbf {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, involving the dot product of vectors:

Equations combined

\( {\displaystyle \left\Vert \mathbf {o} +d\mathbf {u} -\mathbf {c} \right\Vert ^{2}=r^{2}\Leftrightarrow (\mathbf {o} +d\mathbf {u} -\mathbf {c} )\cdot (\mathbf {o} +d\mathbf {u} -\mathbf {c} )=r^{2}} \)

Expanded

\( {\displaystyle d^{2}(\mathbf {u} \cdot \mathbf {u} )+2d(\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} ))+(\mathbf {o} -\mathbf {c} )\cdot (\mathbf {o} -\mathbf {c} )=r^{2}} \)

Rearranged

\( {\displaystyle d^{2}(\mathbf {u} \cdot \mathbf {u} )+2d(\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} ))+(\mathbf {o} -\mathbf {c} )\cdot (\mathbf {o} -\mathbf {c} )-r^{2}=0} \)

The form of a quadratic formula is now observable. (This quadratic equation is an instance of Joachimsthal's equation.[2])

\( ad^{2}+bd+c=0 \)

where

\( {\displaystyle a=\mathbf {u} \cdot \mathbf {u} =\left\Vert \mathbf {u} \right\Vert ^{2}} \)
\( {\displaystyle b=2(\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} ))} \)
\( c=({\mathbf {o}}-{\mathbf {c}})\cdot ({\mathbf {o}}-{\mathbf {c}})-r^{2}=\left\Vert {\mathbf {o}}-{\mathbf {c}}\right\Vert ^{2}-r^{2} \)

Simplified


\( {\displaystyle d={\frac {-2(\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} ))\pm {\sqrt {(2(\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} )))^{2}-4\left\Vert \mathbf {u} \right\Vert ^{2}(\left\Vert \mathbf {o} -\mathbf {c} \right\Vert ^{2}-r^{2})}}}{2\left\Vert \mathbf {u} \right\Vert ^{2}}}} \)

Note that \( \mathbf {u} \) is a unit vector, and thus \( {\displaystyle \left\Vert \mathbf {u} \right\Vert ^{2}=1} \). Thus, we can simplify this further to

\( {\displaystyle d=-(\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} ))\pm {\sqrt {\nabla }}} \)
\( {\displaystyle \nabla =(\mathbf {u} \cdot (\mathbf {o} -\mathbf {c} ))^{2}-(\left\Vert \mathbf {o} -\mathbf {c} \right\Vert ^{2}-r^{2})} \)

If \( {\displaystyle \nabla <0} \), then it is clear that no solutions exist, i.e. the line does not intersect the sphere (case 1).
If \( \nabla = 0 \), then exactly one solution exists, i.e. the line just touches the sphere in one point (case 2).
If \( {\displaystyle \nabla >0} \), two solutions exist, and thus the line touches the sphere in two points (case 3).

See also

Analytic geometry
Line–plane intersection
Plane–plane intersection

References

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

Undergraduate Texts in Mathematics

Graduate Texts in Mathematics

Graduate Studies in Mathematics

Mathematics Encyclopedia

World

Index

Hellenica World - Scientific Library

Retrieved from "http://en.wikipedia.org/"
All text is available under the terms of the GNU Free Documentation License