HomeCalculatorsMathVectorsVector Projection Calculator
Math calculator

Vector Projection Calculator

Vector projection of u onto v. Same engine as Vector. Zero v is invalid. Not a matrix. Not CAS. 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 · 10/10 declared partitions (magnitude, normalize, add, sub, dot, cross, angle, projection, triple, invalid-domain) · Matrix
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
The vector projection of u onto v.
Scope
Euclidean R²/R³
Verification
Engine tested · Specification checked · v1.6.1 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Core assurance · all published modes· View Manifest · CVP overview · Specification
Versions
Calculation 1.6.1 · CVP protocol 1.0.0-proposed · Evidence 2026-09-29.cross-product-hardening-iface2
Verification revision
2026-09-29.cross-product-hardening-iface2 · 7/7 property · digest 3e840b22dc12
Legacy regression
11/11 tests · Production surface contract 5/5
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 2/2 (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 · 9/9 invalid · 7/7 property · 6/6 cross-interface · 2/2 cross-calculator · 5/5 CVP contract · Manifest
Specification basis
  • ISO 80000-2:2019 Quantities and units — Mathematics
Specification basis
Evidence
3 legacy golden · 2 legacy boundary · legacy regression suite · 10/10 oracle-backed golden · 9/9 invalid · Artifact integrity PASS
This calculator CURRENT · Public schema 1.6.1 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.

Vector projectionproj_v u = ((u · v) / |v|²) v
Scalar factor(u · v) / |v|²
iSame engine as /vector. Default (2, 2, 0) onto (1, 0, 0) → (2, 0, 0). Not a second engine.

How to use

1

Enter u and v

uz and vz are optional and default to 0. v must not be zero. (2, 2) onto (1, 0) is (2, 0).

2

Read the projected vector

The result is parallel to v. Perpendicular u gives the zero vector. The scalar triple product is /calc/math/vector-triple.

Example calculations

Common configurations with formula and result.

ϟ

Onto the x-axis

u = (2, 2, 0), v = (1, 0, 0)

((2·1)/1) (1, 0, 0)
(2, 0, 0)
ϟ

Perpendicular

u = (0, 1, 0), v = (1, 0, 0)

(0/1) (1, 0, 0)
(0, 0, 0)

Vector Projection calculator specification

Version 1.6.1 · Engine tested

Calculation status

Review policy · Evidence

Definition
proj_v u = ((u · v) / |v|²) v. This page is mode=projection on math.vector. uz and vz default to 0. Zero v is invalid. Not a second engine. Not CAS.
What it calculates
The vector projection of u onto v.
Inputs
  • ux
  • uy
  • uz?
  • vx
  • vy
  • vz?
Outputs
  • px
  • py
  • pz
  • scale
Formula
proj_v u = ((u · v) / |v|²) v
Assumptions
  • Euclidean R²/R³
  • uz/vz default to 0
  • Result is parallel to v
  • Not a matrix
  • Not CAS
Units
  • length (consistent units)
Boundary conditions
  • missing ux, uy, vx, or vy → MISSING_REQUIRED_INPUT
  • zero v → INVALID_INPUT
  • unknown mode → INVALID_MODE
Example
u=(2,2,0) v=(1,0,0) → (2, 0, 0)
Validation cases

3 published on this page · 11/11 tests · Production surface contract 5/5 · View evidence

  • ux=2 uy=2 vx=1 vy=0 → px=2 py=0 pz=0
  • ux=0 uy=1 vx=1 vy=0 → px=0 py=0 pz=0
  • ux=1 uy=0 vx=0 vy=0 → INVALID_INPUT
Specification basis
  • ISO 80000-2:2019 Quantities and units — Mathematics
Calculation version
1.6.1

Frequently asked questions

Key distinctions behind the calculation.

Is this a second vector engine?

No. It is mode=projection on math.vector, the same engine as /calc/math/vector.

Is this the scalar projection?

This page returns the vector proj_v u. The scalar factor is (u · v) / |v|², also in the result as scale.

What if v is zero?

Cannot project onto the zero vector. The engine returns INVALID_INPUT.

Where does this run?

Locally in the browser by default. REST and MCP call the same vector engine.