HomeCalculatorsMathAnalytic GeometryAngle Between Lines Calculator
Math calculator

Angle Between Lines Calculator

Find the smaller angle between two 2D lines, each defined by two points. Parallel or coincident lines give 0°; perpendicular lines give 90°. Runs locally.

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 smaller (principal) angle between two plane lines, each given by two distinct points, with an engine-linked figure of that angle.
Scope
Euclidean plane
Verification
Engine tested · Specification checked · v1.5.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
Versions
Calculation 1.5.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-22.geometry-cvp
Verification revision
2026-09-22.geometry-cvp · 3/3 property · digest c0f46759e9a3
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
10/10 golden · 4/4 CVP boundary · 8/8 invalid · 3/3 property · 4/4 cross-interface · 2/2 cross-calculator · 6/6 CVP contract · Manifest
Specification basis
  • ISO 80000-2:2019 Quantities and units — Mathematics
Specification basis
Evidence
8 legacy golden · 3 legacy boundary · legacy regression suite · 10/10 oracle-backed golden · 8/8 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.5.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.

Principal angleθ = arccos(|A₁A₂ + B₁B₂| / (√(A₁²+B₁²) √(A₂²+B₂²)))
Range0° ≤ θ ≤ 90°
Line from two pointsA = y₂ − y₁, B = x₁ − x₂, C = x₂ y₁ − y₂ x₁
iSame engine as /coordinate-geometry. Intersection stays on /line-intersection. Two-point line stays on /line-equation.

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, 0) and (2, 0) is y = 0. The principal angle is 45°.

Example calculations

Common configurations with formula and result.

ϟ

45°

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

arccos(1/√2)
45°
ϟ

Perpendicular

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

n₁ · n₂ = 0
90°
ϟ

Parallel

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

Δ = 0
0°

Angle Between Lines calculator specification

Version 1.5.0 · Engine tested

Calculation status

Review policy · Evidence

Definition
The principal angle θ between two undirected lines A₁x + B₁y + C₁ = 0 and A₂x + B₂y + C₂ = 0 is arccos(|A₁A₂ + B₁B₂| / (√(A₁²+B₁²) √(A₂²+B₂²))), in [0°, 90°]. For oblique lines this is the acute angle. This page is mode=angle on math.geometry.coordinate. Each line is two distinct points. Parallel and coincident lines are 0°. Perpendicular lines are 90°.
What it calculates
The smaller (principal) angle between two plane lines, each given by two distinct points, with an engine-linked figure of that angle.
Inputs
  • x1
  • y1
  • x2
  • y2
  • x3
  • y3
  • x4
  • y4
Outputs
  • angle_deg
  • angle_rad
  • status
  • supplement_deg
  • standard1
  • standard2
Formula
θ = arccos(|A₁A₂ + B₁B₂| / (√(A₁²+B₁²) √(A₂²+B₂²)))
Assumptions
  • Euclidean plane
  • Two distinct points per line
  • Undirected lines (principal angle in [0°, 90°])
  • Not 3-D / spherical
  • Not Pythagorean
  • Not CAS
Units
  • degree
  • radian
Boundary conditions
  • missing coordinates → MISSING_REQUIRED_INPUT
  • coincident points on a line → INVALID_INPUT
  • parallel distinct → status=parallel, 0°
  • same line → status=coincident, 0°
  • unknown mode (including cas, pythagorean) → INVALID_MODE
Example
x1=0 y1=0 x2=2 y2=2 x3=0 y3=0 x4=2 y4=0 → 45°
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=0 x4=2 y4=0 → 45°
  • mode=cas x1=0 y1=0 x2=2 y2=2 x3=0 y3=0 x4=2 y4=0 → INVALID_MODE
Specification basis
  • ISO 80000-2:2019 Quantities and units — Mathematics
Calculation version
1.5.0

Frequently asked questions

Key distinctions behind the calculation.

Is this a second coordinate engine?

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

Is the result the acute angle?

For oblique lines, yes. The principal line angle is always in [0°, 90°]. 0° is parallel or coincident, not acute. 90° is a right angle, not acute. The supplement is 180° − θ.

What if a pair of points coincides?

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