16 lines
608 B
JavaScript
16 lines
608 B
JavaScript
import { isPoint } from "./is-point";
|
|
import { isPoint3D } from "./is-point-3d";
|
|
import { isNum } from "./inc";
|
|
const distance1D = (a, b) => Math.abs(a - b);
|
|
export function distance(a, b) {
|
|
if (isNum(a) && isNum(b)) {
|
|
return distance1D(a, b);
|
|
}
|
|
else if (isPoint(a) && isPoint(b)) {
|
|
const xDelta = distance1D(a.x, b.x);
|
|
const yDelta = distance1D(a.y, b.y);
|
|
const zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0;
|
|
return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2));
|
|
}
|
|
}
|
|
//# sourceMappingURL=distance.js.map
|