 # node-trilateration

Node module performing trilateration calculations.

## Stats

StarsIssuesVersionUpdatedCreatedSize
node-trilateration
1.0.07 years ago7 years ago node-trilateration
A simple solution to the trivial problem of trilateration.

## Problem

You've got three beacons, their distances to your device and you want to calculate the device's position.

## Theory

Suppose we have three circles, which centers are the positions of beacon. The radius equals to the distances of the beacons. Let the circles be A, B, and C.
Each circle's formula would look like this: Substracting two circles would give a linear equation, which crosses their two intersections: Calculating the intersection of two of these linear equations give the x-value of the devices position in between the beacons. This value can then be inserted in one of the two linear equations to get the corresponding y-value.

## Installation

``npm install trilateration``

## Usage

``````var trilateration = require('node-trilateration');

# Creating three beacons
var beacons = [
{x: 2, y: 4, distance: 5.7},
{x: 5.5, y: 13, distance: 6.8},
{x: 11.5, y: 2, distance: 6.4}
];

# Start Calculation
var pos = trilateration.calculate(beacons);

console.log("X: " + pos.x + "; Y: " + pos.y); // X: 7; Y: 6.5``````

## API

### function calculate(Beacons)

Starts the calculation of the position and returns a vector for your device's position.