The Central Idea

Two geometric objects intersect wherever the same point belongs to both.

If one object is described by

\[ F(x,y)=0 \]

and another by

\[ G(x,y)=0, \]

then an intersection point satisfies both equations:

\[ \boxed{ F(x,y)=0 \qquad\text{and}\qquad G(x,y)=0 }. \]

Computational intersection is therefore a combination of geometry, algebra, and verification.

Intersection Is a Set

Two objects do not always meet in exactly one point.

Their intersection may contain:

A correct intersection algorithm must distinguish these possibilities.

Lines, Rays, and Segments Are Different Objects

A line extends infinitely in both directions.

A ray starts at one endpoint and extends infinitely in one direction.

A segment is restricted to the points between two endpoints.

Two supporting lines may intersect even when the corresponding segments do not. For that reason, solving the line equations is often only the first stage of a segment-intersection algorithm.

Parametric Form of a Line

A line through a point \(P\) in direction \(\mathbf{r}\ne\mathbf{0}\) can be written

\[ \boxed{ L(t)=P+t\mathbf{r} }. \]

In coordinates,

\[ P=(p_x,p_y), \qquad \mathbf{r}=(r_x,r_y), \]

so

\[ \boxed{ \begin{aligned} x&=p_x+tr_x,\\ y&=p_y+tr_y. \end{aligned} } \]

Parametric form is especially useful because the parameter tells us where the point lies along the geometric object.

Parametric Form of a Segment

The segment from \(P\) to \(Q\) can be represented as

\[ \boxed{ S(t)=P+t(Q-P) } \]

with the restriction

\[ \boxed{ 0\le t\le1 }. \]

The same formula represents the entire supporting line if \(t\) is allowed to range over all real numbers.

The parameter restriction is what turns a line computation into a segment computation.

Line-Line Intersection in Parametric Form

Suppose two lines are

\[ L_1(t)=P+t\mathbf{r} \]

and

\[ L_2(u)=Q+u\mathbf{s}. \]

At an intersection,

\[ P+t\mathbf{r}=Q+u\mathbf{s}. \]

Rearranging gives

\[ t\mathbf{r}-u\mathbf{s}=Q-P. \]

This is a \(2\times2\) linear system for the unknown parameters \(t\) and \(u\).

Using the Two-Dimensional Cross Product

Let

\[ \operatorname{cross2D}(\mathbf{a},\mathbf{b}) = a_xb_y-a_yb_x. \]

If

\[ \mathbf{r}\times\mathbf{s}\ne0, \]

then the two direction vectors are not parallel and the supporting lines intersect in exactly one point.

The parameters are

\[ \boxed{ t= \frac{(Q-P)\times\mathbf{s}} {\mathbf{r}\times\mathbf{s}} } \]

and

\[ \boxed{ u= \frac{(Q-P)\times\mathbf{r}} {\mathbf{r}\times\mathbf{s}} }. \]

Why the Cross-Product Formula Works

Begin with

\[ P+t\mathbf{r}=Q+u\mathbf{s}. \]

Rearrange:

\[ t\mathbf{r}-u\mathbf{s}=Q-P. \]

Take the two-dimensional cross product with \(\mathbf{s}\):

\[ t(\mathbf{r}\times\mathbf{s}) - u(\mathbf{s}\times\mathbf{s}) = (Q-P)\times\mathbf{s}. \]

Since

\[ \mathbf{s}\times\mathbf{s}=0, \]

the \(u\)-term disappears, giving the formula for \(t\).

Example: Intersecting Two Lines

Consider

\[ L_1(t)=(0,0)+t(2,1) \]

and

\[ L_2(u)=(4,0)+u(-1,2). \]

Here,

\[ P=(0,0),\quad Q=(4,0),\quad \mathbf{r}=(2,1),\quad \mathbf{s}=(-1,2). \]

The denominator is

\[ \mathbf{r}\times\mathbf{s} = 2(2)-1(-1)=5. \]

Since it is nonzero, the lines meet in exactly one point.

Finishing the Line-Line Example

Compute

\[ Q-P=(4,0). \]

Then

\[ t= \frac{(4,0)\times(-1,2)}{5} = \frac{8}{5}. \]

Therefore,

\[ L_1\left(\frac85\right) = \left( \frac{16}{5}, \frac85 \right). \]

The intersection point is

\[ \boxed{ \left( \frac{16}{5}, \frac85 \right) }. \]

Parallel Lines

If

\[ \mathbf{r}\times\mathbf{s}=0, \]

then the direction vectors are parallel.

There are then two possibilities:

A second test is needed to distinguish them.

Testing Whether Parallel Lines Are Collinear

If the direction vectors are parallel, test whether

\[ \boxed{ (Q-P)\times\mathbf{r}=0 }. \]

If this is also zero, \(Q\) lies on the line through \(P\) in direction \(\mathbf{r}\), so the two lines are collinear.

Otherwise, they are distinct parallel lines.

The Complete Line-Line Classification

For

\[ L_1=P+t\mathbf{r}, \qquad L_2=Q+u\mathbf{s}, \]

compute

\[ D=\mathbf{r}\times\mathbf{s}. \]

Segment-Segment Intersection

Let

\[ S_1(t)=P+t\mathbf{r} \]

and

\[ S_2(u)=Q+u\mathbf{s}, \]

with

\[ 0\le t\le1, \qquad 0\le u\le1. \]

If the supporting lines meet at parameters \(t\) and \(u\), then the segments intersect at that point exactly when both parameters lie within their allowed intervals.

Segment Parameters Are Membership Tests

Suppose the supporting lines intersect at

\[ t=\frac32, \qquad u=\frac12. \]

The point lies on the second segment because

\[ 0\le\frac12\le1, \]

but it lies beyond the endpoint of the first segment because

\[ \frac32>1. \]

Therefore, the lines intersect but the segments do not.

Orientation-Based Segment Intersection

Another important method uses orientation predicates.

For segments \(AB\) and \(CD\), compute

\[ o_1=\operatorname{orient}(A,B,C), \] \[ o_2=\operatorname{orient}(A,B,D), \] \[ o_3=\operatorname{orient}(C,D,A), \] \[ o_4=\operatorname{orient}(C,D,B). \]

In the noncollinear case, the segments properly cross when \(C\) and \(D\) lie on opposite sides of line \(AB\), and \(A\) and \(B\) lie on opposite sides of line \(CD\).

The Proper-Crossing Test

When no orientation value is zero, a proper intersection occurs when

\[ \boxed{ o_1o_2<0 \qquad\text{and}\qquad o_3o_4<0 }. \]

The first inequality says \(C\) and \(D\) lie on opposite sides of the supporting line through \(A\) and \(B\).

The second says the corresponding statement is true in the other direction.

Endpoint and Collinear Cases

If one orientation value is zero, an endpoint may lie directly on the other segment.

For example, if

\[ \operatorname{orient}(A,B,C)=0, \]

then \(A\), \(B\), and \(C\) are collinear. We must still check whether \(C\) lies between \(A\) and \(B\).

Collinearity alone does not guarantee segment membership.

Point-on-Segment Test

A point \(R=(x_R,y_R)\) lies on segment \(PQ\) when two conditions hold.

First, the three points are collinear:

\[ \operatorname{orient}(P,Q,R)=0. \]

Second, the coordinates of \(R\) fall within the bounding ranges:

\[ \min(x_P,x_Q)\le x_R\le\max(x_P,x_Q), \] \[ \min(y_P,y_Q)\le y_R\le\max(y_P,y_Q). \]

Together, these conditions distinguish the segment from its infinite supporting line.

Collinear Segment Overlap

When two segments are collinear, their intersection may be:

This is qualitatively different from an ordinary single-point intersection.

Reducing Collinear Overlap to One Dimension

Once collinearity is known, overlap can be tested using one coordinate axis along which the segment has nonzero extent.

For intervals

\[ [a_1,a_2] \]

and

\[ [b_1,b_2], \]

overlap exists when

\[ \boxed{ \max(\min a,\min b) \le \min(\max a,\max b) }. \]

Geometric overlap has been reduced to interval overlap.

Bounding Boxes as an Early Rejection Test

Before performing a more detailed segment-intersection calculation, compare the axis-aligned bounding boxes of the segments.

If the boxes do not overlap, the segments cannot intersect.

This is a necessary condition, not a sufficient one.

Bounding-box rejection is useful because it is inexpensive and can eliminate many impossible cases quickly.

Line Intersection in Implicit Form

A line may also be written

\[ ax+by=c. \]

Two lines

\[ a_1x+b_1y=c_1 \]

and

\[ a_2x+b_2y=c_2 \]

form a linear system.

Its determinant is

\[ \boxed{ D=a_1b_2-a_2b_1 }. \]

Solving Two Implicit Lines

When

\[ D\ne0, \]

the lines intersect at exactly one point:

\[ \boxed{ x= \frac{c_1b_2-c_2b_1}{D} } \]

and

\[ \boxed{ y= \frac{a_1c_2-a_2c_1}{D} }. \]

This is Cramer's rule applied to the line-intersection system.

Vertical Lines Cause No Special Problem in Implicit Form

A vertical line

\[ x=k \]

can be written

\[ 1x+0y=k. \]

The implicit and parametric methods therefore avoid the division-by-zero difficulty that appears when all lines are forced into slope-intercept form.

Line-Circle Intersection

Consider a circle with center \(C\) and radius \(r\):

\[ \|X-C\|^2=r^2. \]

Let a line be

\[ X=P+t\mathbf{d}. \]

Substitute the line into the circle equation:

\[ \|P+t\mathbf{d}-C\|^2=r^2. \]

This produces a quadratic equation in \(t\).

Deriving the Line-Circle Quadratic

Define

\[ \mathbf{m}=P-C. \]

Then

\[ \|\mathbf{m}+t\mathbf{d}\|^2=r^2. \]

Expanding with dot products gives

\[ (\mathbf{d}\cdot\mathbf{d})t^2 + 2(\mathbf{m}\cdot\mathbf{d})t + (\mathbf{m}\cdot\mathbf{m}-r^2) = 0. \]

Therefore,

\[ \boxed{ At^2+Bt+C=0 } \]

with

\[ A=\mathbf{d}\cdot\mathbf{d}, \] \[ B=2(\mathbf{m}\cdot\mathbf{d}), \] \[ C=\mathbf{m}\cdot\mathbf{m}-r^2. \]

The Discriminant Classifies Line-Circle Intersection

For

\[ At^2+Bt+C=0, \]

compute

\[ \boxed{ \Delta=B^2-4AC }. \]

One algebraic quantity classifies the geometric relationship.

Example: Horizontal Line through a Circle

Consider the circle

\[ x^2+y^2=25 \]

and the horizontal line

\[ y=3. \]

Substitute:

\[ x^2+3^2=25. \]

Then

\[ x^2=16, \]

so

\[ \boxed{ x=\pm4 }. \]

The two intersection points are

\[ \boxed{ (-4,3) \qquad\text{and}\qquad (4,3) }. \]

Tangency as a Repeated Solution

A tangent line touches a circle at exactly one point.

Algebraically, the corresponding quadratic has a repeated root:

\[ \boxed{ \Delta=0 }. \]

This is an important recurring connection: geometric tangency often appears algebraically as a repeated solution.

Segment-Circle Intersection

If the object is a segment rather than an infinite line, solve the same quadratic using

\[ X=P+t(Q-P), \]

but retain only solutions satisfying

\[ \boxed{ 0\le t\le1 }. \]

A supporting line may intersect a circle twice while the finite segment intersects once or not at all.

Circle-Circle Intersection

Consider two circles:

\[ \|X-C_1\|=r_1 \]

and

\[ \|X-C_2\|=r_2. \]

Let

\[ d=\|C_2-C_1\| \]

be the distance between their centers.

The value of \(d\) relative to \(r_1\) and \(r_2\) determines the intersection type.

Classifying Two Circles by Center Distance

The coincident case contains infinitely many intersection points.

Constructing the Circle-Circle Intersection Points

Let

\[ \mathbf{e} = \frac{C_2-C_1}{d} \]

be the unit vector from \(C_1\) to \(C_2\).

The distance from \(C_1\) to the chord midpoint along this direction is

\[ \boxed{ a= \frac{r_1^2-r_2^2+d^2}{2d} }. \]

The half-chord length is

\[ \boxed{ h=\sqrt{r_1^2-a^2} }. \]

Finishing the Circle-Circle Construction

The midpoint of the common chord is

\[ M=C_1+a\mathbf{e}. \]

If

\[ \mathbf{e}=(e_x,e_y), \]

choose a perpendicular unit vector

\[ \mathbf{n}=(-e_y,e_x). \]

The two intersection points are

\[ \boxed{ X_1=M+h\mathbf{n} } \]

and

\[ \boxed{ X_2=M-h\mathbf{n} }. \]

When \(h=0\), the two formulas produce the same tangent point.

Curves Can Be Represented in Several Ways

A curve may be given explicitly:

\[ y=f(x). \]

It may be implicit:

\[ F(x,y)=0. \]

Or it may be parametric:

\[ C(t)= \bigl(x(t),y(t)\bigr). \]

The best intersection method depends strongly on the representation.

Intersection of Two Explicit Curves

If

\[ y=f(x) \]

and

\[ y=g(x), \]

then intersection points occur where

\[ \boxed{ f(x)=g(x) }. \]

Equivalently, define

\[ h(x)=f(x)-g(x) \]

and solve

\[ \boxed{ h(x)=0 }. \]

Curve intersection has become a root-finding problem.

Example: A Line and a Parabola

Find the intersections of

\[ y=x+2 \]

and

\[ y=x^2. \]

Set the expressions equal:

\[ x^2=x+2. \]

Rearranging gives

\[ x^2-x-2=0. \]

Factor:

\[ (x-2)(x+1)=0. \]

Finishing the Line-Parabola Example

The \(x\)-coordinates are

\[ x=2 \]

and

\[ x=-1. \]

Substituting into \(y=x+2\) gives

\[ y=4 \]

and

\[ y=1. \]

Therefore, the intersections are

\[ \boxed{ (2,4) \qquad\text{and}\qquad (-1,1) }. \]

Intersection of Parametric Curves

Suppose

\[ C_1(t)= \bigl(x_1(t),y_1(t)\bigr) \]

and

\[ C_2(u)= \bigl(x_2(u),y_2(u)\bigr). \]

An intersection satisfies

\[ \boxed{ x_1(t)=x_2(u) } \]

and

\[ \boxed{ y_1(t)=y_2(u) }. \]

This produces two equations in the two unknown parameters \(t\) and \(u\).

Different Parameters Can Describe the Same Point

At a parametric intersection, it is not generally necessary that

\[ t=u. \]

The two curves may reach the same geometric point at different parameter values.

The correct condition is equality of positions:

\[ C_1(t)=C_2(u). \]

Root Finding for General Curve Intersections

Many intersection equations cannot be solved conveniently with elementary algebra.

Then the task becomes numerical root finding.

Common methods include:

These methods approximate the parameter or coordinate values at which the curves meet.

Bisection for an Intersection Equation

Suppose curve intersection has been reduced to

\[ h(x)=0. \]

If

\[ h(a)h(b)<0 \]

and \(h\) is continuous on \([a,b]\), then a root lies between \(a\) and \(b\).

Bisection repeatedly halves the interval and retains a subinterval that still brackets a sign change.

Newton's Method for an Intersection Equation

If \(h\) is differentiable and an initial estimate \(x_0\) is available, Newton's method uses

\[ \boxed{ x_{n+1} = x_n- \frac{h(x_n)}{h'(x_n)} }. \]

Near a suitable simple root, this can converge very rapidly.

However, Newton's method is not guaranteed to converge from every starting point, and it requires special care when \(h'(x_n)\) is zero or very small.

Tangent Intersections Are Numerically Delicate

If two curves merely touch, the difference function

\[ h(x)=f(x)-g(x) \]

may have a repeated root.

In such a case, \(h(x)\) may touch zero without changing sign.

Therefore, a sign-change search alone can miss tangential intersections.

Subdivision and Bounding Regions

A practical strategy for complex curves is to enclose pieces of each curve in simple bounding regions.

If two bounding regions do not overlap, the enclosed curve pieces cannot intersect.

If they do overlap, subdivide the curve pieces into smaller pieces and test again.

Repeated subdivision narrows the search to small regions that may contain intersections.

Broad Phase and Narrow Phase

Many geometric systems use two stages.

The broad phase uses inexpensive tests such as bounding boxes to eliminate pairs that clearly cannot intersect.

The narrow phase applies the more exact intersection test only to the surviving candidates.

This pattern is fundamental in collision detection, graphics, CAD, and spatial databases.

Candidate Generation and Verification

Intersection algorithms often have two conceptual stages:

  1. generate candidate intersection points or parameters;
  2. verify that each candidate satisfies the original geometric constraints.

For example, solving two supporting lines may produce a candidate point, while the parameter restrictions determine whether that point belongs to the actual segments.

Exact and Approximate Intersections

In symbolic mathematics, an intersection may be represented exactly:

\[ \left( \frac{16}{5}, \frac85 \right). \]

In numerical software, the same point may be stored approximately:

\[ (3.2,\;1.6). \]

The representation affects how equality, tangency, parallelism, and boundary membership should be tested.

Near-Parallel Lines

The line-line formulas divide by

\[ \mathbf{r}\times\mathbf{s}. \]

If this quantity is extremely small, the lines are nearly parallel.

Small denominator values can amplify numerical error, so robust software should not treat every nonzero floating-point denominator as equally safe.

Using Tolerances Carefully

In approximate arithmetic, one may replace

\[ D=0 \]

with a test such as

\[ |D|\le\varepsilon. \]

But the appropriate \(\varepsilon\) depends on coordinate scale and the quantities being compared.

A tolerance is a numerical policy, not a mathematical identity.

Duplicate Intersections

A numerical or subdividing algorithm may discover the same geometric intersection more than once.

This commonly occurs near:

A complete implementation may therefore need a deduplication step.

Intersection Multiplicity

Algebra can record more than the location of an intersection.

If

\[ h(x)=0 \]

has a repeated root, the intersection has higher algebraic multiplicity.

For example,

\[ h(x)=(x-2)^2 \]

has a double root at \(x=2\).

This often corresponds to tangential contact rather than an ordinary crossing.

Intersection versus Crossing

Two objects can intersect without crossing through one another.

A tangent line and a circle share one point, but the line does not pass through the circle at that point in the same way a secant does.

Similarly, two curves may touch and reverse relative position rather than crossing.

Computational systems often need to classify the type of contact, not just detect that contact occurred.

Intersection versus Overlap

A point intersection has zero geometric length.

An overlapping pair of collinear segments may share an entire interval of points.

Therefore, returning only a single point for every successful intersection can lose important information.

The output type should match the possible geometry.

Degenerate Inputs

Intersection algorithms must account for degenerate objects.

Examples include:

These cases should be classified explicitly rather than allowed to create accidental division by zero.

A Zero-Length Segment Is a Point

If

\[ P=Q, \]

then

\[ S(t)=P+t(Q-P) \]

becomes

\[ S(t)=P. \]

The segment has collapsed to one point.

Intersecting it with another object becomes a point-membership test.

Verification by Substitution

Once a candidate point \(X\) is found, substitute it into the defining equations whenever practical.

For a line-circle intersection, verify that

\[ X=P+t\mathbf{d} \]

and

\[ \|X-C\|^2=r^2. \]

Verification catches algebraic mistakes and invalid candidates introduced by transformations or numerical approximation.

Common Error: Solving the Supporting Lines but Ignoring Segment Bounds

A solution of

\[ P+t\mathbf{r}=Q+u\mathbf{s} \]

proves that the supporting lines meet.

For segments, it is still necessary to check

\[ 0\le t\le1 \]

and

\[ 0\le u\le1. \]

Common Error: Treating Parallel as Automatically Disjoint

If

\[ \mathbf{r}\times\mathbf{s}=0, \]

the lines are parallel in direction, but they may also be collinear.

The additional test

\[ (Q-P)\times\mathbf{r} \]

distinguishes coincident support from distinct parallel lines.

Common Error: Using Only Bounding Boxes

Overlapping bounding boxes do not prove that the underlying objects intersect.

Bounding boxes are excellent rejection tests, but they generally provide only a necessary condition for intersection.

A more specific geometric test must follow.

Common Error: Missing Tangency with a Sign-Change Test

A root-finding scan that looks only for

\[ h(a)h(b)<0 \]

can miss a repeated root because the function may touch zero and remain the same sign on both sides.

Tangent intersections require additional detection strategies.

Common Error: Returning One Point for an Overlap

Collinear segments can share an entire interval.

Coincident lines can share infinitely many points.

An intersection routine should distinguish a single-point result from an overlapping result when the application needs that information.

Common Error: Ignoring Numerical Scale

A fixed absolute tolerance may behave poorly when coordinates vary by many orders of magnitude.

Robust intersection code should consider:

A Reliable Procedure for Two-Line Intersection

  1. Represent each line as a point plus a direction vector.
  2. Compute \(D=\mathbf{r}\times\mathbf{s}\).
  3. If \(D\ne0\), solve for \(t\) and \(u\).
  4. Construct the intersection point from either line.
  5. If \(D=0\), test whether the lines are collinear.
  6. Classify the result as unique, parallel-distinct, or coincident.
  7. Use scale-aware numerical comparisons when arithmetic is approximate.

A Reliable Procedure for Segment Intersection

  1. Reject pairs whose bounding boxes do not overlap.
  2. Compute orientation values or solve the supporting-line parameters.
  3. Handle ordinary crossings.
  4. Check endpoint-on-segment cases.
  5. Handle collinear overlap separately.
  6. Distinguish no intersection, one point, and overlapping segment.
  7. Verify numerical boundary cases carefully.

A Reliable Procedure for Line-Curve Intersection

  1. Choose a convenient representation of the line and curve.
  2. Substitute one representation into the other when possible.
  3. Reduce the problem to an equation in one parameter or coordinate.
  4. Solve exactly when practical.
  5. Otherwise use an appropriate numerical root-finding method.
  6. Retain only roots within any required parameter interval.
  7. Construct the corresponding points.
  8. Verify each candidate against the original geometry.
  9. Deduplicate repeated numerical detections when necessary.

Practice 1: Two Lines

Find the intersection of

\[ L_1(t)=(0,0)+t(1,2) \]

and

\[ L_2(u)=(4,0)+u(-1,1). \]

Practice 2: Parallel or Collinear?

Classify

\[ L_1(t)=(1,2)+t(2,4) \]

and

\[ L_2(u)=(3,6)+u(1,2). \]

Practice 3: Segment Parameters

Two supporting lines meet at

\[ t=\frac34, \qquad u=\frac54. \]

Do the corresponding segments intersect at that point?

Practice 4: Point on Segment

Determine whether

\[ R=(3,3) \]

lies on the segment from

\[ P=(1,1) \]

to

\[ Q=(5,5). \]

Practice 5: Line and Circle

Find the intersections of

\[ x^2+y^2=25 \]

and

\[ y=4. \]

Practice 6: Tangent Line

Determine how many points of intersection are shared by

\[ x^2+y^2=9 \]

and

\[ y=3. \]

Practice 7: Two Explicit Curves

Find the intersection points of

\[ y=x^2 \]

and

\[ y=3x-2. \]

Practice 8: Circle Classification

Two circles have radii

\[ r_1=5, \qquad r_2=3, \]

and their centers are \(8\) units apart. Classify their intersection.

Practice 9: Collinear Overlap

On a common horizontal line, one segment spans

\[ x\in[1,6] \]

and another spans

\[ x\in[4,9]. \]

Find their overlap.

Practice 10: Why a Sign Change Can Fail

Explain why checking only for a sign change can miss the root of

\[ h(x)=(x-2)^2. \]

Practice Answers

Practice 1

Here,

\[ P=(0,0),\quad Q=(4,0),\quad \mathbf{r}=(1,2),\quad \mathbf{s}=(-1,1). \] \[ \mathbf{r}\times\mathbf{s} = 1(1)-2(-1)=3. \] \[ Q-P=(4,0). \] \[ t= \frac{(4,0)\times(-1,1)}{3} = \frac43. \]

Therefore,

\[ L_1\left(\frac43\right) = \left( \frac43, \frac83 \right). \] \[ \boxed{ \left( \frac43, \frac83 \right) }. \]

Practice 2

The direction vectors are parallel because

\[ (2,4)\times(1,2)=4-4=0. \]

Also,

\[ Q-P=(2,4), \]

which is itself a multiple of \((2,4)\). Therefore, the lines are

\[ \boxed{\text{collinear}}. \]

Practice 3

The first parameter satisfies

\[ 0\le\frac34\le1, \]

but

\[ \frac54>1. \]

Therefore,

\[ \boxed{\text{the segments do not intersect at that point}.} \]

Practice 4

The points are collinear, and \(3\) lies between \(1\) and \(5\) in both coordinates.

\[ \boxed{R\text{ lies on segment }PQ.} \]

Practice 5

Substitute \(y=4\):

\[ x^2+16=25. \] \[ x^2=9. \] \[ x=\pm3. \]

Therefore,

\[ \boxed{ (-3,4) \qquad\text{and}\qquad (3,4) }. \]

Practice 6

Substitute \(y=3\):

\[ x^2+9=9. \] \[ x^2=0. \] \[ x=0. \]

There is one intersection:

\[ \boxed{(0,3)}. \]

The line is tangent to the circle.

Practice 7

Set the equations equal:

\[ x^2=3x-2. \] \[ x^2-3x+2=0. \] \[ (x-1)(x-2)=0. \]

Thus \(x=1\) or \(x=2\). The corresponding \(y\)-values are \(1\) and \(4\).

\[ \boxed{ (1,1) \qquad\text{and}\qquad (2,4) }. \]

Practice 8

Since

\[ d=r_1+r_2=5+3=8, \]

the circles are

\[ \boxed{\text{externally tangent}}. \]

They share exactly one point.

Practice 9

The overlap begins at

\[ \max(1,4)=4 \]

and ends at

\[ \min(6,9)=6. \]

Therefore, the shared interval is

\[ \boxed{[4,6]}. \]

Practice 10

The function

\[ h(x)=(x-2)^2 \]

is nonnegative on both sides of \(x=2\).

It reaches zero at \(x=2\) but does not change sign. Therefore, a search that detects roots only by sign changes can miss this repeated root.

What to Remember

Intersection algorithms solve the same basic problem in many different forms: find points that satisfy the conditions of two geometric objects at once.

The computational habit is to separate geometry into representation, candidate generation, classification, and verification.

Where We Go Next

Line and curve intersection asks whether two geometric objects share a point. The next lesson reverses the perspective and asks whether a single point belongs to a larger bounded region.

Point-in-Region Tests develops methods for deciding whether a point lies inside, outside, or on the boundary of polygons and other spatial regions.