EN

# JavaScript - how to calculate distance between two points in 3D space?

5
points

Quick solution:

```
// P1 = (x1, y1, z1); P2 = (x2, y2, z2)
var a = x2 - x1;
var b = y2 - y1;
var c = z2 - z1;
var distance = Math.sqrt(a * a + b * b + c * c);
```

Â

## 1. Overview

Distance calculation between two points is possible with midifiedÂ Pythagorean equation. In this article, example how to calculate the distance is presented.

## 2. Mathematical theorem for coordinateÂ system

Distance calculation for pointsÂ requires to start with transformation of Pythagorean equation to point version.

```
a^2 + b^2 + c^2 = d^2 => d = sqrt(a^2 + b^2 + c^2)
P1 = (x1, y1, z1); P2 = (x2, y2, z2)
a = |x2 - x1|
b = |y2 - y1|
c = |z2 - z1|
d = sqrt(|x2 - x1|^2 + |y2 - y1|^2 + |z2 - z1|^2)
```

what can be transformed to:

```
d =Â sqrt((x2 - x1)^2 + (y2 - y1)^2 + (z2 - z1)^2)
Distance between P1 and P2 is equal to d.
```

Note:absolute valuesÂ can be avoided because of squares inside Pythagorean equation - squares removeÂ minuses.

Example calculations:

```
P1 = (7, 2, 3); P2 =Â (3, 5, 8)
a = |x2 - x1| = |3 - 7| = 4
b = |y2 - y1| = |5 - 2| = 3
c = |z2 - z1| = |8Â - 3| = 5
d =Â sqrt(4^2 + 3^2 + 5^2) =Â sqrt(16 + 9 + 25) = sqrt(50)
d = 7.071067811865475
```

## 3. JavaScript custom distance functionÂ example

```
// ONLINE-RUNNER:browser;
function calculateDistance(p1, p2) {
var a = p2.x - p1.x;
var b = p2.y - p1.y;
var c = p2.z - p1.z;
return Math.sqrt(a * a + b * b + c * c);
}
// Example:
var p1 = {x: 7, y: 2, z: 3};
var p2 = {x: 3, y: 5, z: 8};
var distance = calculateDistance(p1, p2);
console.log(distance);
```

## 4. Math.hypot method example

Note:

`Math.hypot`

has been introduced inÂECMAScript 2015.

```
// ONLINE-RUNNER:browser;
function calculateDistance(p1, p2) {
var a = p2.x - p1.x;
var b = p2.y - p1.y;
var c = p2.z - p1.z;
return Math.hypot(a, b, c);
}
// Example:
var p1 = {x: 7, y: 2, z: 3};
var p2 = {x: 3, y: 5, z: 8};
var distance = calculateDistance(p1, p2);
console.log(distance);
```