Languages
[Edit]
EN

JavaScript - how to calculate distance between two points with Pythagorean equation?

14 points
Created by:
JustMike
3515

Quick solution:

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

Quick example:

// ONLINE-RUNNER:browser;

var a = 3 - 1;
var b = 3 - 1;
var distance = Math.sqrt(a * a + b * b);

console.log(distance); // 2.8284271247461903

1. Overview

Distance calculation between two points is possible with 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 => c = sqrt(a^2 + b^2)

a = |x2 - x1|

b = |y2 - y1|

c = sqrt(|x2 - x1|^2 + |y2 - y1|^2)

what can be transformed to:

c = sqrt((x2 - x1)^2 + (y2 - y1)^2)

distance beetwen P1 and P2 is equal to c

Note: absolute value of a and b can be avoided because of squares inside Pythagorean equation - squares remove minuses.

Pythagorean equation in JavaScript.
Pythagorean equation in JavaScript.

Example calculations:

a = |x2 - x1| = |3 - 7| = 4

b = |y2 - y1| = |5 - 2| = 3

c = sqrt(4^2 + 3^2) = sqrt(16 + 9) = sqrt(25) = 5

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;

    return Math.sqrt(a * a + b * b);
}

// Example:

var p1 = {x: 7, y: 2};
var p2 = {x: 3, y: 5};

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;

    return Math.hypot(a, b);
}

// Example:

var p1 = {x: 7, y: 2};
var p2 = {x: 3, y: 5};

var distance = calculateDistance(p1, p2);

console.log(distance);

See also

  1. JavaScript - how to calculate distance between two points in 3D space?
Hey 👋
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.