Languages
[Edit]
PL

JavaScript - jak obliczyć odległość między dwoma punktami w przestrzeni 3D?

0 points
Created by:
Violetd
355

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. Przegląd

Obliczenie odległości między dwoma punktami jest możliwe za pomocą uśrednionego równania Pitagorasa. W tym artykule przedstawiono przykład obliczania odległości.

2. Twierdzenie matematyczne o układzie współrzędnych

Obliczenie odległości dla punktów wymaga rozpoczęcia transformacji równania Pitagorasa na wersję punktową.

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)

co można przekształcić w:

d = sqrt((x2 - x1)^2 + (y2 - y1)^2 + (z2 - z1)^2)

Odległość pomiędzy P1 i P2 jest równa d.

Uwaga: wartości bezwzględnych można uniknąć ze względu na kwadraty w równaniu Pitagorasa - kwadraty usuwają minusy.

Przykładowe obliczenia:

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. Przykład funkcji niestandardowej odległości JavaScript

// 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);
}

// Przykład:

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. Przykład metody Math.hypot

Uwaga: Math.hypot zostało wprowadzone w 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);
}

// Przykład:

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

var distance = calculateDistance(p1, p2);

console.log(distance);

Zobacz również

  1. JavaScript - how to calculate distance between two points with Pythagorean equation?
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join