Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

Recipe

Classify a pair of lines in R3

Use when: you have two lines in \mathbb{R}^3, each given as \mathbf p_0 + t\mathbf d, and need to know whether they're parallel, intersecting, or skew

Goal: a definite classification — parallel (same or distinct), intersecting, or skew — plus the meeting point when one genuinely exists

Taught in Lines in R3, and skew lines

  1. 1

    Compare \mathbf d and \mathbf e entry by entry: they're parallel exactly when \mathbf d = k\mathbf e for one single scalar k that works in every slot at once. A zero in one direction's slot has to be matched by a zero in the other's — no scalar multiple of a nonzero number is ever zero.

    Example

    \mathbf d=(1,0,1) and \mathbf e=(0,1,-1): \mathbf d has a 0 in the middle slot, but \mathbf e's middle slot is 1. No scalar k satisfies 0=k\cdot1 except k=0, and k=0 would also force \mathbf d's other entries to 0, which they aren't. So no single k works — the directions are not parallel.

    • the directions ARE parallel — go to Step 2 to test whether the lines coincide.
    • the directions are NOT parallel — skip Step 2 and go straight to Step 3; only intersecting or skew remain possible.

    Why: two directions are parallel exactly when one is a scalar multiple of the other; ruling this out (or in) first decides which branch of the procedure to follow next.

  2. 2

    Compute \mathbf q_0 - \mathbf p_0 (the vector between the two named points) and check whether it, too, is a scalar multiple of \mathbf d.

    • \mathbf q_0-\mathbf p_0 is a multiple of \mathbf d — same line, infinitely many shared points; stop here.
    • \mathbf q_0-\mathbf p_0 is not a multiple of \mathbf d — distinct parallel lines, no shared points, ever; stop here.

    Why: two parallel lines coincide exactly when the vector joining any point of one to any point of the other lies along the shared direction; otherwise they run alongside each other forever without ever touching.

  3. 3

    Write \mathbf p_0+t\mathbf d = \mathbf q_0+u\mathbf e as three separate scalar equations, one per coordinate, in the two unknowns t and u.

    Example

    With \mathbf p_0=(1,2,3), \mathbf d=(1,0,1), \mathbf q_0=(2,2,4), \mathbf e=(0,1,-1): x:\ 1+t = 2 \qquad y:\ 2 = 2+u \qquad z:\ 3+t = 4-u

    Why: a shared point has to satisfy all three coordinates simultaneously for some pair (t,u) — this is just that requirement written out.

  4. 4

    Pick the two equations that are easiest to solve (often the ones where a variable already stands alone) and solve them together for t and u.

    Example

    The x-equation gives t=1 immediately; the y-equation gives u=0 immediately. No simultaneous solving even needed here.

    Why: two equations in two unknowns generically pin down one (t,u) pair — but with three equations total, this pair is only a candidate until the leftover equation confirms it.

  5. 5

    Substitute the (t,u) found in Step 4 into the one equation not yet used. If it holds, the lines meet there; if not, they don't meet anywhere.

    Example

    Check z: left side 3+t=3+1=4; right side 4-u=4-0=4. They agree, so (t,u)=(1,0) satisfies all three coordinates at once. Substituting t=1 into \mathbf r(t) gives the meeting point (2,2,4) — the same point u=0 gives back in \mathbf s(u).

    • the third equation holds — genuine intersection; report the point.
    • the third equation fails — the directions were non-parallel with no common point, so the lines are skew.

    Why: three equations in two unknowns is generically overdetermined, so agreement on two coordinates is not yet proof of a shared point — only the third equation confirms it, or rules it out.

Common mistakes

  • Declaring two lines parallel from matching just one or two coordinates of the direction vectors instead of checking that a single k works for every slot at once.
  • Skipping Step 1 and jumping straight to solving equations — when the directions ARE parallel, the "solve two, check the third" method can look inconclusive for reasons that have nothing to do with intersecting versus skew.
  • Treating a zero entry in a direction vector as "don't care" instead of requiring the matching entry in the other direction to be zero too.
  • Finding a (t,u) pair that satisfies two of the three equations and stopping there, without checking the third.
  • Reusing the same letter for both lines' parameters, which hides that each line's parameter is independent and can (and usually does) take a different value at the meeting point.