HuntsvilleEngineers mark
HE Reference Shelf — huntsvilleengineers.com
The Reference Shelf · Geometry & Mechanics

Lines and planes in space

The two equations that let you tell a machine exactly where a straight edge or a flat surface sits in 3D — a point plus a direction for the line, a point plus a normal for the plane.

Also known as: analytic geometry of lines and planes · plane equation · line equations

The formula (the core equation(s), each with a one-line reading of what it says)

Line (parametric):   r(t) = P₀ + t·v

Reads: start at point P₀, walk along direction v; the parameter t is how far you've walked. Every point on the line is one value of t.

Line (symmetric form):   (x − x₀)/a = (y − y₀)/b = (z − z₀)/c

Reads: the same line with t eliminated — each coordinate's offset from P₀, scaled by its share of the direction (a, b, c), must agree.

Plane:   n·(r − r₀) = 0   →   a·x + b·y + c·z = d

Reads: a point r is on the plane when its offset from a known point r₀ is perpendicular to the normal n = (a, b, c). The constant d = n·r₀ sets where along the normal the plane sits.

Normal from three points:   n = (B − A) × (C − A)

Reads: two edge vectors of the triangle ABC, crossed, give a vector perpendicular to both — the plane's normal, with length twice the triangle's area.

Line–plane intersection:   t* = (d − n·P₀) / (n·v)

Reads: plug the parametric line into the plane equation and solve for t. The denominator n·v measures how head-on the line meets the plane; zero means parallel.

Angles:   cos θ = (n₁·n₂)/(|n₁||n₂|)      sin φ = |n·v| / (|n||v|)

Reads: the dihedral angle between two planes comes from their normals with a cosine; the angle between a line and a plane comes from the normal and the direction with a sine, because it's measured from the surface, not from the normal.

Two planes intersect in a line:   direction u = n₁ × n₂

Reads: the intersection line lies in both planes, so it's perpendicular to both normals — the cross product hands you its direction.

Where you meet it (2-4 concrete engineering situations, specific: bench, test stand, review board)

Setting the work plane on a CMM or 5-axis machine. Probe three points on the fixture pad, cross two edge vectors, and the machine has its datum plane — every subsequent measurement is reported relative to that n and d. The G-code toolpath itself is a chain of parametric line segments: r(t) = P₀ + t·v, t swept by the controller. When a part measures fine on one machine and out on another, the first suspect is which three points each operator probed.

Laser tracker alignment on the integration floor. The beam is a line in space — origin at the tracker head, unit direction from two angular encoder readings. Where it lands on a mating surface is the line–plane intersection formula, evaluated thousands of times per alignment session. Boresighting a seeker, leveling an engine on its transporter, squaring an antenna pedestal: all of it is this one equation with different nouns.

The interface control document at the review board. "Surface A flat within 0.1, perpendicular to datum B within 0.05" is a claim about a plane equation. The angularity number the board argues over is the dihedral angle between two fitted planes — and a 0.5° disagreement between fitted normals is a 3.5 mm rise across a 400 mm interface. The datum axis everyone references is the intersection line of two datum planes: u = n₁ × n₂.

Every ray trace. Radar line-of-sight to a ground plane, optical rays through a fold-mirror train, a lidar return hitting a target facet — each bounce is one line–plane intersection. Graphics cards do billions of these per second, but the equation on the whiteboard is the same one.

How it works (the real substance — behavior, gotchas, limits of validity, the mistake people make)

The bookkeeping to internalize: a line in 3D carries one degree of freedom, a plane carries two, and a single linear equation removes exactly one. So ax + by + cz = d in three dimensions is a plane, never a line — the y = mx + b habit from 2D does not survive the trip. A 3D line needs either the parametric form (one parameter in, three coordinates out) or two simultaneous plane equations (three unknowns, two constraints, one degree of freedom left). Writing "the equation of the line" as a single linear equation in x, y, z is the classic first-week error, and it resurfaces in code reviews decades after the class that should have killed it.

Keep the two defining vectors straight. A line is owned by its direction vector v, which lies along it; a plane is owned by its normal vector n, which sticks out of it. Both are defined only up to scale — 2x + y + 2z = 5 and 4x + 2y + 4z = 10 are the same plane — so normalize before you interpret any dot product as a distance or a cosine. That's the Hesse convention: divide through by |n| once, and the plane equation evaluated at any point becomes the signed distance to the plane, positive on the normal side. Worked check: for the plane 2x + y + 2z = 5 (|n| = 3) and the line from P₀ = (1, 0, 0) along v = (1, 1, 1), you get n·v = 5, n·P₀ = 2, so t* = (5 − 2)/5 = 0.6 and the hit point is (1.6, 0.6, 0.6). Substitute back: 3.2 + 0.6 + 1.2 = 5. If your implementation doesn't reproduce that, it's wrong.

Two failure modes deserve respect. First, grazing incidence. The intersection formula divides by n·v, and as the line flattens toward the plane the answer runs away: a beam meeting a surface 5° above it amplifies any lateral or angular error by 1/sin 5° ≈ 11.5×, and at 1° by about 57×. A tracker shot that skims a surface produces a beautiful, precise, useless number. Re-aim, or intersect against a different reference.

Second, the sliver triangle. The three-point normal (B−A) × (C−A) degrades as the points approach collinear, because the cross product's magnitude is twice the triangle's area and a skinny triangle has almost none. Probe three points 100 mm apart along one edge but only 0.1 mm apart across it, add 0.05 mm of probe noise on one point, and the computed normal tilts by 26° — atan(0.05/0.1). The fix is procedural, not mathematical: spread the probe points into the fattest triangle the surface allows, or better, take twenty points and least-squares fit the plane.

Then there is the honest 3D novelty: skew lines. In the plane, two lines either cross or are parallel. In space the generic pair does neither — they miss each other. Two lines through A along u and through B along w intersect only when the scalar triple product (B − A)·(u × w) equals zero (in floating point: within a tolerance you chose on purpose). Assume intersection without checking and you'll compute a "crossing point" that exists on neither line. And remember these formulas describe infinite lines and planes; a real harness segment or a finite pad needs a range check on t before the answer means anything.

One more sign-level trap: the line–plane angle uses sine, not cosine, because convention measures it from the surface up. Feed acos where asin belongs and every angle report is the complement of the truth — 5° becomes 85°, which has slipped through more than one alignment procedure before hardware disagreed.

History (who derived it and when, told as a short story with inline [n] citations)

Coordinates were born flat. Descartes published La Géométrie in 1637 as an appendix to the Discours de la méthode [1][2], and Fermat's manuscript treatment was circulating in Paris the same year [2]; between them, curves in a plane became equations. Space waited nearly a century for a teenager. Alexis Clairaut worked out the geometry of "curves of double curvature" — space curves, described by coordinates — by 1729, at sixteen; the treatise was published in 1731 and got him elected to the Paris Academy of Sciences at eighteen, under the legal age [3][4].

Leonhard Euler made it systematic. The second volume of his Introductio in analysin infinitorum (1748) carried analytic geometry into two and three dimensions, cataloguing the second-order surfaces — ellipsoids, paraboloids, hyperboloids — as equations [5][2]. Wikipedia's history credits Euler as the first to apply the coordinate method to a systematic study of space curves and surfaces [2]; the plane itself he treated almost in passing, as something too obvious to dwell on.

The engineer's version came from Gaspard Monge. A military engineer who invented descriptive geometry to solve fortification problems, Monge began teaching at the École Polytechnique at its founding in 1794 [6], and his lecture sheets — Feuilles d'analyse appliquée à la géométrie, first issued in 1795 — laid out the algebra of three-dimensional geometry for engineering students, later expanded into Application de l'analyse à la géométrie [6][7][8]. Point, line, plane, distance, angle, projection: the curriculum this entry summarizes is, at its skeleton, Monge's course.

Two later upgrades matter to practitioners. Julius Plücker spent his last years building a geometry in which the straight line, not the point, is the basic element of space; the first part of Neue Geometrie des Raumes appeared in 1868, and after Plücker's death in 1868 his assistant Felix Klein completed the second part, publishing it in 1869 [9]. The six-number line coordinates that grew out of that program now route rays in graphics engines and describe screws and wrenches in robot kinematics [10]. And the notation on every whiteboard — n·r, u × v — is younger than the railroads: Gibbs and Heaviside distilled it from quaternions in the 1880s, and the 1901 Gibbs–Wilson Vector Analysis fixed the symbols engineers still write [11].

Related tools (bullet list of HE calculator slugs that use or neighbor this topic, as /tools/ links)

  • /tools/fresnel-zone — the link's direct ray is a parametric line; clearance checks hang geometry on it
  • /tools/radar-horizon — line-of-sight as a straight ray against the Earth, the field-scale version of line–surface intersection
  • /tools/convert-angle — dihedral and angularity results arrive in whichever unit the fitting software liked; convert before comparing to the drawing
  • /tools/convert-length — n, d, and every coordinate must share one unit system or the plane equation lies

Sources

  1. https://mathshistory.st-andrews.ac.uk/Biographies/Descartes/
  2. https://en.wikipedia.org/wiki/Analytic_geometry
  3. https://mathshistory.st-andrews.ac.uk/Biographies/Clairaut/
  4. https://en.wikipedia.org/wiki/Alexis_Clairaut
  5. https://en.wikipedia.org/wiki/Introductio_in_analysin_infinitorum
  6. https://mathshistory.st-andrews.ac.uk/Biographies/Monge/
  7. https://www.britannica.com/topic/Feuilles-danalyse-appliquee-a-la-geometrie
  8. https://www.encyclopedia.com/science/encyclopedias-almanacs-transcripts-and-maps/gaspard-monge
  9. https://mathshistory.st-andrews.ac.uk/Biographies/Plucker/
  10. https://en.wikipedia.org/wiki/Pl%C3%BCcker_coordinates
  11. https://en.wikipedia.org/wiki/Vector_calculus

Written by HE in our own words from the cited sources — engineering judgment included, your stamp still required. All entries →

★ The Reference Shelf

Reading is free. The shelf is for cardholders.

Your library card is an email address: pin it to your shelf, print the card, take the FE/PE quick-reference pack, read the Huntsville history. The shelf remembers what you reach for.

Already on the list? Enter with your subscribed email →