HomeCalculatorsMathAnalytic GeometryLine Intersection Calculator
Math calculator

Line Intersection Calculator

Intersect two infinite planar lines defined by points. Distinguish unique, parallel and coincident results; inspect numerical limits, figures and full exports.

Instant result
Result
—

Enter values to calculate.

Inputs—
Mode—
Formula—
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes
Input interpretation
Enter values to calculate.
Result
—
Verified scope
all published modes
Assurance
Core
Declared partition coverage
PASS · 8/8 declared partitions (distance, midpoint, slope, line, point-line, intersect, angle, invalid-domain) · Matrix
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
The intersection of two plane lines, each given by two distinct points, with an engine-linked figure of the two lines.
Scope
Euclidean plane
Verification
Engine tested · Source checked · v1.8.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
Versions
Calculation 1.8.0 · CVP protocol 1.0.0-proposed · Evidence 2026-10-29.math-uuce-fields-v1
Verification revision
2026-10-29.math-uuce-fields-v1 · 3/3 property · digest 93ec4c6ee843
Legacy regression
21/21 tests · Production surface contract 6/6
Trust layers
Verification VERIFIED · Production CURRENT · Overall CVP state: VERIFIED under CVP 1.0.0-proposed
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 1/1 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Not performed
Named expert review
Not performed
CVP suite
309/309 golden · 4/4 CVP boundary · 12/12 invalid · 3/3 property · 12/12 metamorphic · 4/4 cross-interface · 2/2 cross-calculator · 6/6 CVP contract · Manifest
Sources
Sources
Evidence
8 legacy golden · 3 legacy boundary · legacy regression suite · 309/309 oracle-backed golden · 12/12 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.8.0 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

DeterminantΔ = A₁B₂ − A₂B₁
Pointx = (B₁C₂ − B₂C₁)/Δ, y = (C₁A₂ − A₁C₂)/Δ
Line from two pointsA = y₂ − y₁, B = x₁ − x₂, C = x₂ y₁ − y₂ x₁
iSame engine as /coordinate-geometry. Two-point line stays on /line-equation. Point-to-line distance stays on /point-line-distance. Not CAS.

How to use

1

Enter the first line as two distinct points

(0, 0) and (2, 2) is y = x.

2

Enter the second line as two distinct points

(0, 2) and (2, 0) is y = 2 − x. They meet at (1, 1).

Example calculations

Common configurations with formula and result.

ϟ

Crossing

(0, 0)–(2, 2) and (0, 2)–(2, 0)

Δ ≠ 0
(1, 1)
ϟ

Parallel

(0, 0)–(2, 0) and (0, 1)–(2, 1)

Δ = 0
∅
ϟ

Vertical ∩ horizontal

(2, 0)–(2, 5) and (0, 3)–(4, 3)

x = 2, y = 3
(2, 3)

Line Intersection calculator specification

Version 1.8.0 · Engine tested

Calculation status

Review policy · Evidence

Definition
Two lines A₁x + B₁y + C₁ = 0 and A₂x + B₂y + C₂ = 0 meet at one point when A₁B₂ − A₂B₁ ≠ 0, are parallel and empty when that determinant is 0 and the lines differ, and coincide when they are the same line. This page is mode=intersect on math.geometry.coordinate. Each line is two distinct points. Not a second engine. Not Pythagorean. Not CAS.
What it calculates
The intersection of two plane lines, each given by two distinct points, with an engine-linked figure of the two lines.
Inputs
  • x1
  • y1
  • x2
  • y2
  • x3
  • y3
  • x4
  • y4
Outputs
  • status
  • x
  • y
  • standard1
  • standard2
Formula
A₁x + B₁y + C₁ = 0 ∩ A₂x + B₂y + C₂ = 0
Assumptions
  • Euclidean plane
  • Two distinct points per line
  • Not 3-D / spherical
  • Not Pythagorean
  • Not CAS
Units
  • length (consistent units)
Boundary conditions
  • missing coordinates → MISSING_REQUIRED_INPUT
  • coincident points on a line → INVALID_INPUT
  • parallel distinct → status=empty
  • same line → status=coincident
  • unknown mode (including cas, pythagorean) → INVALID_MODE
Example
x1=0 y1=0 x2=2 y2=2 x3=0 y3=2 x4=2 y4=0 → (1, 1)
Validation cases

2 published on this page · 21/21 tests · Production surface contract 6/6 · View evidence

  • x1=0 y1=0 x2=2 y2=2 x3=0 y3=2 x4=2 y4=0 → (1, 1)
  • mode=cas x1=0 y1=0 x2=2 y2=2 x3=0 y3=2 x4=2 y4=0 → INVALID_MODE
Sources
  • ISO 80000-2:2019 Quantities and units — Mathematics
    Supports: Mathematical symbols and notation. This standard is not numerical verification or an endorsement of this implementation.
  • Margaret Stevens — The Maths Workbook (University of Oxford) — Chapter 2, §3: Linear Functions; Chapter 1, §4: Simultaneous Equations
    Supports: Linear-function slopes and point-slope equations, and simultaneous linear equations in two variables. Line intersection is the corresponding system solution; vertical lines use an implicit rather than finite-slope representation. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.
Calculation version
1.8.0

Background

Interpretation and common distinctions.

What does this line intersection calculator compute?

Two lines A₁x + B₁y + C₁ = 0 and A₂x + B₂y + C₂ = 0 meet at one point when A₁B₂ − A₂B₁ ≠ 0, are parallel and empty when that determinant is 0 and the lines differ, and coincide when they are the same line.

The published formula or method is A₁x + B₁y + C₁ = 0 ∩ A₂x + B₂y + C₂ = 0. The following references support the stated mathematics or method:

  • Margaret Stevens — The Maths Workbook (University of Oxford): Linear-function slopes and point-slope equations, and simultaneous linear equations in two variables. Line intersection is the corresponding system solution; vertical lines use an implicit rather than finite-slope representation. Mathematical reference only; not implementation validation or an endorsement of CalculatorX.

Which inputs and limits should you check?

Keep both points and line coefficients in the same coordinate system. Parallel, coincident, or degenerate lines require their own result classifications.

The worked example uses (0, 0)–(2, 2) and (0, 2)–(2, 0) with Δ ≠ 0. Compare it with the Example calculations and the complete result for the same inputs.

How can you verify and cite this result?

CalculatorX is responsible for this page. The mathematical references above explain the model; implementation checks and their scope are documented separately in the math.geometry.coordinate v1.8.0 Evidence and capability contract. Read the displayed verification and production state together with the specification's numerical limits.

Use the clean calculator URL to cite the tool. A shared input link identifies a particular calculation. Content updates, numerical verification, and domain reviews have separate dates and scopes.

Numerical domain and interpretation

Coordinates are Cartesian values in one consistent length unit. Inputs accept finite decimal numbers or decimal strings; nonzero coordinates and published numeric outputs must be normal binary64 (absolute value at least 2⁻¹⁰²²). Nonzero text that converts to zero is rejected as NUMERIC_UNDERFLOW. NUMERIC_RANGE means translate or rescale your inputs. Explicit empty fields are errors, not defaults.

All seven operations use the same engine. Distance and midpoint allow identical points; slope and line operations require distinct defining points. A vertical line has null slope and intercept. Intersections concern infinite lines, not segments: parallel distinct lines return empty, coincident lines return coincident, and both have null intersection coordinates.

Exact dyadic predicates classify the normalized binary64 directions without an absolute geometric epsilon. The principal undirected angle is atan2(|d₁×d₂|, |d₁·d₂|), in [0°,90°], with radians also available. A rounded angle of90° does not itself imply an exact perpendicular classification. Nearly parallel lines are sensitive to input rounding; exact predicates do not recover decimal information lost before computation. Typical well-conditioned scalar comparisons use relative2e−12; no input perturbation or intersection-position bound is claimed.

Line coefficients use integer gcd only for exact safe integers; otherwise they share a power-of-two normalization and canonical sign. Display equations are floating presentations. The uniformly scaled figure is schematic; close labels may merge, and an unrepresentable plotting range is explicitly omitted. Complete numerical results and raw supplied inputs are available in exports.

Browser calculations run locally. A shared URL sends its parameters to the server and may appear in service logs; REST/MCP also send inputs. This page makes no claim about a fixed log retention period or processing region.

Frequently asked questions

Key distinctions behind the calculation.

Is this a second coordinate engine?

No. It is mode=intersect on math.geometry.coordinate, the same engine as /calc/math/coordinate-geometry.

What if the lines are parallel?

Distinct parallel lines return ∅ (status=empty). The same line twice returns ∞ (status=coincident).

What if a pair of points coincides?

That pair does not determine a unique line. The engine returns INVALID_INPUT.